Project Details
Description
Threading by Appointment (TAP) is a concurrent programming model that combines automatic
stack management (thread-based) with system call queueing (event-driven). However, unlike conventional
threads, TAP threads invoke system calls by appointment only, and, unlike events, appointments
have a duration to accommodate preemptive I/O and synchronization techniques. The TAP
mechanism essentially implements system call queueing using a given TAP policy that consists of
a strategy to make appointments, i.e., enqueue system calls, and a logical clock to begin and end
appointments, i.e., dequeue system calls. We have obtained encouraging performance results with a
TAP policy that resembles traffic shaping in network routers, where system calls are treated as network
packets. The policy distinguishes system calls for network and disk I/O, and gives priority to
system calls invoked by short-running, interactive threads rather than long-running, bulk threads. We
propose to study new concurrency mechanisms and policies as well as new concurrent programming
techniques based on threading by appointment. We envision threading by appointment as an integral
part of new kernel architectures that support predictable and composable concurrent programming.
We advocate principled engineering of operating systems. Despite excellent engineering skills, all team
members are required to develop their background in formal reasoning. New ideas will be presented
on different levels of abstraction in order to distinguish logic and implementation explicitly. Each team
member is expected to publish at least 1–2 non-incremental and peer-reviewed papers per year at international
conferences and workshops. We therefore expect to disseminate 9–18 high-quality publications
in the proposed project.
New ideas will be implemented as open source software that will be made available in regular intervals
on a web site dedicated to the proposed project. Software is another form of publication, which is
essential in the systems community. All software releases will therefore be accompanied by appropriate
documentation to simplify installation, maintainance, and enhancements.
We have already selected all candidates for the proposed positions with great care to make sure that
our goals can be achieved. We believe that the people are crucial for the success of a project and feel
that our team is exceptionally qualified and highly motivated.
Our goal is to identify new principles of operating systems and programming languages that enable
the design and implementation of complex concurrent applications such as high-performance web
servers that are larger and yet more robust than conventionally build systems.
Status | Finished |
---|---|
Effective start/end date | 16/10/06 → 15/10/09 |
Fields of Science and Technology Classification 2002
- 1140 Software engineering
- 1108 Informatics