Bare-Metal Multicore Performance in a General-Purpose Operating System (Adventures in Ubiquity)
|Project:||Bare-Metal Multicore Performance in a General-Purpose Operating System|
Database, high-performance computing (HPC), and real-time developers have often asked: "Can't you get the kernel out of the way?". Recent adaptive-idle work permits just that: Linux is there when you need it, but if you follow a few simple rules, it is out of your way otherwise. This approach will provide bare-metal multicore performance and scalability to databases as well as to HPC and real-time applications.
A key part of any project is validation. Now some people will tell you that Linux-kernel testing doesn't really start until Fengguang Wu subjects your code to his 0-day testing. Other people will say that testing doesn't really start until Stephen Rothwell does -next integration testing. Still others claim that testing doesn't really start until your code is accepted into mainline. Yet other people claim that testing doesn't really start until the distros run their entrprise test suites. But I am here to tell you that testing doesn't really start until your code is enabled by default by major distros. At that point, your code becomes ubiquitous, which means that (through no fault of their own!) people start using your code for purposes you had not fully considered, which is usually an excellent way to find new and different corner cases that your code does not yet handle properly. This talk will describe a few interesting adventures with a few surprising corner cases.
Paul E. McKenney has been coding for more than four decades, more than half of that on parallel hardware, where his work has earned him a reputation among some as a flaming heretic. Over the past decade, Paul has been an IBM Distinguished Engineer at the IBM Linux Technology Center. Paul maintains the RCU implementation within the Linux kernel, where the variety of workloads present highly entertaining performance, scalability, real-time response, and energy-efficiency challenges. Prior to that, he worked on the DYNIX/ptx kernel at Sequent, and prior to that on packet-radio and Internet protocols (but long before it was polite to mention Internet at cocktail parties), system administration, business applications, and real-time systems. His hobbies include what passes for running at his age (AKA "hiking") along with the usual house-wife-and-kids habit.