Demo Data from EDBT 2026 / reviewers in the wild / expert
Jonathan Appavoo
dblp:36/248
· DBLP profile ↗
24ranked-venue papers
2as first author
2since 2021 · last 2024
0009-0002-5594-4263ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 14 · 2 first-author · 2 since 2021Software engineering, systems software and programming languages · 10Computer networks · 1Human-computer interaction and ubiquitous computing · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
10 papers |
Operating systems · 94% Software maintenance and evolution · 6% | |
| Computer architecture, parallel and distributed computing, and storage systems
11 papers |
Memory systems · 43% Cloud and datacenter computing · 26% Parallel and multicore computing · 15% | |
| Computer networks
1 paper |
Internet of things and sensor networks · 100% | |
| Human-computer interaction and pervasive computing
1 paper |
Collaborative and social computing · 77% Ubiquitous computing and smart environments · 23% |
Topics — the 28 heaviest of 34, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Operating systems › operating system design
library operating systems |
0.9 | 2 | 2023 | Unikernel Linux (UKL) · EuroSys 2023 EbbRT: A Framework for Building Per-Application Library Operating Systems · OSDI 2016 |
Operating systems › kernel
kernel design |
0.7 | 1 | 2023 | Unikernel Linux (UKL) · EuroSys 2023 |
Operating systems › kernel
linux kernel |
0.7 | 1 | 2023 | Unikernel Linux (UKL) · EuroSys 2023 |
Operating systems › operating system design
unikernel |
0.7 | 1 | 2023 | Unikernel Linux (UKL) · EuroSys 2023 |
Memory systems › memory management › virtual memory
address translation |
0.4 | 1 | 2020 | The Virtual Block Interface: A Flexible Alternative to the Conventional Virtual Memory Framework · ISCA 2020 |
Memory systems › memory management
heterogeneous memory management |
0.4 | 1 | 2020 | The Virtual Block Interface: A Flexible Alternative to the Conventional Virtual Memory Framework · ISCA 2020 |
Cloud and datacenter computing
serverless computing |
0.4 | 1 | 2020 | SEUSS: skip redundant paths to make serverless fast · EuroSys 2020 |
Memory systems › memory management
virtual memory |
0.4 | 1 | 2020 | The Virtual Block Interface: A Flexible Alternative to the Conventional Virtual Memory Framework · ISCA 2020 |
Collaborative and social computing › organizational communication
workplace communication |
0.4 | 1 | 2019 | Talking about Chat at Work in the Global South: An Ethnographic Study of Chat Use in India and Kenya · CHI 2019 |
Internet of things and sensor networks › wireless sensor network › network diagnosis
sensor fault detection |
0.3 | 1 | 2018 | Fall-curve: A novel primitive for IoT Fault Detection and Isolation · SenSys 2018 |
Cloud and datacenter computing
virtualization |
0.3 | 4 | 2023 | Unikernel Linux (UKL) · EuroSys 2023 EbbRT: A Framework for Building Per-Application Library Operating Systems · OSDI 2016 Providing a cloud network infrastructure on a supercomputer · HPDC 2010 |
Parallel and multicore computing › parallel programming models
automatic parallelization |
0.2 | 1 | 2014 | ASC: automatically scalable computation · ASPLOS 2014 |
Processor architecture and microarchitecture
speculative execution |
0.2 | 1 | 2014 | ASC: automatically scalable computation · ASPLOS 2014 |
Parallel and multicore computing
speculative parallelization |
0.2 | 1 | 2014 | ASC: automatically scalable computation · ASPLOS 2014 |
Operating systems › resource management › memory management
memory sharing |
0.1 | 1 | 2020 | SEUSS: skip redundant paths to make serverless fast · EuroSys 2020 |
High-performance computing
supercomputing |
0.1 | 1 | 2010 | Providing a cloud network infrastructure on a supercomputer · HPDC 2010 |
Electronic design automation › hardware verification and test › fault diagnosis
fault isolation |
0.1 | 1 | 2018 | Fall-curve: A novel primitive for IoT Fault Detection and Isolation · SenSys 2018 |
Software maintenance and evolution › dynamic software updating
live patching |
0.1 | 1 | 2007 | Reboots Are for Hardware: Challenges and Solutions to Updating an Operating System on the Fly · USENIX ATC 2007 |
Electronic design automation › hardware simulation
functional simulation |
0.1 | 1 | 2014 | ASC: automatically scalable computation · ASPLOS 2014 |
Software maintenance and evolution › software updates
kernel patching |
0.1 | 1 | 2005 | Improving dynamic update for operating systems · SOSP 2005 |
Operating systems
live update |
0.1 | 1 | 2005 | Improving dynamic update for operating systems · SOSP 2005 |
Software maintenance and evolution › software evolution › software adaptation
dynamic reconfiguration |
0.0 | 1 | 2003 | System Support for Online Reconfiguration · USENIX ATC, General Track 2003 |
Software maintenance and evolution
software updates |
0.0 | 2 | 2007 | Reboots Are for Hardware: Challenges and Solutions to Updating an Operating System on the Fly · USENIX ATC 2007 Providing Dynamic Update in an Operating System · USENIX ATC, General Track 2005 |
Cloud and datacenter computing › virtualization
network virtualization |
0.0 | 1 | 2010 | Providing a cloud network infrastructure on a supercomputer · HPDC 2010 |
Operating systems › multiprocessing
multiprocessor operating system |
0.0 | 1 | 1999 | Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System · OSDI 1999 |
Operating systems
kernel |
0.0 | 1 | 2005 | Improving dynamic update for operating systems · SOSP 2005 |
Reconfigurable computing and FPGAs
dynamic reconfiguration |
0.0 | 1 | 2003 | System Support for Online Reconfiguration · USENIX ATC, General Track 2003 |
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor |
0.0 | 1 | 1999 | Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System · OSDI 1999 |
Methods — techniques the papers use, named apart from their topics
snapshotting · 0.9page-level sharing · 0.9hardware-software co-design · 0.4ethnographic study · 0.4state prediction · 0.2speculative multithreading · 0.2selective partitioning and replication · 0.1object-oriented structuring · 0.1object-oriented kernel design · 0.1direct hardware access · 0.1dynamic software updating · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Can OS Specialization give new life to old carbon in the cloud?abstractIs there "fat" (overheads) in cloud computing infrastructure software that can be trimmed? Would doing so help ameliorate the need for frequent hardware refreshes and extend the life of existing hardware? In this paper, we demonstrate that, indeed, there is "fat" that can be trimmed by using specialized OS-based software stacks. Doing so can allow decade-old computers to be used for critical cloud infrastructure services, potentially yielding 3x improvements in efficiency compared to standard software stacks on newer hardware. The implications of these results raise the possibility of exploiting OS optimizations to reduce server hardware obsolescence. Further, it suggests the importance of addressing the key portability challenges of specialized OS stacks. Han Dong, Sanjay Arora, Orran Krieger, Jonathan Appavoo |
SYSTOR | 4 |
| 2023 | Unikernel Linux (UKL)abstractThis paper presents Unikernel Linux (UKL), a path toward integrating unikernel optimization techniques in Linux, a general purpose operating system. UKL adds a configuration option to Linux allowing for a single, optimized process to link with the kernel directly, and run at supervisor privilege. This UKL process does not require application source code modification, only a re-link with our, slightly modified, Linux kernel and glibc. Unmodified applications show modest performance gains out of the box, and developers can further optimize applications for more significant gains (e.g. 26% throughput improvement for Redis). UKL retains support for co-running multiple user level processes capable of communicating with the UKL process using standard IPC. UKL preserves Linux's battle-tested codebase, community, and ecosystem of tools, applications, and hardware support. UKL runs both on bare-metal and virtual servers and supports multi-core execution. The changes to the Linux kernel are modest (1250 LOC). Ali Raza 0003, Thomas Unger, Matthew Boyd, Eric B. Munson, Parul Sohal, Ulrich Drepper, Daniel Bristot de Oliveira, Larry Woodman, Renato Mancuso 0001, Jonathan Appavoo, Orran Krieger |
EuroSys | 11 |
| 2020 | SEUSS: skip redundant paths to make serverless fastabstractThis paper presents a system-level method for achieving the rapid deployment and high-density caching of serverless functions in a FaaS environment. For reduced start times, functions are deployed from unikernel snapshots, bypassing expensive initialization steps. To reduce the memory footprint of snapshots we apply page-level sharing across the entire software stack that is required to run a function. We demonstrate the effects of our techniques by replacing Linux on the compute node of a FaaS platform architecture. With our prototype OS, the deployment time of a function drops from 100s of milliseconds to under 10 ms. Platform throughput improves by 51x on workload composed entirely of new functions. We are able to cache over 50,000 function instances in memory as opposed to 3,000 using standard OS techniques. In combination, these improvements give the FaaS platform a new ability to handle large-scale bursts of requests. James Cadden, Thomas Unger, Yara Awad, Han Dong, Orran Krieger, Jonathan Appavoo |
EuroSys | 6 |
| 2020 | The Virtual Block Interface: A Flexible Alternative to the Conventional Virtual Memory FrameworkabstractComputers continue to diversify with respect to system designs, emerging memory technologies, and application memory demands. Unfortunately, continually adapting the conventional virtual memory framework to each possible system configuration is challenging, and often results in performance loss or requires non-trivial workarounds. To address these challenges, we propose a new virtual memory framework, the Virtual Block Interface (VBI). We design VBI based on the key idea that delegating memory management duties to hardware can reduce the overheads and software complexity associated with virtual memory. VBI introduces a set of variable-sized virtual blocks (VBs) to applications. Each VB is a contiguous region of the globally-visible VBI address space, and an application can allocate each semantically meaningful unit of information (e.g., a data structure) in a separate VB. VBI decouples access protection from memory allocation and address translation. While the OS controls which programs have access to which VBs, dedicated hardware in the memory controller manages the physical memory allocation and address translation of the VBs. This approach enables several architectural optimizations to (1) efficiently and flexibly cater to different and increasingly diverse system configurations, and (2) eliminate key inefficiencies of conventional virtual memory. We demonstrate the benefits of VBI with two important use cases: (1) reducing the overheads of address translation (for both native execution and virtual machine environments), as VBI reduces the number of translation requests and associated memory accesses; and (2) two heterogeneous main memory architectures, where VBI increases the effectiveness of managing fast memory regions. For both cases, VBI significantly improves performance over conventional virtual memory. Nastaran Hajinazar, Pratyush Patel, Minesh Patel, Konstantinos Kanellopoulos, Saugata Ghose, Rachata Ausavarungnirun, Geraldo F. Oliveira, Jonathan Appavoo, Vivek Seshadri, Onur Mutlu |
ISCA | 8 |
| 2019 | Talking about Chat at Work in the Global South: An Ethnographic Study of Chat Use in India and KenyaabstractIn this paper, we examine how two chat apps fit into the communication ecosystem of six large distributed enterprises, in India and Kenya. From the perspective of management, these chat apps promised to foster greater communication and awareness between workers in the field, and between fieldworkers and the enterprises administration and management centres. Each organisation had multiple different types of chat groups, characterised by the types of content and interaction patterns they mediate, and the different organisational functions they fulfil. Examining the interplay between chat and existing local practices for coordination, collaboration and knowledge-sharing, we discuss how chat manifests in the distributed workplace and how it fits -- or otherwise -- alongside the rhythms of both local and remote work. We contribute to understandings of chat apps for workplace communication and provide insights for shaping their ongoing development. Moira McGregor, Nicola J. Bidwell, Vidya Sarangapani, Jonathan Appavoo, Jacki O'Neill |
CHI | 4 |
| 2019 | A fork() in the roadabstractThe received wisdom suggests that Unix's unusual combination of fork() and exec() for process creation was an inspired design. In this paper, we argue that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability. We catalog the ways in which fork is a terrible abstraction for the modern programmer to use, describe how it compromises OS implementations, and propose alternatives. Andrew Baumann, Jonathan Appavoo, Orran Krieger, Timothy Roscoe |
HotOS | 2 |
| 2019 | Unikernels: The Next Stage of Linux's DominanceabstractUnikernels have demonstrated enormous advantages over Linux in many important domains, causing some to propose that the days of Linux's dominance may be coming to an end. On the contrary, we believe that unikernels' advantages represent the next natural evolution for Linux, as it can adopt the best ideas from the unikernel approach and, along with its battle-tested codebase and large open source community, continue to dominate. In this paper, we posit that an upstreamable unikernel target is achievable from the Linux kernel, and, through an early Linux unikernel prototype, demonstrate that some simple changes can bring dramatic performance advantages. Ali Raza 0003, Parul Sohal, James Cadden, Jonathan Appavoo, Ulrich Drepper, Orran Krieger, Renato Mancuso 0001, Larry Woodman |
HotOS | 4 |
| 2018 | Fall-curve: A novel primitive for IoT Fault Detection and IsolationabstractThe proliferation of Internet of Things (IoT) devices has led to the deployment of various types of sensors in the homes, offices, buildings, lawns, cities, and even in agricultural farms. Since IoT applications rely on the fidelity of data reported by the sensors, it is important to detect a faulty sensor and isolate the cause of the fault. Existing fault detection techniques demand sensor domain knowledge along with the contextual information and historical data from similar near-by sensors. However, detecting a sensor fault by analyzing just the sensor data is non-trivial since a faulty sensor reading could mimic non-faulty sensor data. This paper presents a novel primitive, which we call the Fall-curve - a sensor's voltage response when the power is turned off - that can be used to characterize sensor faults. The Fall-curve constitutes a unique signature independent of the phenomenon being monitored which can be used to identify the sensor and determine whether the sensor is correctly operating. Tusher Chakraborty, Akshay Uttama Nambi, Ranveer Chandra, Rahul Sharma 0001, S. Manohar 0001, Zerina Kapetanovic, Jonathan Appavoo |
SenSys | 7 |
| 2016 | EbbRT: A Framework for Building Per-Application Library Operating Systems
Dan Schatzberg, James Cadden, Han Dong, Orran Krieger, Jonathan Appavoo |
OSDI | 5 |
| 2015 | Towards General-Purpose Neural Network ComputingabstractMachine learning is becoming pervasive, decades of research in neural network computation is now being leveraged to learn patterns in data and perform computations that are difficult to express using standard programming approaches. Recent work has demonstrated that custom hardware accelerators for neural network processing can outperform software implementations in both performance and power consumption. However, there is neither an agreed-upon interface to neural network accelerators nor a consensus on neural network hardware implementations. We present a generic set of software/hardware extensions, X-FILES, that allow for the general-purpose integration of feedforward and feedback neural network computation in applications. The interface is independent of the network type, configuration, and implementation. Using these proposed extensions, we demonstrate and evaluate an example dynamically allocated, multi-context neural network accelerator architecture, DANA. We show that the combination of X-FILES and our hardware prototype, DANA, enables generic support and increased throughput for neural-network-based computation in multi-threaded scenarios. Schuyler Eldridge, Amos Waterland, Margo I. Seltzer, Jonathan Appavoo, Ajay Joshi |
PACT | 4 |
| 2014 | ASC: automatically scalable computationabstractWe present an architecture designed to transparently and automatically scale the performance of sequential programs as a function of the hardware resources available. The architecture is predicated on a model of computation that views program execution as a walk through the enormous state space composed of the memory and registers of a single-threaded processor. Each instruction execution in this model moves the system from its current point in state space to a deterministic subsequent point. We can parallelize such execution by predictively partitioning the complete path and speculatively executing each partition in parallel. Accurately partitioning the path is a challenging prediction problem. We have implemented our system using a functional simulator that emulates the x86 instruction set, including a collection of state predictors and a mechanism for speculatively executing threads that explore potential states along the execution path. While the overhead of our simulation makes it impractical to measure speedup relative to native x86 execution, experiments on three benchmarks show scalability of up to a factor of 256 on a 1024 core machine when executing unmodified sequential programs. Amos Waterland, Elaine Angelino, Ryan P. Adams, Jonathan Appavoo, Margo I. Seltzer |
ASPLOS | 4 |
| 2013 | Computational cachesabstractCaching is a well-known technique for speeding up computation. We cache data from file systems and databases; we cache dynamically generated code blocks; we cache page translations in TLBs. We propose to cache the act of computation, so that we can apply it later and in different contexts. We use a state-space model of computation to support such caching, involving two interrelated parts: speculatively memoized predicted/resultant state pairs that we use to accelerate sequential computation, and trained probabilistic models that we use to generate predicted states from which to speculatively execute. The key techniques that make this approach feasible are designing probabilistic models that automatically focus on regions of program execution state space in which prediction is tractable and identifying state space equivalence classes so that predictions need not be exact. Amos Waterland, Elaine Angelino, Ekin Dogus Cubuk, Efthimios Kaxiras, Ryan P. Adams, Jonathan Appavoo, Margo I. Seltzer |
SYSTOR | 6 |
| 2012 | CloudPack - Exploiting Workload Flexibility through Rational Pricing
Vatche Isahagian, Raymond Sweha, Azer Bestavros, Jonathan Appavoo |
Middleware | 4 |
| 2010 | Providing a cloud network infrastructure on a supercomputerabstractSupercomputers and clouds both strive to make a large number of computing cores available for computation. More recently, similar objectives such as low-power, manageability at scale, and low cost of ownership are driving a more converged hardware and software. Challenges remain, however, of which one is that current cloud infrastructure does not yield the performance sought by many scientific applications. A source of the performance loss comes from virtualization and virtualization of the network in particular. This paper provides an introduction and analysis of a hybrid supercomputer software infrastructure, which allows direct hardware access to the communication hardware for the necessary components while providing the standard elastic cloud infrastructure for other components. Jonathan Appavoo, Amos Waterland, Dilma Da Silva, Volkmar Uhlig, Bryan S. Rosenburg, Eric Van Hensbergen, Jan Stoess, Robert W. Wisniewski, Udo Steinberg |
HPDC | 1 |
| 2007 | Reboots Are for Hardware: Challenges and Solutions to Updating an Operating System on the Fly
Andrew Baumann, Jonathan Appavoo, Robert W. Wisniewski, Dilma Da Silva, Orran Krieger, Gernot Heiser |
USENIX ATC | 2 |
| 2007 | Libra: a library operating system for a jvm in a virtualized execution environmentabstractIf the operating system could be specialized for every application, many applications would run faster. For example, Java virtual machines (JVMs) provide their own threading model and memory protection, so general-purpose operating system implementations of these abstractions are redundant. However, traditional means of transforming existing systems into specialized systems are difficult to adopt because they require replacing the entire operating system. This paper describes Libra, an execution environment specialized for IBM's J9 JVM. Libra does not replace the entire operating system. Instead, Libra and J9 form a single statically-linked image that runs in a hypervisor partition. Libra provides the services necessary to achieve good performance for the Java workloads of interest but relies on an instance of Linux in another hypervisor partition to provide a networking stack, a filesystem, and other services. The expense of remote calls is offset by the fact that Libra's services can be customized for a particular workload; for example, on the Nutch search engine, we show that two simple customizations improve application throughput by a factor of 2.7. Glenn Ammons, Jonathan Appavoo, Maria A. Butrico, Dilma Da Silva, David Grove, Kiyokuni Kawachiya, Orran Krieger, Bryan S. Rosenburg, Eric Van Hensbergen, Robert W. Wisniewski |
VEE | 2 |
| 2007 | Experience distributing objects in an SMMP OSabstractDesigning and implementing system software so that it scales well on shared-memory multiprocessors (SMMPs) has proven to be surprisingly challenging. To improve scalability, most designers to date have focused on concurrency by iteratively eliminating the need for locks and reducing lock contention. However, our experience indicates that locality is just as, if not more, important and that focusing on locality ultimately leads to a more scalable system. In this paper, we describe a methodology and a framework for constructing system software structured for locality, exploiting techniques similar to those used in distributed systems. Specifically, we found two techniques to be effective in improving scalability of SMMP operating systems: (i) an object-oriented structure that minimizes sharing by providing a natural mapping from independent requests to independent code paths and data structures, and (ii) the selective partitioning, distribution, and replication of object implementations in order to improve locality. We describe concrete examples of distributed objects and our experience implementing them. We demonstrate that the distributed implementations improve the scalability of operating-system-intensive parallel workloads. Jonathan Appavoo, Dilma Da Silva, Orran Krieger, Marc A. Auslander, Michal Ostrowski, Bryan S. Rosenburg, Amos Waterland, Robert W. Wisniewski, Jimi Xenidis, Michael Stumm, Livio B. Soares |
ACM Trans. Comput. Syst. | 1 |
| 2006 | Portability events: a programming model for scalable system infrastructuresabstractClustered Objects (COs) [1] have been proven to be an effective abstraction for improving scalability of systems software [2, 3]. But can we devise a programming model that would allow COs to live outside the specialized environments of these operating systems and still provide benefit? This paper presents an overview of SCOPE (Scalable COs with Portability Events), a prototype user-level library derived from the original implementation of COs in the K42 OS. Our initial results indicate that not only do the benefits of COs hold, but that the notion of a "portability event", responsible for maintaining the runtime environment of COs, provides a powerful programming model that will enable COs to be seamlessly transplanted into systems beyond K42. This paper overviews this programming model, provides details and preliminary results from its prototype implementation in SCOPE, and provides motivation to consider simple language mechanisms to further support portability events and this programming model in general. Chris Matthews, Yvonne Coady, Jonathan Appavoo |
PLOS | 3 |
| 2006 | K42: building a complete operating systemabstractK42 is one of the few recent research projects that is examining operating system design structure issues in the context of new whole-system design. K42 is open source and was designed from the ground up to perform well and to be scalable, customizable, and maintainable. The project was begun in 1996 by a team at IBM Research. Over the last nine years there has been a development effort on K42 from between six to twenty researchers and developers across IBM, collaborating universities, and national laboratories. K42 supports the Linux API and ABI, and is able to run unmodified Linux applications and libraries. The approach we took in K42 to achieve scalability and customizability has been successful.The project has produced positive research results, has resulted in contributions to Linux and the Xen hypervisor on Power, and continues to be a rich platform for exploring system software technology. Today, K42, is one of the key exploratory platforms in the DOE's FAST-OS program, is being used as a prototyping vehicle in IBM's PERCS project, and is being used by universities and national labs for exploratory research. In this paper, we provide insight into building an entire system by discussing the motivation and history of K42, describing its fundamental technologies, and presenting an overview of the research directions we have been pursuing. Orran Krieger, Marc A. Auslander, Bryan S. Rosenburg, Robert W. Wisniewski, Jimi Xenidis, Dilma Da Silva, Michal Ostrowski, Jonathan Appavoo, Maria A. Butrico, Mark F. Mergen, Amos Waterland, Volkmar Uhlig |
EuroSys | 8 |
| 2005 | Improving dynamic update for operating systemsabstractModern operating systems are subject to a constant stream of patches and updates: to fix bugs, improve performance, or add features. Dynamic update offers significantly increased availability for operating systems, and enables administrators to avoid a difficult choice between the cost of down time and the risk of remaining unpatched. However, an operating system kernel is a unique environment for dynamic update; it is generally event-driven, multi-threaded, and involves a high degree of concurrency and asynchrony. It also provides a very restricted runtime environment. Existing dynamic update mechanisms are generally unsuited for use with operating-system code, either because they do not support concurrency [11, 13], require the system to be implemented in a specific language [1, 7, 9], or rely on a higher level of runtime support than is feasible within a traditional OS [5, 6]. Andrew Baumann, Jonathan Appavoo |
SOSP | 2 |
| 2005 | Providing Dynamic Update in an Operating System
Andrew Baumann, Gernot Heiser, Jonathan Appavoo, Dilma Da Silva, Orran Krieger, Robert W. Wisniewski, Jeremy Kerr |
USENIX ATC, General Track | 3 |
| 2003 | System Support for Online Reconfiguration
Craig A. N. Soules, Jonathan Appavoo, Kevin Hui, Robert W. Wisniewski, Dilma Da Silva, Gregory R. Ganger, Orran Krieger, Michael Stumm, Marc A. Auslander, Michal Ostrowski, Bryan S. Rosenburg, Jimi Xenidis |
USENIX ATC, General Track | 2 |
| 2001 | Supporting Hot-Swappable Components for System SoftwareabstractSummary form only given. A hot-swappable component is one that can be replaced with a new or different implementation while the system is running and actively using the component. For example, a component of a TCP/IP protocol stack, when hot-swappable, can be replaced (perhaps to handle new denial-of-service attacks or improve performance), without disturbing existing network connections. The capability to swap components offers a number of potential advantages such as: online upgrades for high availability systems, improved performance due to dynamic adaptability and simplified software structures by allowing distinct policy and implementation options to be implemented in separate components (rather than as a single monolithic component) and dynamically swapped as needed. In order to hot-swap a component, it is necessary to (i) instantiate a replacement component; (ii) establish a quiescent state in which the component is temporarily idle; (iii) transfer state from the old component to the new component; (iv) swap the new component for the old; and (v) deallocate the old component. Kevin Hui, Jonathan Appavoo, Robert W. Wisniewski, Marc A. Auslander, David Edelsohn, Benjamin Gamsa, Orran Krieger, Bryan S. Rosenburg, Michael Stumm |
HotOS | 2 |
| 1999 | Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System
Benjamin Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm |
OSDI | 3 |