High compute density is a recently coined term, used to characterize minimally packaged compute nodes, which integrate several multicore/multithreaded processors and the associated networking and storage components, while occupying no more than one rack unit.
In the first part of this talk I will present challenges and open problems for system software on high compute density systems, with respect to performance, power dissipation, and reliability. I will also motivate the use of multithreading as a unified methodology for exploiting granular parallelism, reducing energy consumption under performance guarantees, and providing adaptive fault tolerance on dense systems.
In the second part of the talk I will present ongoing research in runtime environments for dense systems and focus on two topics, polymorphic multithreading, and power-aware thread-level granularity control. Polymorphic multithreading integrates multiple forms of non-speculative and speculative multithreaded execution in the same binary. Integration happens at runtime, in response to live phase analysis and performance analysis performed by a continuous hardware monitor. Power-aware thread granularity control uses the same continuous monitoring substrate for online phase, timing, and power analysis, to trigger power optimizations under performance guarantees specified by the user and/or the runtime system. I will demonstrate that the aforementioned live optimizations of the multithreaded execution environment achieve performance improvements and, simultaneously, substantial energy savings, using a multi-SMT system as a case study.