[Seminar] Combining Lock-Free Programming with Cooperative Multitasking for a Portable Multiprocessor Runtime System
■ 호스트: 버나드 에거 교수 (x1519, 880-1519)
The application of mutual exclusion in order to protect shared data from concurrent access is a recurring programming pattern found in contemporary application software. Although alternatives to blocking synchronisation like lock-free programming solve several critical problems and offer better progress guarantees, they have not become as popular. This especially applies to operating system kernels that provide support for multiprocessing environments. In this Talk we give an overview over our design and implementation of an operating system kernel which is based solely on non-blocking algorithms. It provides a completely lock-free runtime system for object-oriented programming languages that support concurrency and automatic memory management. Abandoning the preemptive scheduler prevalent in many modern operating systems in favour of a compiler-guaranteed cooperative multitasking presents a novel approach to lock-free programming and enables several practical and beneficial non-blocking programming techniques such as processor-local storage
Florian Negele is a Postdoc Researcher at the Institute of Computer Systems at ETH Zürich working in the area of embedded systems, multiprocessor architectures, and runtime systems. His current line of work focuses on compilation techniques and associated language support for the interaction between applications and their runtime environments. He received his Ph.D. in computer science from ETH Zürich in 2014.