Could you also use a multi-level page table to save space while providing the same coverage?
bpr
@neonachronism, could you elaborate on what you are suggesting?
neonachronism
I just remember from 213 that that was how they made the arrays sparser to save memory.
it also seems that it would have less (or at least more predictable) pointer-chasing (although if data is only in a handful of caches, it probably doesn't matter).
BBB
I suppose a multi-level directory could be useful for applications where at any given time, many cachelines are not shared at all, while most of the cachelines that are shared are shared by a large number of processors. Doubtless there are applications that fit that profile, but it is a farcry from the common-case of most data being shared between 1-2 processors.
Could you also use a multi-level page table to save space while providing the same coverage?
@neonachronism, could you elaborate on what you are suggesting?
I just remember from 213 that that was how they made the arrays sparser to save memory. it also seems that it would have less (or at least more predictable) pointer-chasing (although if data is only in a handful of caches, it probably doesn't matter).
I suppose a multi-level directory could be useful for applications where at any given time, many cachelines are not shared at all, while most of the cachelines that are shared are shared by a large number of processors. Doubtless there are applications that fit that profile, but it is a farcry from the common-case of most data being shared between 1-2 processors.