The Gathering Storm:
OSs and VMMs meet Many-Core
Mike SwiftUniversity of Wisconsin-
Madison
What will change?» Lots of execution contexts
» Some extra, but not many
» High application demand for parallelism
» Low-overhead communication and synchronization
» Heterogeneous processors» Statically and dynamically
» Closely-coupled systems» Shared caches, buses
Challenges
» Single thread performance has flattened» OS overhead matters more» Must reduce single-thread overhead
» Must perform more work asynchronously
Opportunities
» Hardware support for synchronization and fast communication» Fine-grained parallelism within the kernel
» Transactional memory to simplify kernel coding
Opportunities
» Extra hardware threads for background tasks» Monitoring» Optimization» Redundant execution
Challenges
» Scheduling matters again» We have to read all those gang scheduling papers
» OS must to manage diverse resources
» Set of resources may change» Threads may interfere» Application demand may change
Challenges
» Dynamic hardware» OS or VMMs must tolerate CPU addition, removal, change in properties
Challenges
» Scalability» Existing SMP, ccNUMA techniques difficult to apply, reduce single-thread performance
» Partitioning approaches limit resources to applications
Opportunities
» Possible new OS structures for scalability» Adopt supercomputer approach with OS nodes, compute nodes
» Multiple quasi-independent kernels
» Independent kernels with DSM for large applications
Are we up to it?
Challenges
» Interference» OS must account for interference between threads
» Hardware must provide measurements of interference