Sujet : Re: Is Parallel Programming Hard, And, If So, What Can You Do About It?
De : cr88192 (at) *nospam* gmail.com (BGB)
Groupes : comp.archDate : 23. May 2025, 07:09:37
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <100p3qr$3undg$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
User-Agent : Mozilla Thunderbird
On 5/23/2025 12:35 AM, Lawrence D'Oliveiro wrote:
On Fri, 23 May 2025 00:18:53 -0000 (UTC), Waldek Hebisch wrote:
It is pretty clear that due to drive mechanics track cache/buffer is
useful.
Only if you don’t take the statistics of real-world cache behaviour into
account.
However, the real question is about size: how big should it be.
It can never be big enough to make a difference.
Sometimes, it is not the size of the cache that matters.
Say, for example, a typical cache configuration in my core:
L1 D$: 32K, direct mapped
L1 I$: 16K, direct mapped
L2: 256K, direct mapped.
OK, so say I stick a 4K cache between the L1 and L2 caches.
Seems kinda useless just based on sizes.
Except: This small cache is 4-way set associative and so can absorb a bunch of conflict misses, and notably reducing the number of cache misses in the L2 cache. It can bring a performance benefit, despite being small.
Why?
Consider you have data at 0x14000000 and 0x1C00000 both being used in at the same time. The L1 cache will miss, and the L2 will miss. This small 4-way cache, well, it can absorb this miss; sparing the L2 from the miss. Likewise, in this case, the small 4-way cache is cheaper than it would be to make either the L1 or L2 caches set-associative.
So, one can't so easily just write off the HDD's cache...
You would need to prove that there is a 100% overlap between whatever the OS side cache caches, and whatever the HDD caches. But, because the OS cache is likely to be caching "clusters that were actually accessed" and the HDD cache may also cache "other stuff that happens to be in the same track, but was not requested by the host." There is not a strict 1:1 overlap.
Also, the Host/HDD interactions are not strictly sequential either, but rather because they are each operating independently over a message-passing interface, they are effectively more operating in terms of the rules of phi calculus (and so, "A is bigger and faster, B is smaller and slower" logic doesn't necessarily apply; more the relative timing and latency of the interactions over the shared communication medium).
It is like asking "why have a FIFO in a RS232 UART, why not just busy loop for every byte?". Even if the UART is slow either way (and an 8 or 16 byte FIFO is seemingly too small to matter), it may still waste less time CPU side to have a FIFO than to just have the CPU busy-loop until it can send another byte. Though, sadly, this strategy doesn't work with SPI (had to instead use 1/8/32 byte bursts).
...
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 |