Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #30815
| From | Don Y <blockedofcourse@foo.invalid> |
|---|---|
| Newsgroups | comp.arch.embedded |
| Subject | Re: Multithreaded disk access |
| Date | 2021-10-18 08:05 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <skk2fr$ooe$1@dont-email.me> (permalink) |
| References | <skc214$tm7$1@dont-email.me> <ski0v5$7iu$1@dont-email.me> <ski5q2$77e$1@dont-email.me> <ski6vd$hf1$1@dont-email.me> |
On 10/17/2021 3:09 PM, Dimiter_Popoff wrote: >> You're assuming files are laid out contiguously -- that no seeks are needed >> "between sectors". > > This is the typical case anyway, most files are contiguously allocated. I'm not sure that is the case for files that have been modified on a medium. Write once, read multiple MAY support that sort of approach (assuming there is enough contiguous space for that first write). But, if you are appending to a file or overwriting it, I don't know what guarantees you can expect; there are a LOT of different file systems out there! I would assume CD9660 would be the friendliest, in this regard. And, it is typically immutable so once the tracks are laid, they can persist. [IIRC, CD9660 also has a "summary VToC, of sorts, so you don't have to seek to individual subdirectories to find things from the medium's root] > Even on popular filesystems which have long forgotten how to do worst > fit allocation and have to defragment their disks not so infrequently. > But I think they have to access at least 3 locations to get to a file; > the directory entry, some kind of FAT-like thing, then the file. > Unlike dps, where 2 accesses are enough. And of course dps does > worst fit allocation so defragmentating is just unnecessary. I think directories are cached. And, possibly entire drive structures (depending on how much physical RAM you have available). I still can't see an easy threading strategy that can be applied without more details of the target hardware/OS, filesystem layout, specifics of the drives/volumes, etc. E.g., my disk sanitizer times each (fixed size) access to profile the drive's performance as well as looking for trouble spots on the media. But, things like recal cycles or remapping bad sectors introduce completely unpredictable blips in the throughput. So much so that I've had to implement a fair bit of logic to identify whether a "delay" was part of normal operation *or* a sign of an exceptional event. [But, the sanitizer has a very predictable access pattern so there's no filesystem/content -specific issues involved; just process sectors as fast as possible. (also, there is no need to have multiple threads per spindle; just a thread *per* spindle -- plus some overhead threads) And, the sanitizer isn't as concerned with throughput as the human operator is the bottleneck (I can crank out a 500+GB drive every few minutes).] I'll mock up some synthetic loads and try various thread-spawning strategies to see the sorts of performance I *might* be able to get -- with different "preexisting" media (to minimize my impact on that). I'm sure I can round up a dozen or more platforms to try -- just from stuff I have lying around here! :>
Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-15 07:08 -0700
Re: Multithreaded disk access Richard Damon <Richard@Damon-Family.org> - 2021-10-15 11:38 -0400
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-15 09:00 -0700
Re: Multithreaded disk access Richard Damon <Richard@Damon-Family.org> - 2021-10-15 12:48 -0400
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-15 11:40 -0700
Re: Multithreaded disk access Dimiter_Popoff <dp@tgi-sci.com> - 2021-10-15 18:46 +0300
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-15 09:19 -0700
Re: Multithreaded disk access Dimiter_Popoff <dp@tgi-sci.com> - 2021-10-15 19:28 +0300
Re: Multithreaded disk access Brett <ggtgp@yahoo.com> - 2021-10-17 20:27 +0000
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-17 14:49 -0700
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-17 15:01 -0700
Re: Multithreaded disk access Dimiter_Popoff <dp@tgi-sci.com> - 2021-10-18 01:09 +0300
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-18 08:05 -0700
Re: Multithreaded disk access Dimiter_Popoff <dp@tgi-sci.com> - 2021-10-18 19:25 +0300
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-18 13:46 -0700
Re: Multithreaded disk access Dimiter_Popoff <dp@tgi-sci.com> - 2021-10-19 00:46 +0300
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-18 16:17 -0700
Re: Multithreaded disk access antispam@math.uni.wroc.pl - 2021-10-31 19:21 +0000
Re: Multithreaded disk access Dimiter_Popoff <dp@tgi-sci.com> - 2021-10-31 21:55 +0200
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-25 04:19 -0700
Re: Multithreaded disk access Richard Damon <Richard@Damon-Family.org> - 2021-10-25 20:23 -0400
Re: Multithreaded disk access Don Y <blockedofcourse@foo.invalid> - 2021-10-25 22:29 -0700
Re: Multithreaded disk access Clifford Heath <no.spam@please.net> - 2021-10-18 11:58 +1100
csiph-web