Sujet : Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?
De : monnier (at) *nospam* iro.umontreal.ca (Stefan Monnier)
Groupes : comp.archDate : 13. May 2025, 02:50:02
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <jwvr00twbj5.fsf-monnier+comp.arch@gnu.org>
References : 1 2 3 4 5 6 7 8 9
User-Agent : Gnus/5.13 (Gnus v5.13)
Lawrence D'Oliveiro [2025-05-12 22:35:57] wrote:
On Mon, 12 May 2025 08:05:56 +0200, Terje Mathisen wrote:
For reads it allows the disk to always read full sets of sectors, the
following blocks are likely to be needed soon anyway.
Leave that up to the OS I/O optimization algorithms. Because they know
things about the data that the drive doesn’t.
But the drive also knows things about the data that the OS can't know
(things that have to do with the physical location of the data on the
platters). Which is why it makes sense for both the OS and the drive to
make their own efforts.
Lawrence D'Oliveiro [2025-05-12 22:39:02] wrote:
On Mon, 12 May 2025 08:41:57 GMT, Anton Ertl wrote:
On SSDs DRAM cache is also used for storing the logical-to-physical
sector mapping of the flash translation layer; accessing it on flash is
apparently too slow.
There is a lot of complicated firmware in SSDs to make them look as
much like a traditional hard drive as possible, so that traditional
hard drive filesystems can be used unchanged. This firmware has been
known to have bugs in it.
Bugs is largely attached to "complicated", yes. This said, I've been
lucky enough not to bump into any of them in my years of use of SSDs.
I admittedly don't push them very hard.
Whereas the Linux kernel includes a few filesystems purpose-designed
for operation on raw flash devices, that integrate wear-levelling etc
right into the block allocation algorithms. Wouldn’t it be much
better (more efficient and more reliable) to get rid of most of that
firmware layer, and use these sorts of filesystems directly?
More reliable, I don't know: to get comparable performance, you'll need
comparable complexity, so probably comparable amount of bugs.
Tho I guess by being exposed to many more eyes (by virtue of being Free
Software), it could have a chance of being more reliable, maybe.
But in any case, your above argument has some problems:
- Those "few filesystems" aren't nearly good enough to compete with
a normal filesystem running on top of a typical SSD. Simply because
those filesystems have not been designed for those kinds of uses.
Last I checked, they don't scale very well to TB sizes, for example.
And they haven't seen nearly as much work put into avoiding stuttering
and poor performance when the drive is full. More generally, they
haven't received nearly as much attention as has been invested in
SSDs' "FTL".
- The experience with flash technology in the Linux kernel for smaller
devices like home routers and such suggests that doing wear leveling
in the filesystem is a bad idea because you want to do it over the
whole device: no big difference if you have a single filesystem on the
whole drive, but for the general case you want something like UBI,
i.e. a kind of volume-management system that takes care of spreading
the writes over the whole drive as well as remapping defective pages,
while still exposing some of the semantics of flash chips, so you need
non-standard filesystems on top of that
- For better of for worse, drive manufacturers simply have not given
access to the "raw" flash layer. I'm not completely sure why, but
I get the impression that manufacturers use it as a way to segment the
market, with different prices for the same flash chips combined with
different FTLs.
But maybe at some point, market conditions will change and we'll be
able to buy SSDs that can be accessed directly at the flash level?
I agree with you in theory, but in practice I think the potential gain is
rather small. Maybe the "block device abstraction" isn't such a bad
choice in the end.
Stefan
Date | Sujet | # | | Auteur |
10 May 25 | Is Parallel Programming Hard, And, If So, What Can You Do About It? | 91 | | Thomas Koenig |
11 May 25 |  Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 60 | | MitchAlsup1 |
11 May 25 |   Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 59 | | Al Kossow |
12 May 25 |    Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 58 | | Lawrence D'Oliveiro |
12 May 25 |     Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 57 | | MitchAlsup1 |
12 May 25 |      Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 56 | | Lawrence D'Oliveiro |
12 May 25 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | MitchAlsup1 |
12 May 25 |        Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
12 May 25 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 53 | | Terje Mathisen |
12 May 25 |        Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 3 | | Anton Ertl |
12 May 25 |         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
13 May 25 |         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Stephen Fuld |
12 May 25 |        Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 49 | | Lawrence D'Oliveiro |
13 May 25 |         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 4 | | Stefan Monnier |
13 May 25 |          Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 3 | | Lawrence D'Oliveiro |
13 May 25 |           Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Stefan Monnier |
13 May 25 |           Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Stephen Fuld |
13 May 25 |         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 43 | | Anton Ertl |
13 May 25 |          Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 42 | | Lawrence D'Oliveiro |
13 May 25 |           Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 41 | | Stephen Fuld |
14 May 25 |            Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 36 | | Lawrence D'Oliveiro |
14 May 25 |             Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 33 | | Stephen Fuld |
18 May02:35 |              Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 32 | | Lawrence D'Oliveiro |
19 May01:10 |               Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 6 | | Lynn Wheeler |
19 May21:46 |                Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 5 | | Vir Campestris |
19 May22:58 |                 Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 4 | | Stephen Fuld |
20 May11:22 |                  Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Vir Campestris |
21 May03:38 |                  Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | Lynn Wheeler |
21 May04:49 |                   Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Stephen Fuld |
19 May01:18 |               Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 25 | | MitchAlsup1 |
20 May00:33 |                Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 24 | | MitchAlsup1 |
20 May01:36 |                 Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 23 | | Lawrence D'Oliveiro |
20 May06:16 |                  Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 22 | | BGB |
20 May15:49 |                   Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 20 | | Stefan Monnier |
20 May18:42 |                    Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | BGB |
20 May19:35 |                     Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Stephen Fuld |
21 May01:29 |                    Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 17 | | Lawrence D'Oliveiro |
21 May02:08 |                     Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 12 | | BGB |
21 May04:46 |                      Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 11 | | Lawrence D'Oliveiro |
21 May04:58 |                       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 10 | | Stephen Fuld |
21 May18:19 |                        Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 9 | | Anton Ertl |
22 May03:19 |                         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 7 | | George Neuner |
22 May07:51 |                          Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 6 | | BGB |
22 May13:12 |                           Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 5 | | Torbjorn Lindgren |
22 May18:39 |                            Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 4 | | BGB |
22 May23:41 |                             Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 3 | | Lawrence D'Oliveiro |
23 May00:36 |                              Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | BGB |
23 May15:21 |                               Re: the power of junk, Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | John Levine |
22 May12:32 |                         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Dan Cross |
21 May04:54 |                     Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 4 | | Stephen Fuld |
21 May06:39 |                      Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 3 | | Lawrence D'Oliveiro |
21 May07:42 |                       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Stephen Fuld |
21 May08:08 |                       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | BGB |
21 May01:57 |                   Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
14 May 25 |             Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | John Levine |
14 May 25 |              Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Thomas Koenig |
23 May01:18 |            Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 4 | | Waldek Hebisch |
23 May06:35 |             Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 3 | | Lawrence D'Oliveiro |
23 May07:09 |              Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | BGB |
23 May13:36 |               Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | MitchAlsup1 |
18 May00:57 |         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
19 May22:33 |  Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 29 | | quadibloc |
20 May01:43 |   Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 28 | | Lawrence D'Oliveiro |
20 May19:19 |    Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 27 | | BGB |
20 May21:06 |     Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 23 | | Stefan Monnier |
20 May23:11 |      Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 20 | | MitchAlsup1 |
21 May01:34 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
21 May02:00 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
21 May02:30 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 8 | | George Neuner |
21 May02:39 |        Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 7 | | Chris M. Thomasson |
21 May04:41 |         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 4 | | Lawrence D'Oliveiro |
21 May17:09 |          Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | George Neuner |
21 May20:30 |          Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | Stefan Monnier |
22 May03:45 |           Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
21 May18:06 |         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | Lynn Wheeler |
21 May22:32 |          Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | jseigh |
21 May08:05 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | Anton Ertl |
22 May03:48 |        Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
21 May13:23 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 7 | | Stefan Monnier |
21 May15:08 |        Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 6 | | MitchAlsup1 |
22 May03:49 |         Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 5 | | Lawrence D'Oliveiro |
22 May18:34 |          Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 3 | | MitchAlsup1 |
22 May23:42 |           Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Lawrence D'Oliveiro |
23 May02:54 |           Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | MitchAlsup1 |
23 May04:47 |          Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | George Neuner |
21 May01:32 |      Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | Lawrence D'Oliveiro |
21 May02:29 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Chris M. Thomasson |
21 May02:04 |     Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 3 | | Chris M. Thomasson |
23 May00:49 |      Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 2 | | Chris M. Thomasson |
23 May02:04 |       Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Chris M. Thomasson |
21 May02:31 |  Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? | 1 | | Chris M. Thomasson |