1. Scheduling for Parallel and Multi-Core Systems
Pradeeban Kathiravelu
INESC-ID Lisboa
Instituto Superior T´ecnico, Universidade de Lisboa
Lisbon, Portugal
Modern Operating System Kernels – Presentation 3.
May 11, 2015.
Pradeeban Kathiravelu (IST-ULisboa) NSOM 1 / 7
2. CoreTime
O2
Scheduler
Balances objects and operations across caches and cores.
Greedy first fit ”cache packing” algorithm to decide which core to
assign the object to.
Pradeeban Kathiravelu (IST-ULisboa) NSOM 2 / 7
4. Data Marshalling for Multicore Systems
Data Marshalling
Dividing a program into segments and executing each segment at the
core best suited to run.
To improve performance and energy efficiency.
When consecutive segments run on different cores, accesses to
intersegment data incur cache misses.
Data Marshalling eliminates such cache misses.
By identifying and marshalling the necessary intersegment data.
When a segment is shipped to a remote core.
Pradeeban Kathiravelu (IST-ULisboa) NSOM 4 / 7
5. Data Marshalling for Multicore Systems
Data Marshalling
Pradeeban Kathiravelu (IST-ULisboa) NSOM 5 / 7
6. Callisto
Callisto
Resource management layer for parallel runtime systems.
Calliso-enabled run time systems implementation.
OpenMP.
Domino Task-parallel programming model.
Pradeeban Kathiravelu (IST-ULisboa) NSOM 6 / 7
7. Conclusion
References
Boyd-Wickizer, S., Morris, R., & Kaashoek, M. F. (2009, May).
Reinventing scheduling for multicore systems. In HotOS.
Joao, J. A., Patt, Y. N., Mutlu, O., & Suleman, M. A. DATA
MARSHALING FOR MULTICORE SYSTEMS.
Harris, T., Maas, M., & Marathe, V. J. (2014, April). Callisto:
co-scheduling parallel runtime systems. In Proceedings of the Ninth
European Conference on Computer Systems (p. 24). ACM.
Thank you!
Pradeeban Kathiravelu (IST-ULisboa) NSOM 7 / 7