Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?

Liste des GroupesRevenir à c arch 
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.arch
Date : 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?91Thomas Koenig
11 May 25 +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?60MitchAlsup1
11 May 25 i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?59Al Kossow
12 May 25 i `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?58Lawrence D'Oliveiro
12 May 25 i  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?57MitchAlsup1
12 May 25 i   `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?56Lawrence D'Oliveiro
12 May 25 i    +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2MitchAlsup1
12 May 25 i    i`- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
12 May 25 i    `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?53Terje Mathisen
12 May 25 i     +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?3Anton Ertl
12 May 25 i     i+- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
13 May 25 i     i`- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Stephen Fuld
12 May 25 i     `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?49Lawrence D'Oliveiro
13 May 25 i      +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?4Stefan Monnier
13 May 25 i      i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?3Lawrence D'Oliveiro
13 May 25 i      i +- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Stefan Monnier
13 May 25 i      i `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Stephen Fuld
13 May 25 i      +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?43Anton Ertl
13 May 25 i      i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?42Lawrence D'Oliveiro
13 May 25 i      i `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?41Stephen Fuld
14 May 25 i      i  +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?36Lawrence D'Oliveiro
14 May 25 i      i  i+* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?33Stephen Fuld
18 May02:35 i      i  ii`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?32Lawrence D'Oliveiro
19 May01:10 i      i  ii +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?6Lynn Wheeler
19 May21:46 i      i  ii i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?5Vir Campestris
19 May22:58 i      i  ii i `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?4Stephen Fuld
20 May11:22 i      i  ii i  +- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Vir Campestris
21 May03:38 i      i  ii i  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2Lynn Wheeler
21 May04:49 i      i  ii i   `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Stephen Fuld
19 May01:18 i      i  ii `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?25MitchAlsup1
20 May00:33 i      i  ii  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?24MitchAlsup1
20 May01:36 i      i  ii   `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?23Lawrence D'Oliveiro
20 May06:16 i      i  ii    `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?22BGB
20 May15:49 i      i  ii     +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?20Stefan Monnier
20 May18:42 i      i  ii     i+* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2BGB
20 May19:35 i      i  ii     ii`- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Stephen Fuld
21 May01:29 i      i  ii     i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?17Lawrence D'Oliveiro
21 May02:08 i      i  ii     i +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?12BGB
21 May04:46 i      i  ii     i i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?11Lawrence D'Oliveiro
21 May04:58 i      i  ii     i i `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?10Stephen Fuld
21 May18:19 i      i  ii     i i  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?9Anton Ertl
22 May03:19 i      i  ii     i i   +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?7George Neuner
22 May07:51 i      i  ii     i i   i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?6BGB
22 May13:12 i      i  ii     i i   i `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?5Torbjorn Lindgren
22 May18:39 i      i  ii     i i   i  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?4BGB
22 May23:41 i      i  ii     i i   i   `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?3Lawrence D'Oliveiro
23 May00:36 i      i  ii     i i   i    `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2BGB
23 May15:21 i      i  ii     i i   i     `- Re: the power of junk, Is Parallel Programming Hard, And, If So, What Can You Do About It?1John Levine
22 May12:32 i      i  ii     i i   `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Dan Cross
21 May04:54 i      i  ii     i `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?4Stephen Fuld
21 May06:39 i      i  ii     i  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?3Lawrence D'Oliveiro
21 May07:42 i      i  ii     i   +- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Stephen Fuld
21 May08:08 i      i  ii     i   `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1BGB
21 May01:57 i      i  ii     `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
14 May 25 i      i  i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2John Levine
14 May 25 i      i  i `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Thomas Koenig
23 May01:18 i      i  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?4Waldek Hebisch
23 May06:35 i      i   `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?3Lawrence D'Oliveiro
23 May07:09 i      i    `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2BGB
23 May13:36 i      i     `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1MitchAlsup1
18 May00:57 i      `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
19 May22:33 +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?29quadibloc
20 May01:43 i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?28Lawrence D'Oliveiro
20 May19:19 i `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?27BGB
20 May21:06 i  +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?23Stefan Monnier
20 May23:11 i  i+* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?20MitchAlsup1
21 May01:34 i  ii+- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
21 May02:00 i  ii+- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
21 May02:30 i  ii+* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?8George Neuner
21 May02:39 i  iii`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?7Chris M. Thomasson
21 May04:41 i  iii +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?4Lawrence D'Oliveiro
21 May17:09 i  iii i+- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1George Neuner
21 May20:30 i  iii i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2Stefan Monnier
22 May03:45 i  iii i `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
21 May18:06 i  iii `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2Lynn Wheeler
21 May22:32 i  iii  `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1jseigh
21 May08:05 i  ii+* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2Anton Ertl
22 May03:48 i  iii`- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
21 May13:23 i  ii`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?7Stefan Monnier
21 May15:08 i  ii `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?6MitchAlsup1
22 May03:49 i  ii  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?5Lawrence D'Oliveiro
22 May18:34 i  ii   +* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?3MitchAlsup1
22 May23:42 i  ii   i+- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Lawrence D'Oliveiro
23 May02:54 i  ii   i`- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1MitchAlsup1
23 May04:47 i  ii   `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1George Neuner
21 May01:32 i  i`* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2Lawrence D'Oliveiro
21 May02:29 i  i `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Chris M. Thomasson
21 May02:04 i  `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?3Chris M. Thomasson
23 May00:49 i   `* Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?2Chris M. Thomasson
23 May02:04 i    `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Chris M. Thomasson
21 May02:31 `- Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?1Chris M. Thomasson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal