December 14 - 15, 2021 | Virtual Event
View More Details for Open Source Summit
View More Details for Automotive Linux Summit
Register for OSS + ALS Japan

The Sched app allows you to build your schedule but is not a substitute for your event registration. You must be registered for Open Source Summit Japan + Automotive Linux Summit to participate in the sessions. If you have not registered but would like to join us, please go to the event registration page to purchase a registration.

Please note: This schedule is automatically displayed in Japan Standard Time (UTC+09:00). To see the schedule in your preferred timezone, please select from the drop-down menu to the right, above "Filter by Date." The schedule is subject to change.
Back To Schedule
Tuesday, December 14 • 12:15 - 13:05
Reduce System Call Overhead for Event-Driven Servers - Jim Huang, Biilabs Co., Ltd. & Steven Cheng, National Cheng Kung University

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Linux system calls have generally been implemented as a synchronous mechanism, where a special processor instruction is used to yield userspace execution to the kernel. On system intensive workloads, synchronous system calls negatively affect performance in a significant way, primarily because of pipeline flushing and pollution of key processor structures (e.g., TLB, data and instruction caches). In this talk, we propose the adaptive improvements over typical I/O system calls with fewer mode switches and increased locality of execution in both user and kernel space, that is beneficial to HTTP daemons and database servers. With small modifications against Linux kernel, the new syscall for event-driven scenario and accompanying user-mode runtime translate the synchronous system calls into schedulable ones, and for the application side, it is still more asynchronous than calling I/O calls. It also makes multi-core execution for event-driven programs easier, given that a single user-mode execution context can generate enough requests to keep multiple processors/cores busy with kernel execution. We will show the increase the throughput of Nginx by up to 12%, lighttpd by up to 35% and Redis by up to 3% while only modify two lines of application code.

avatar for Jim Huang

Jim Huang

CTO, BiiLabs Co., Ltd.
Jim is the leader of the engineering team at BiiLabs, where he focuses on building blockchain-based solutions. With a background in the Android Open Source Project, Jim specializes in real-time and performance tuning to optimize Linux-based automations. He is also a co-founder of... Read More →
avatar for Steven Cheng

Steven Cheng

Graduate Student, National Cheng Kung University
Steven Cheng is now hacking Linux system calls by adapting asynchronous execution and runtime reordering.

Tuesday December 14, 2021 12:15 - 13:05 JST
Linux Systems Theater
  Linux Systems