K42/Tornado Operating System
K42 is a research operating system currently being developed to address
performance and scalability issues of system software on large-scale,
shared-memory, NUMA multiprocessor computers. The operating system is a
product of research at the University of Toronto in collaboration with the
K42 group at the IBM Thomas
J. Watson Research Center.
K42 uses a micro-kernel architecture rather than the traditional monolithic
kernel design. K42 consists of a small exception-handling component that
serves as the micro-kernel, a fast IPC mechanism, and servers for all other
components of the operating system. These servers exist in separate address
spaces and rely upon the fast IPC mechanism for communication with the
micro-kernel and other servers.
The core of K42 is based on the University of Toronto's Tornado Operating
System. K42 is the university's third generation of research on scalable
operating systems. Tornado OS / NUMAchine Multiprocessor was the second
generation and Hurricane OS / Hector Multiprocessor was the first
generation. The origin of the name "K42" is
best explained by Bob Wisniewski.
K42 runs on 64-bit processors that include the 64-bit PowerPC, MIPS, and AMD
x86-64 processors. In terms of complete systems, K42 runs on SimOS machine
simulation software (under 64-bit PowerPC and MIPS emulation), the NUMAchine
multiprocessor (MIPS), and IBM RS/6000 64-bit PowerPC computers.
Older overview of Tornado OS.
The main research focus at the University of Toronto is on scalability.
Professor Michael Stumm
- Adam Czajkowski -
Automatic run-time code profiling and optimization.
- Reza Mokhtari -
Operating system and language support for heterogeneous many-core
- Livio Soares - IBM Research;
Interaction between operating systems and modern hardware, on-line memory/cache profiling.
- Alex Depoutovitch - VMWare;
Reliability and dependability of commodity operating systems.
- David Tam - IBM Toronto; File system
scalability, scalability on CMPs
- Tom Walsh - Bloomberg ; Memory management
- Reza Azimi - IBM Toronto; Hardware
performance counters, dynamic optimization / adaptabilty.
- Raymond Fingas -
Microsoft ; Hot-swapping and online profiling.
- Adrian Tam - Read Copy
Update (RCU) and Read Block Update (RBU).
- Jonathan Appavoo -
IBM Research - Boston University; Clustered objects.
- Derek Devries - File system scalability.
- Ben Gamsa - SOMA
Networks - Altera; Tornado core kernel scalability.
- Robert Ho - NUMA page
- Kevin Hui - Dynamic clustered
object switching mechanisms.
- Orran Krieger - IBM
Research - VMWare; Hurricane File System.
- Eric Parsons - Multiprocessor scheduling.
- Karen Reid - University
of Toronto; I/O subsystems.
- Daniel Wilks - Hierarchical application-oriented physical memory
The K42/Tornado Operating System is closely tied with the
K42 project at the IBM Thomas J.
Watson Research Center.
- Enabling Autonomic System Software With Hot-Swapping, IBM Systems Journal
Infrastructure for Multiprocessor Run Time Adaptation, Jonathan Appavoo,
Kevin Hui, Michael Stumm, Robert Wisniewski, Dilma da Silva, Orran Krieger,
Craig Soules, Workshop on Self-Healing Systems (WOSS), 2002.
- Read-Copy Update, Paul
E. McKenney, Jonathan Appavoo, Andi Kleen, Orran Krieger, Rusty Russell,
Dipankar Sarma, and Maneesh Soni, Ottawa Linux Symposium 2001.
- Tornado: Maximizing Locality and
Concurrency in a Shared Memory Multiprocessor Operating System, Ben
Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm, USENIX OSDI 1999.
- Customization Lite, Marc
Auslander, Hubertus Franke, Ben Gamsa, Orran Krieger, Michael Stumm, 6th
Workshop on Hot Topics in Operating Systems (HotOS-VI), May 1997.
- Exploiting Mapped Files for Parallel
I/O, Orran Krieger, Karen Reid, Michael Stumm, SPDP Workshop on
Modeling and Specification of I/O (MSIO), October 1995.
- (De-)Clustering Objects for
Multiprocessor System Software, Eric Parsons, Ben Gamsa, Orran Krieger,
Michael Stumm, Fourth International Workshop on Object Orientation in
Operating Systems 1995.
All other papers are available from here
and from the IBM K42 web
System Techniques for Reducing Processor State Pollution, Livio Soares,
Ph.D. thesis, 2012.
- Giving Applications a Chance to Survive OS Kernel Crashes, Alex Depoutovitch,
Ph.D. thesis, 2012.
- Operating System
Management of Shared Caches on Multicore Processors,
David Tam, Ph.D. thesis, 2010.
- Generating Miss Rate Curves with Low Overhead
Using Existing Hardware, Tom Walsh, M.Sc. thesis, 2009.
Software Utilization of Hardware Performance Monitoring Information,
Reza Azimi, Ph.D. thesis, 2007.
- Interposing on Calls in the K42 Operating System,
Raymond Fingas, MA.Sc. thesis, 2006
- QDo: A Quiescent State Callback Facility,
Adrian Tam, MA.Sc. thesis, 2006.
- Clustered Objects, Jonathan Appavoo,
Ph.D. thesis, 2005.
- Performance Analysis and Optimization
of the Hurricane File System on the K42 Operating System, David Tam,
M.A.Sc. thesis, 2003.
- Design and Implementation of K42's
Dynamic Clustered Object Switching Mechanism, Kevin Hui, M.Sc. thesis,
- Tornado: Maximizing Locality and
Concurrency in a Shared-Memory Multiprocessor Operating System, Ben
Gamsa, Ph.D. thesis, 1999.
- Clustered Objects: Initial Design,
Implementaion and Evaluation, Jonathan Appavoo, M.Sc. thesis, 1998.
- HFS: A Flexible File System for
Shared-Memory Multiprocessors, Orran Krieger, Ph.D. thesis, 1994.
- Implementing resource containers in K42, winter/spring 2003.
- Outline of the March 19, 2004
presentation to LBL and ORNL.
Linux Kernel Sources + K42 Patches:
Linux patches for the K42 target architecture:
K42 image files:
Toolchain used to build K42:
Debian Linux x86 packages:
- This is an image of our working installation, minus .o files. It's a Linux 2.6 source tree with K42 patches already applied to it (patch26b).
Please forward any comments, suggestions or questions
Last modified: Thu May 19 17:52:46 EDT 2011
David Tam -- firstname.lastname@example.org