Purdue CS undergrad earns finalist award in CRA Research Recognition
An undergraduate researcher offered a novel contribution to the Linux operating system kernel. This contribution earned computer science senior Kaiyang Zhao a Finalist position in the 2021 Computing Research Association (CRA) Outstanding Undergraduate Researcher competition, which recognizes undergraduate students in North American universities who show outstanding research potential in an area of computing research.
Zhao, who worked with CS Professor Pedro Fonseca’s group in the Reliable and Secure Systems Lab, made primary and fundamental contributions to the proposal of ON-DEMAND-FORK, a fast implementation of the fork system call specifically designed for applications with large memory footprints.
“Kaiyang was able to make a fundamental contribution to a core component of the Linux operating system kernel, the fork system call,” said Fonseca. He added, “Many would have thought this to be a mature component of the operating systems kernel where there was nothing to innovate, but Kaiyang proved them wrong!”
Traditionally this system call has been simply used to launch new applications, however over time advanced use-cases have emerged. For instance, some storage applications now use the fork system call to create a snapshot of a running application while it simultaneously handles client requests.
Fonseca said, “Kaiyang was able to significantly optimize this system call and make it scale to applications that have very large memory footprints, which are increasingly commonplace.”
ON-DEMAND-FORK relies on the observation that copy-on-write can be extended to the page tables. An improvement and drop-in replacement for the traditional fork implementation, it executes faster by sharing the page tables between the parent and the child at fork time and copying page tables in small chunks, on-demand, when handling page faults.
In the group’s efforts, it was shown this new design will benefit a wide-range of advanced applications, including automated testing frameworks that need to repeat millions of tests and serverless frameworks that expect developers to write highly scalable distributed systems with very fast start-up times.
ON-DEMAND-FORK performed well on a range of microbenchmarks and real-world workloads. It reduces the time of the fork call execution (startup time) to essentially constant. At 1GB memory allocated, ON-DEMAND-FORK has a 55x performance advantage over fork. It was evaluated on testing, fuzzing, and snapshotting on workloads of well-known applications – obtaining 35% to 161% improvements in execution throughput and as much as 98% reduction in execution time.
Zhao’s On-DEMAND-FORK work resulted in a to be published paper at the 16th USENIX EuroSys Conference 2021 (EuroSys’21), a premier forum for discussing various issues of systems software research and development. The paper will be publicly available in April.
“It is really nice to see that Kaiyang’s work panned out so well,” said Fonseca. “We expect that the system he developed will be quickly adopted by the community once we release it publicly.”
Zhao said, “I am immensely happy with the outcome of this research project.” He added, “Specifically, the opportunity allowed me to explore the process of doing research in CS, come to the realization that I love doing it, and be well prepared for graduate school.”
In December 2020, Zhao received his bachelor’s degree in computer science in the machine intelligence track. He has elected to pursue a PhD in computer science in the fall of 2021.