On Sockets and System Calls Minimizing Context Switches for the Socket API - CORE CORE Search Search Services Access to raw data API Dataset FastSync Content discovery Recommender Discovery Managing content Repository dashboard Support FAQs About About CORE Blog Contact us On Sockets and System Calls Minimizing Context Switches for the Socket API By Tomas Hruby, Teodor Crivat, Herbert Bos and Andrew S. Tanenbaum Abstract Traditionally, applications use sockets to access the net-work. The socket API is well understood and simple to use. However, its simplicity has also limited its ef-ficiency in existing implementations. Specifically, the socket API requires the application to execute many sys-tem calls like select, accept, read, and write. Each of these calls crosses the protection boundary between user space and the operating system, which is expensive. Moreover, the system calls themselves were not designed for high concurrency and have become bottlenecks in modern systems where processing simultaneous tasks is key to performance. We show that we can retain the orig-inal socket API without the current limitations. Specifi-cally, our sockets almost completely avoid system calls on the “fast path”. We show that our design eliminates up to 99 % of the system calls under high load. Perhaps more tellingly, we used our sockets to boost NewtOS, a microkernel-based multiserver system, so that the per-formance of its network I/O approaches, and sometimes surpasses, the performance of the highly-optimized Linux network stack. Year: 2015 OAI identifier: oai:CiteSeerX.psu:10.1.1.696.4590 Provided by: CiteSeerX Download PDF: Sorry, we are unable to provide the full text but you may find it at the following location(s): https://www.usenix.org/system/... (external link) https://www.usenix.org/system/... (external link) http://citeseerx.ist.psu.edu/v... (external link) Suggested articles To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request. Useful links Blog Services About CORE Contact us Cookies Privacy notice Writing about CORE? Discover our research outputs and cite our work. CORE is a not-for-profit service delivered by the Open University and Jisc.