Runtime Performance Analysis of the M-to-N Scheduling Model

Abstract

The popular M-to-N thread scheduling model multiplexes many user-level threads on top of fewer kernel-level threads. While this model is designed to be scalable and efficient without excessive resource consumption, we isolate several elementary examples under which the M-to-N model exhibits highly nonintuitive performance. We use a runtime performance monitor for multithreaded programs which we have developed, ThreadMon, to explain the causes of the unexpected results. We conclude that the complexity and nondeterminism exported to the programmer make performance tuning to the intricate M-to-N model extremely difficult. Moreover, we show that the insulation of user-level scheduling from kernel-level scheduling can have undesirable side-effects. 1 Introduction Since the approval of the POSIX threads standard [6], multithreaded programming has experienced an explosion of interest. Many applications have appreciated performance gains through multithreading; the popular Netscape web browse..

    Similar works

    Full text

    thumbnail-image

    Available Versions