70 likes | 207 Views
Challenges and Opportunities for System Software in the Multi-Core Era. or The Sky is Falling, The Sky is Falling!. Challenge: scaling. Scaling software Virtual Machine Monitors (easy) Operating Systems (hard) Applications (hardest) Scaling hardware Memory bandwidth I/O bandwidth
E N D
Challenges and Opportunities for System Software in the Multi-Core Era or The Sky is Falling, The Sky is Falling!
Challenge: scaling • Scaling software • Virtual Machine Monitors (easy) • Operating Systems (hard) • Applications (hardest) • Scaling hardware • Memory bandwidth • I/O bandwidth • Prediction: mainstream will remain < 100 cores for next 5 years. Lack of applications, Amdahl’s law and power efficiency constraints.
Challenge: scheduling • Too expensive to context switch • gang scheduling many cores inefficient • disruptive to application • Complex resource hierarchy • cache, memory, I/O • Opportunity: VMM and OS schedulers will have to understand and schedule complex hierarchies • Prediction: partitioning cores rather than time sharing will be the norm
Challenge: isolation • Fault isolation and recovery • Large transistor count => cores will fail • Performance isolation • Shared resources, e.g., caches, I/O bandwidth • Opportunity: • Build fault containment mechanisms into the system architecture • Provide resource reservation controls • System software must handle and recover from faults, enforce performance isolation • Virtualization makes physical machines stateless and interchangeable
Challenge: distance • Off-chip resources get farther and farther • Latency-bound applications suffer • I/O becomes even more heavy-weight • Opportunity • Bring communication closer to the cores • Rethink I/O architectures • Prediction • We will see on-chip I/O controllers and buses
Opportunity: assists • Extra cores can be used for • I/O processing • self monitoring • Specialized cores • computation (conventional and stream) • communication (TCP processing) • graphics processing (GPU elements) • System software to take advantage of these resources
Opportunity: virtualization • Killer app for multi-core • Easier to scale job-level parallelism • Power efficiency • Scale each application to maximize performance per watt • Hide complex hardware topology