Modern Concurrency Platforms Require Modern System-Call Techniques

Schmaus F, Fischer F, Hönig T, Schröder-Preikschat W (2021)


Publication Type: Other publication type

Publication year: 2021

Edited Volumes: Technical reports / Department Informatik

Article Number: CS-2021-02

URI: https://opus4.kobv.de/opus4-fau/files/17655/paper.pdf

DOI: 10.25593/issn.2191-5008/CS-2021-02

Open Access Link: https://opus4.kobv.de/opus4-fau/files/17655/paper.pdf

Abstract

Writing well-maintainable parallel programs that efficiently utilize many processor cores is still a significant challenge. Threads are hard to use, and so are event-based schemes. Furthermore, threads are affected by the blocking anomaly, that is, the loss of parallelism when threads execute a blocking system call—often resulting in low core utilization and unnecessarily high response times. This paper introduces pseudo-blocking system calls built upon modern asynchronous queue-based system-call techniques (like Linux’s io_uring) circumventing the blocking anomaly. They are similar to Go’s programming model, where one develops against a blocking interface to keep the code structure clean. However, instead of using synchronous non-blocking system calls as the underlying technique, our approach internally uses an asynchronous queue-based interface. We further present a novel architecture for concurrency platforms, like Cilk and Go, enabling low latencies and high throughput via pseudo-blocking system calls. Finally, we discuss future OS enhancements that would improve our proposed architecture. We implemented and evaluated a concurrency platform based on the concept of pseudo-blocking system calls. Our platform can outperform state-of-the-art systems like Go by 1.17× in a file-content search benchmark. It is able to increase the throughput of a echo-server benchmark by 4 % when compared to Go, and by 17.8 % when compared to Rust’s Tokio while improving the tail latency.

Authors with CRIS profile

Involved external institutions

How to cite

APA:

Schmaus, F., Fischer, F., Hönig, T., & Schröder-Preikschat, W. (2021). Modern Concurrency Platforms Require Modern System-Call Techniques.

MLA:

Schmaus, Florian, et al. Modern Concurrency Platforms Require Modern System-Call Techniques. 2021.

BibTeX: Download