5 ms·
Maybe PIM will push this forward, but I still think we're doing something fundamentally wrong by not just embracing NUMA and trying to do something Sun tried de
by hinkley 18d ago
Maybe PIM will push this forward, but I still think we're doing something fundamentally wrong by not just embracing NUMA and trying to do something Sun tried decades ago, which is have number of cores share 4GB of semiprivate working
memory.
We've kind of half-assed it with DDR memory banks, but it mostly introduces mysterious slowdowns that are difficult to reason about and I think we would be better served I think by making a formal thing. Instead of introducing an L4 cache we could do this instead, and reduce the size of the L1-L3 caches, which shortens lookup time and thus latency.
For legacy apps, you could provide facilities for the OS to 'page' blocks in from main memory, but the speed would come from managing the workload imperatively, starting loads in the background before the data is actually needed, and dumps after it is last touched.
- yencabulator 16d agoIntel SCC tried the extreme version of that. Though you could argue their Message Passing Buffers weren't shaped quite right (too small, hard for OS to use across trust domains). https://en.wikipedia.org/wiki/Single-chip_Cloud_Computer https://en.wikipedia.org/wiki/Single-chip_Cloud_Computer You could also take a half-step in that direction with the DEC Alpha processor's extremely relaxed memory consistency model, and see how well things program for that. When I had a chance to poke at them, Alphas were about 2-3x faster than Intels, with much less ecosystem optimization effort burned -- and most software worked just fine.