Scheduler activations


Scheduler activations

Scheduler Activations is a threading mechanism that, when implemented in an operating system's process scheduler, provides kernel-level thread functionality with user-level thread flexibility and performance. This mechanism uses a so-called "N:M" strategy that maps some N number of application threads onto some M number of kernel entities, or "virtual processors." This is a compromise between kernel-level ("1:1") and user-level ("N:1") threading. In general, "N:M" threading systems are more complex to implement than either kernel or user threads, because both changes to kernel and user-space code are required.

Scheduler Activations was proposed by Anderson, Bershad, Lazowska, and Levy in [http://www.cs.washington.edu/homes/bershad/Papers/p53-anderson.pdf Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism] in 1991. It was implemented in the NetBSD kernel by Nathan Williams [ [http://web.mit.edu/nathanw/www/usenix/freenix-sa/freenix-sa.html An Implementation of Scheduler Activations on the NetBSD Operating System] ] but has since been abandoned in favor of 1:1 threading [ [http://www.netbsd.org/changes/changes-5.0.html#newlock2 Significant changes from NetBSD 4.0 to 5.0 ] ] . FreeBSD had a similar threading implementation called Kernel Scheduled Entities which is also being retired in favor of 1:1 threading. Scheduler activations were also implemented as a patch for the Linux kernel by Vincent Danjean: [http://www-id.imag.fr/Laboratoire/Membres/Danjean_Vincent/linux-activations.html Linux Activations] , the user-level part being done in the [http://runtime.futurs.inria.fr/marcel/ Marcel thread library] .

References


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • NetBSD — Company / developer The NetBSD Foundation OS family Unix like Working state Current So …   Wikipedia

  • Thread (computer science) — This article is about the concurrency concept. For the multithreading in hardware, see Multithreading (computer architecture). For the form of code consisting entirely of subroutine calls, see Threaded code. For other uses, see Thread… …   Wikipedia

  • FreeBSD — welcome screen Company / developer The FreeBSD Project …   Wikipedia

  • Microkernel — Structure of monolithic and microkernel based operating systems, respectively In computer science, a microkernel is the near minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms …   Wikipedia

  • Kernel Scheduled Entities — Kernel Scheduled Entities, or KSE, is a kernel supported threading system found in FreeBSD, which allows a single process to have multiple kernel level threads. KSEs were mandatory at introduction; made optional at kernel build time in the 7.0… …   Wikipedia

  • Поток выполнения — Для термина «Поток» см. другие значения. Процесс с двумя потоками выполнения на одном процессоре Поток выполнения (анг …   Википедия

  • C10k problem — Le c10k problem[note 1] que l on pourrait traduire en français par le problème des dix mille connexions simultanées, est un code numérique utilisé pour exprimer la limitation que la plupart des serveurs ont en termes de connexions réseaux. Cette… …   Wikipédia en Français