Second, the flexibility of the approach supports specialized operating systems for resource-intensive applications that do not need the full functionality of the commodity operating systems. These simpler, specialized operating systems better support the needs of the applications and can easily scale to the size of the machine.
This allows the non-NUMA-aware memory management policies of commodity operating systems to work well, even on a NUMA machine.
Since most commodity operating systems are not designed to effectively manage the nonuniform memory of the FLASH machine, Disco uses dynamic page migration and replication to export a nearly uniform memory access time memory architecture to the software.
Disco provides an adequate and low-cost solution that enables a smooth transition and maintains compatibility with commodity operating systems.
These specialized operating systems enable superior performance, since they are freed from the general overheads of commodity operating systems. Disco differs from Exokernel in that it virtualizes resources rather than multiplexing them and can therefore run commodity operating systems without significant modifications.