Concurrent Programming with Threading by Appointment
Concurrent Programming with Threading by Appointment
Disciplines
Computer Sciences (100%)
Keywords
-
Concurrent Programming,
Event Queueing,
Operating Systems,
Web Servers,
Multi Threading
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. 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.
The original aim of this project was to study the role of time in concurrent programming. Yet the actual results not only involve time but also space as well as power. They advance our understanding of how to provide compositional execution environments for concurrent software processes in which the execution of each process is isolated from the other processes in terms of its temporal and spatial behavior and even its power consumption. Such compositionality is key to building robust, large-scale, concurrent software systems. We summarize the key results as follows. The temporal behavior of soft- ware processes (throughput, latency) can be controlled per process, time- and space-efficiently, and power-aware while scheduling overhead can be accounted for in higher system utilization and/or delayed process response (temporal isolation). Memory space can be managed in constant time per allocation and deallocation operation while memory fragmentation can be bounded in linear time per deallocation operation independently of the order of allocation and deallocation operations. Not-needed memory space can be self-collected concurrently and incrementally in constant time per memory management operation independently of the size of programmer-identified needed memory space (spatial isolation). Power consumption can be bounded per process while maintaining temporal isolation even in the presence of non-linear power models and discrete frequency scaling. There is a complex trade-off between compositionality (per-process power consumption jitter) and cost (total power consumption) that depends on multiple factors (power isolation). Finally, relaxing the semantics of concurrent data structures improves scalability on large multicore systems. Relaxation may be strictly or probabilistically bounded and become helpful for providing, e.g. process isolation on multicore hard- ware (non-linearizable computing).
- Universität Salzburg - 100%
Research Output
- 168 Citations
- 13 Publications
-
2009
Title Distributed, Modular HTL* *Supported by the EU ArtistDesign Network of Excellence on Embedded Systems Design the EU project COMBEST, the Austrian Science Funds P18913-N15 and V00125, and Fundacao para a Ciência e Tecnologia funds SFRH/BD/29461/2006 a DOI 10.1109/rtss.2009.9 Type Conference Proceeding Abstract Author Henzinger T Pages 171-180 Link Publication -
2009
Title Programmable temporal isolation in real-time and embedded execution environments DOI 10.1145/1519130.1519134 Type Conference Proceeding Abstract Author Craciunas S Pages 19-24 -
2009
Title CSL: A Language to Specify and Re-Specify Mobile Sensor Network Behaviors DOI 10.1109/rtas.2009.17 Type Conference Proceeding Abstract Author Love J Pages 67-76 Link Publication -
2009
Title Programmable Temporal Isolation through Variable-Bandwidth Servers DOI 10.1109/sies.2009.5196213 Type Conference Proceeding Abstract Author Craciunas S Pages 171-180 Link Publication -
2009
Title Compositionality for Markov reward chains with fast and silent transitions DOI 10.1016/j.peva.2009.01.001 Type Journal Article Author Markovski J Journal Performance Evaluation Pages 435-452 Link Publication -
2009
Title Avoiding unbounded priority inversion in barrier protocols using gang priority management DOI 10.1145/1620405.1620416 Type Conference Proceeding Abstract Author Röck H Pages 70-79 Link Publication -
2011
Title The Logical Execution Time Paradigm DOI 10.1007/978-3-642-24349-3_5 Type Book Chapter Author Kirsch C Publisher Springer Nature Pages 103-120 -
2011
Title Runtime Programming through Model-Preserving, Scalable Runtime Patches* *This work has been supported by the EU ArtistDesign Network of Excellence on Embedded Systems Design, the National Research Network RiSE on Rigorous Systems Engineering (Austria DOI 10.1109/acsd.2011.28 Type Conference Proceeding Abstract Author Kirsch C Pages 77-86 Link Publication -
2011
Title Short-term memory for self-collecting mutators DOI 10.1145/1993478.1993493 Type Conference Proceeding Abstract Author Aigner M Pages 99-108 -
2010
Title Response Time versus Utilization in Scheduler Overhead Accounting*Supported by the EU ArtistDesign Network of Excellence on Embedded Systems Design and the Austrian Science Funds P18913-N15 and V00125. DOI 10.1109/rtas.2010.14 Type Conference Proceeding Abstract Author Craciunas S Pages 291-300 Link Publication -
2010
Title Power-aware temporal isolation with variable-bandwidth servers DOI 10.1145/1879021.1879056 Type Conference Proceeding Abstract Author Craciunas S Pages 259-268 Link Publication -
2008
Title I/O resource management through system call scheduling DOI 10.1145/1400097.1400103 Type Journal Article Author Craciunas S Journal ACM SIGOPS Operating Systems Review Pages 44-54 Link Publication -
2008
Title Logical Reliability of Interacting Real-Time Tasks DOI 10.1109/date.2008.4484790 Type Conference Proceeding Abstract Author Chatterjee K Pages 1-6