|
Hi,
I have written a bit of Code to talk to bit of hardware. All good I now having to document it for the records,
In the past I have worked on embedded and analogue test rigs which can be covered by a flowchart and a listing.
This will not work for a Windows program there is too much going on compared to a PIC or Atmel. Is there a way of creating the asked for without going mad? It can't be too odd as I think there must be other companies who need this...
|
|
|
|
|
Welcome to a reason I don't do desktop and server development anymore.
The truth is I've only ever done flow diagrams for embedded code.
To verify desktop applications, rather than design a flow diagram, I design a test matrix. My functional requirements basically dictate the tests.
If you really must diagram your software's behavior, you could use UML, but it won't make things easier, just more comprehensible because anyone with a UML background could understand it.
UML - Behavioral Diagram vs Structural Diagram[^]
Adding: To my mind this is the difference between programming realtime systems and programming non-realtime systems - realtime systems are predictable enough to diagram. As a rough rule of thumb anyway.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
[tl;dr]: Is RAID5 really causing such a huge performance hit?
I have a system (a Hyper-V VM host) with both eSATA and USB3.0 connectors.
I have a retired set of 8TB drives. I got myself a Mediasonic HFR2-SU3S2 PRORAID 4-drive enclosure, which can use either connector.
I love how trivial this enclosure's RAID setup is. I chose RAID5, so I have a total of 24TB worth of storage. Performance however makes it downright unusable. I could leave my VMs powered down overnight to back them up, but what I'm currently seeing could take days. Backing up a VM while it's running is just not a good idea (I use robocopy) so the VMs have to remain down while backing them up. That's not gonna fly during my workweek.
I made sure that, whether I'm using USB3 or eSATA, the "Better Performance" radio button is selected in Device Manager / Disk drives / [the RAID enclosure] / Properties / Policies.
Write operations hold steady at ~2.6MB/s. Active time is flat at 100%.
Same setup, but using eSATA instead, holds steady at ~5MB/s. Better, but still way below expectations. I'm questioning what my expectations should be.
The OS sees the RAID, not individual drives. On top of that, I use VeraCrypt to encrypt the entire RAID. I understand RAID involves some overhead, especially for Write operations--parity calculations would be done by the enclosure hardware, not my VM host's CPU. OTOH, VeraCrypt also introduces its own overhead, and that would be done by the host's CPU (which holds steady at ~3-4% when copying, so that's hardly the killer).
Before I got the RAID enclosure, I backed up the VMs onto a single external disk over USB3, and there was always plenty of time to do the whole thing overnight. I forget what I got in terms of transfer rate, but I'll be sure to pay attention the next time I do it - surely at least 10x the current performance. That single disk is also encrypted with VeraCrypt, so--unless I'm missing something--the only thing left that can account for the difference in transfer rate is the fact that the target drives are set up in a RAID, as opposed to transferring to a single drive.
My (somewhat rhetorical) question is: Really?
Does my diagnostic make sense? Is the fact that I'm backing up to a RAID the real performance killer? Everything is otherwise the same - both the RAID and my single external drive are connected via USB3, and using VeraCrypt.
Does it make sense at all that RAID5 kills performance to the extent I'm seeing?
What would you expect with a setup like this? I know I'll never get close to USB3's theoretical maximum throughput, but this is insane.
[The RAID isn't indicating any failure, and the last time I've used the drives individually, they were all working fine]
|
|
|
|
|
(Definitely didn't read the whole thing.)
When selecting a RAID level, you have to consider the ratio of reads to writes. Most situations have many more reads than writes and (if I recall correctly) RAID 5 is designed for that. But if your situation doesn't have so many reads, a different RAID level may provide better performance.
|
|
|
|
|
Well, I really only bought the RAID enclosure to maintain an extra backup set. I'm already backing up on single drives, but I had more than enough retired 8TB drives to make a RAID out of them. While I'll sacrifice capacity for performance, there's a limit to what I'll find acceptable. I thought RAID5 was a good compromise. Of course I'd never settle for a purely striped setup.
In theory, the only time I'll ever read back what I have on that RAID is if I my 'live' drives fail and need to restore from the backup. Otherwise the intend is to just re-sync (once a week?) what's different from my live drive back onto it (essentially incremental updates - robocopy's good at that).
At this point I'm thinking maybe I should just do my backups straight from my live drive, onto a single external drive, and then let the RAID bring itself up to date by syncing from the backup instead. Then it doesn't matter if that takes days, since that won't force me to have my VMs powered down when the extra backup is taking place...
|
|
|
|
|
First off, are you sure you've got RAID 5 selected? If you do, and you have 4 8TB drives, the total storage should be far less than 24TB. Depending on how the controller sets the mirrored slices, then you might only see 8 TB.
If the enclosure supports non-raid operation, I'd be tempted to try just one drive with no encryption, and see what transfer speed you get. If it's still poor, then that might suggest that the enclosure itself has poor transfer rates. You might also try it with the other drives, just in case one or more of them has some hardware issue that's slowing the whole thing down. If you get good transfer rates with a single drive, I'd move on to basic mirror (RAID-1), and see how that works out. Maybe try some of the other RAID configurations as available to see if there's a sweet spot that provides good transfer rates and protection from drive failure.
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown
|
|
|
|
|
Wordle 1,032 3/6
β¬β¬π©π©β¬
π©β¬π©π©β¬
π©π©π©π©π©
|
|
|
|
|
Wordle 1,032 5/6
β¬π¨β¬π¨β¬
π©β¬π©π©β¬
π©β¬π©π©π©
π©β¬π©π©π©
π©π©π©π©π©
|
|
|
|
|
Wordle 1,032 3/6
🟨β¬β¬🟩β¬
β¬🟩🟩🟩🟩
🟩🟩🟩🟩🟩
Ok, I have had my coffee, so you can all come out now!
|
|
|
|
|
Wordle 1,032 3/6*
π¨β¬β¬π¨β¬
π©β¬π©π©β¬
π©π©π©π©π©
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
β¬β¬π©π©β¬
β¬β¬π©π©β¬
π©π©π©π©π©
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 1,032 4/6
π¨β¬β¬β¬β¬
β¬π¨π¨β¬π¨
π©β¬π©π©β¬
π©π©π©π©π©
|
|
|
|
|
(16. April 2024) 4/6
β¬β¬β¬β¬π©
β¬β¬β¬β¬π©
β¬π©β¬π©π©
π©π©π©π©π©
Rules for the FOSW ![ ^]
MessageBox.Show(!string.IsNullOrWhiteSpace(_signature)
? $"This is my signature:{Environment.NewLine}{_signature}": "404-Signature not found");
|
|
|
|
|
Wordle 1,032 4/6*
π©β¬π©β¬β¬
π©β¬π©β¬β¬
π©β¬π©β¬β¬
π©π©π©π©π©
Happiness will never come to those who fail to appreciate what they already have. -Anon
And those who were seen dancing were thought to be insane by those who could not hear the music. -Frederick Nietzsche
|
|
|
|
|
Wordle 1,032 5/6
β¬β¬β¬π©π¨
π©β¬β¬π©β¬
π©β¬π©π©π©
π©β¬π©π©π©
π©π©π©π©π©
I must confess my mind was in quite another place with those earlier two guesses
|
|
|
|
|
Wordle 1,032 3/6
π©β¬π©β¬β¬
π©π©π©β¬β¬
π©π©π©π©π©
|
|
|
|
|
|
jschell wrote: self driving car
How many humans do you know who always drive safely, and according to the traffic regulations? If the cars learn from us...
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
In 30 years it will be deliberately obscuring its expired tabs and driving without insurance.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Why bother, in St. Louis, Missouri, it is a game to have [overly] expired tags. I recently went to a park and viewed 8 expired tags while walking the parking lot in one aisle. Many tags are over a year expired. But that is another discussion.
Hogan
|
|
|
|
|
"Smarter" how? The statement is meaningless without elaboration, and Musk should (and probably does) know better.
|
|
|
|
|
Musk talks a lot of trash.
I suspect Ketamine.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Yet another over-promise and soon to be under-delivery.
|
|
|
|
|
jschell wrote: Elon Musk predicates that AI will be smarter than humans
What does that mean? Smarter than all people?
Probably not. Probably just smarter than the average.
That means, it has probably already achieved this...on average.
There are a lot of dumb people dragging the average down.
Especially now with smart phones and social media.
Probably need a better comparison of smartness, than humans.
|
|
|
|
|
Cleaning up the basement, I found a couple still readable disks from my Win95 days. Scanning through them for anything that should be preserved, I came across one long forgotten program (called C-MAP, but that is not essential here). It certainly would start up under Win10, but only to display a message that it can only be run in a 256 palette mode.
I remember that there was a setting in WinXP where you could flag an .exe to be run in 256 color mode. Maybe it was still available in Win7; I don't think I ever had the need then, and never knew. I have been searching all over the place in Win10, with a GeForce 610Ti display card, but can't find any similar setting anywhere. Googling gives me a lot of hints on how to do it, but the options I am told to select is absent from the dialogs - the hints appear to predate both Win10 and Win7.
Is there any way to emulate 256 color palette is Win10 with a GeForce display card? Does it depend on the driver, or is the problem with Windows dropping this feature some time ago?
My only reasons for running C-MAP are nostalgic ones; I have no real "need" for it. But maybe, deeper down in the pile of old disks, I will find another program with similar 256-color requirements, and this program is needed for rescuing some valuable data files. So I would certainly like to know of a general way to handle it, not for C-MAP specifically.
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|