Many-core chips — a case for virtual shared memory

Gernot Heiser · 2009

We make the case for virtual shared memory (VSM) for supporting future many-core chips. VSM is a shared memory abstraction implemented over distributed memory by a hypervisor, providing the operating system direct access to all memory in the system. VSM on a distributed-memory system, such as a many-core chip with local memory associated with each core or small group of cores, provides a non-uniform memory model to the operating system. We argue, based on our experience with a prototype called vNUMA (implemented on a cluster), that this model can perform well for NUMA-aware software. The indirection layer provided by the virtualization provides benefits to hardware manufacturers, as it can absorb certain faults, including faulty nodes and packet losses in the interconnect. message-passing latencies varying by maybe an order of magnitude depending on the physical distance. Cores (or groups of cores) will have their own clocks, synchronised via protocols running across the interconnect. Cores (or groups of cores) will have significant amounts of local memory. The only shared memory is likely to be off-chip; even the closest off-chip memory may be distributed, due to three-dimensional integration. This implies that shared memory will be several orders of magnitude more expensive to access than local memory.

Read the paper · More papers on PaperTik