Yuanyuan ZhouUIUC-CS Challenges and Opportunities for OS in the Multi-Core Era Yuanyuan (YY) Zhou...

4
Yuanyuan Zhou UIUC-CS Challenges and Opportunities for OS in the Multi-Core Era Yuanyuan (YY) Zhou University of Illinois at Urbana-Champaign http://opera.cs.uiuc.edu/

Transcript of Yuanyuan ZhouUIUC-CS Challenges and Opportunities for OS in the Multi-Core Era Yuanyuan (YY) Zhou...

Page 1: Yuanyuan ZhouUIUC-CS Challenges and Opportunities for OS in the Multi-Core Era Yuanyuan (YY) Zhou University of Illinois at Urbana-Champaign

Yuanyuan Zhou UIUC-CS

Challenges and Opportunities for OS in the Multi-Core Era

Yuanyuan (YY) Zhou

University of Illinois at Urbana-Champaign

http://opera.cs.uiuc.edu/

Page 2: Yuanyuan ZhouUIUC-CS Challenges and Opportunities for OS in the Multi-Core Era Yuanyuan (YY) Zhou University of Illinois at Urbana-Champaign

Yuanyuan Zhou UIUC-CS

Real Life Analogy

OS--- Parent Core --- Kid

People say Going from one kid to two is a

quality change for the parent, not just a quantity change

And so is multi-core for OS!

Page 3: Yuanyuan ZhouUIUC-CS Challenges and Opportunities for OS in the Multi-Core Era Yuanyuan (YY) Zhou University of Illinois at Urbana-Champaign

Yuanyuan Zhou UIUC-CS

Challenges

“Toy” competition & sharing How to allocate resources (L2 cache?) How to improve resource utilization

Scalability --- how to handle 100 kids? How to avoid become the bottleneck How to improve the parallelism of OS (use TMM for

OS?)

Scheduling Memory and IO become a bottleneck Maybe memory-centric scheduling?

Page 4: Yuanyuan ZhouUIUC-CS Challenges and Opportunities for OS in the Multi-Core Era Yuanyuan (YY) Zhou University of Illinois at Urbana-Champaign

Yuanyuan Zhou UIUC-CS

Opportunities

“Task offloading” Offloading tasks to idle cores Example:

Have CPU resources to analyze patterns to make better decision

Run the hyper-visor on a different core

“Peer-pressure” & “tattletale” Use idle cores to monitor execution on the other

cores for security and reliability

“Backup solution” When one core fails, some other core can take over Run critical applications on two cores redundantly