Programmierparadigmen im Kontext von Many-Core-Systemen Benjamin Engel, TU Dresden With ever-increasing numbers of cores, the tendency towards heterogeneity and anticipating dark silicon, current operating systems schedule multiple tasks on the available cores and perform load balancing by migrating threads among them. With many-core system the question arises if preemption- based scheduling in time is still the right way to go. Spacial scheduling is another way, where cores instead of time quanta are assigned to individual programs. These, in turn, have to adapt to fluctuating numbers of processing units. Using various work queues and dispatching self-contained work items (also known as blocks, lambdas, or closures) to these queues relieves the programmer from the tedious task of manually adapting to changing compute resources. Scheduler activations are an elegant and well-known concept in kernel scheduling, but never found their way into the Linux kernel - partially due to the fact that using them is quite complex for the programmer. Combining spacial scheduling using kernel up-calls with a work-queue based user level framework allows to build adaptive programs without the hassle to manually deal with load balancing, synchronization, or deadlocks. In this talk we will present the design, show performance numbers and discuss results and implications of our work.