Riechmann, Thomas
:
User-Level Scheduling with Kernel Threads.
Erlangen:
FAU.
1996
TR-I4-96-05.- Interner Bericht.
13 Seiten.
Abstract:
Today's operating systems provide kernel threads for parallel applications
and multi-threaded servers. Scheduling plays an important role with regard
to efficiency and fairness - especially for distributed applications,
multimedia processing and server processes. A multi-threaded application
should be able to specify the scheduling strategy for its threads itself.
In most modern operating systems the scheduling strategy is hard-coded
into the kernel and cannot be changed by the user. There are a few
user-level thread packages available, where the user can define the
scheduling strategy. Yet user-level threads are not suitable for
applications that interact with the operating system frequently, such as
server processes or distributed applications. In this paper we present
a concept that allows handling of kernel-thread scheduling from the user
level ucific scheduling strategy. Thus, the programmer can implement his
own scheduling strategy for his application or even for subsystems inside
the application. We have implemented our concept into Sun's object-oriented
operating system Spring and we have shown that the overhead is extremely
small.