Appendix G. Systems Performance Who’s Who

It can be useful at times to know who created the technologies that we use. This is a list of who’s who in the field of systems performance, based on the Linux- and Solaris-related technologies in this book. Identifying everyone properly is a difficult task, and this is the first attempt do so, inspired by the Unix who’s who list in [Libes 89]. Apologies to those who are missing or misappropriated. For those wishing to dig further into the people and history, see the references in the Bibliography, the names listed in the Linux source code, and the authors in the illumos repository.

John Allspaw: capacity planning [Allspaw 08].

Jens Axboe: CFQ I/O Scheduler, fio, blktrace, per backing device write-back.

Jeff Bonwick: invented kernel slab allocation, co-invented user-level slab allocation, co-invented ZFS, kstat, first developed mpstat.

Tim Bray: authored the Bonnie disk I/O micro-benchmark, known for XML.

Bryan Cantrill: father of DTrace; Solaris kernel hi-res cyclics; debunked Solaris n:m implementation; authored Oracle ZFS Storage Appliance Analytics.

Rémy Card: primary developer for the ext2 and ext3 file systems.

Nadia Yvette Chambers: Linux hugetlbfs.

Guillaume Chazarain: iotop(1) for Linux.

Adrian Cockcroft: performance books ([Cockcroft 95], [Cockcroft 98]), Virtual Adrian (SE Toolkit).

Tim Cook: nicstat(1) for Linux, and enhancements.

Alan Cox: Linux network stack performance.

Mathieu Desnoyers: Linux Trace Toolkit (LTTng), Linux Trace Toolkit Viewer (LTTV), kernel tracepoints, main author of userspace RCU.

Srikar Dronamraju: Linux uprobes.

Frank Ch. Eigler: lead developer for SystemTap.

Kevin Robert Elz: DNLC.

Roger Faulkner: wrote /proc for UNIX System V, thread implementation for Solaris, and the truss(1) system call tracer.

Thomas Gleixner: Various Linux kernel performance work including hrtimers.

Sebastien Godard: sysstat package for Linux, which contains numerous performance tools including iostat(1), mpstat(1), pidstat(1), nfsiostat(1), cifsiostat(1), and an enhanced version of sar(1), sadc(8), sadf(1) (see the metrics in Appendix C).

Brendan Gregg: nicstat(1), psio, DTraceToolkit (original iosnoop, iotop, rwtop, tcptop, dtruss, execsnoop, etc.), original DTrace ip, tcp, udp, javascript providers, ZFS L2ARC; USE method, TSA method, etc.; latency, utilization, and subsecond-offset heat maps, flame graphs; books: [McDougall 06b], [Gregg 11], this one.

Dr. Neil Gunther: Universal Scalability Law, ternary plots for CPU utilization, performance books [Gunther 97].

Van Jacobson: traceroute(8), pathchar, TCP/IP performance.

Raj Jain: systems performance theory [Jain 91].

Jerry Jelinek: Solaris Zones.

Bill Joy: vmstat(1), BSD virtual memory work, TCP/IP performance, FFS.

Vamsi Krishna S: kprobes.

Christoph Lameter: SLUB allocator.

William LeFebvre: wrote the first version of top(1), inspiring many other tools.

John Levon: OProfile, DTrace ustack helper for Python.

Mike Loukides: first book on Unix systems performance [Loukides 90], which either began or encouraged the tradition of resource-based analysis: CPU, memory, disk, network.

Robert Love: Linux kernel performance work, including for preemption.

Marshall Kirk McKusick: FFS, work on BSD.

David S. Miller: Linux network stack improvements.

Cary Millsap: Method R.

Ingo Molnar: O(1) scheduler, completely fair scheduler, voluntary kernel preemption, ftrace, perf, and work on real-time preemption, mutexes, futexes, scheduler profiling, work queues.

Andrew Morton: fadvise, read-ahead.

Mike Muuss: ping(8).

Shailabh Nagar: Delay accounting, taskstats.

Dave Pacheco: DTrace ustack helper for V8/Node.js.

Rich Pettit: SE Toolkit.

Nick Piggin: Linux scheduler domains.

Bill Pijewski: vfsstat(1M), ZFS I/O throttling.

Dennis Ritchie: Unix, and its original performance features: process priorities, swapping, buffer cache, etc.

Tom Rodriguez: DTrace ustack helper for Java.

Steven Rostedt: adaptive spinning mutexes, ftrace, KernelShark.

Rusty Russell: original futexes, various Linux kernel work.

Eric Saxe: Solaris kernel performance improvements.

Michael Shapiro: co-created DTrace, Solaris /proc enhancements.

Balbir Singh: Linux memory resource controller, delay accounting, taskstats, cgroupstats, CPU accounting.

Ken Thompson: Unix, and its original performance features: process priorities, swapping, buffer cache, etc.

Linus Torvalds: the Linux kernel and numerous core components necessary for systems performance, Linux I/O scheduler.

Arjan van de Ven: latencytop, PowerTOP, irqbalance, work on Linux scheduler profiling.

Dag Wieers: dstat.

Peter Zijlstra: adaptive spinning mutex implementation, hardirq callbacks framework, other Linux performance work.