Technical Sessions

All sessions will take place in Tamaya FGH unless otherwise noted.

The full papers published by USENIX for the workshop are available as a download or individually below to workshop registrants immediately and to everyone beginning May 13, 2013. Everyone can view the abstracts immediately. Copyright to the individual works is retained by the author[s]. 

Attendee Files 

 

Monday, May 13, 2013

8:15 a.m.–8:45 a.m. Monday

Continental Breakfast

Tamaya Prefunction North

8:45 a.m.–9:00 a.m. Monday

Opening Remarks

Program Chair: Petros Maniatis, Intel Labs

9:00 a.m.–10:00 a.m. Monday

Shuffling I/O Up and Down the Stack

Session Chair: Andrew Warfield, University of British Columbia

We Need to Talk About NICs

Pravin Shinde, Antoine Kaufmann, Timothy Roscoe, and Stefan Kaestle, Systems Group, ETH Zurich

Operating systems fail both to efficiently exploit, and to effectively manage, the considerable hardware resources of modern network interface controllers. We survey the kinds of hardware facilities available and their applicability, and then investigate (and critique) the reasons why OS designers eschew core support for such features. We then describe Dragonet, a new network stack design based on explicit descriptions of NIC capabilities, aimed at making the best use of today’s and tomorrow’s networking hardware. Dragonet represents both the physical capabilities of the network hardware and the current protocol state of the machine as dataflow graphs. We then embed the former into the latter, instantiating the remainder in software.

Available Media

The NIC Is the Hypervisor: Bare-Metal Guests in IaaS Clouds

Jeffrey C. Mogul, Jayaram Mudigonda, Jose Renato Santos, and Yoshio Turner, HP Labs

Cloud computing does not inherently require the use of virtual machines, and some cloud customers prefer or even require “bare metal” systems, where no hypervisor separates the guest operating system from the CPU. Even for bare-metal nodes, the cloud provider must find a means to isolate the guest system from other cloud resources, and to manage the instantiation and removal of guests. We argue that an enhanced NIC, together with standard features of modern servers, can provide all of the functions for which a hypervisor would normally be required.

Available Media

Virtualize Storage, Not Disks

William Jannen, Chia-che Tsai, and Donald E. Porter, Stony Brook University

When one uses virtual machines for application compatibility, such as running Windows programs on Linux, the user only wants the API components, yet must emulate a disk drive and execute a second, counterproductive level of media heuristics and I/O scheduling. Systems should have a clean interface between API implementation and media optimization, which would lead to more efficient paravirtualization and facilitate rapid, independent evolution of media optimizations and API features. We describe a design that meets these goals, called Zoochory.

Available Media

Unified High-Performance I/O: One Stack to Rule Them All

Animesh Trivedi, Patrick Stuedi, Bernard Metzler, and Roman Pletka, IBM Research Zurich; Blake G. Fitch, IBM Research; Thomas R. Gross, ETH Zurich

Fast non-volatile memories are exposing inefficiencies in traditional I/O stacks. Though there have been fragmented efforts to deal with the issues, there is a pressing need for a high-performance storage stack. Interestingly, 20 years ago, networks were faced with similar challenges, which led to the development of concepts and implementations of multiple high-performance network stacks. In this paper we draw parallels to illustrate synergies between high-performance storage requirements and concepts from the networking space. We identify common high-performance I/O properties and recent efforts in storage to achieve those properties. Instead of reinventing the performance wheel, we advocate a case for using mature high-performance networking abstractions and frameworks to meet the storage demands, and discuss opportunities and challenges that arise with this unification.

Available Media
10:00 a.m.–10:30 a.m. Monday

Open Mike

Each session of papers will be followed by an Open Mike session, during which attendees can interactively discuss any issues, ideas, or controversy that arose during the paper session. Open Mike sessions are not meant as extended Q&A for the paper presenters, but as discussions sparked by the papers.

10:30 a.m.–11:00 a.m. Monday

Break with Refreshments

11:00 a.m.–noon Monday

WiP/Unconference Solicitation

Session Chair: George Candea, EPFL

Attention, registered attendees! Please check your email soon for more information about this session.

Early on in the workshop, we will have an opportunity for attendees to take two minutes to address the audience with work-in-progress reports, solicitations for topics to discuss during the four unconference sessions, and even advertisements for talks to be presented late in the workshop (i.e., during the third day). No Q&A will be allowed during this session, since the purpose is to drive discussion during the rest of the workshop and the unconference sessions. We will open up sign-up for these slots in the weeks before the workshop.

Noon–1:30 p.m. Monday

Workshop Luncheon

Puma

1:30 p.m.–2:15 p.m. Monday

Unconference #1

This is one of four sessions during which attendees can break out into parallel groups discussing topics of their choosing. The idea for these sessions is to foster interaction without excessive structure. Topics to discuss might be related to the papers presented, demos of systems being built, ideas for a HotOS paper to write for 2015, etc. We will open up sign-up for topics before the workshop. 

2:15 p.m.–2:30 p.m. Monday

Break

2:30 p.m.–3:15 p.m. Monday

Edgy at the Edge

Session Chair: Alex C. Snoeren, University of California, San Diego

The Case for Onloading Continuous High-Datarate Perception to the Phone

Seungyeop Han, University of Washington; Matthai Philipose, Microsoft Research

Much has been said recently on off-loading computations from the phone. In particular, workloads such as speech and visual recognition that involve models based on “big data” are thought to be prime candidates for cloud processing. We posit that the next few years will see the arrival of mobile usages that require continuous processing of audio and video data from wearable devices. We argue that these usages are unlikely to flourish unless substantial computation is moved back on to the phone. We outline possible solutions to the problems inherent in such a move. We advocate a close partnership between perception and systems researchers to realize these usages.

Available Media

Making Every Bit Count in Wide-Area Analytics

Ariel Rabkin, Matvey Arye, Siddhartha Sen, Vivek Pai, and Michael J. Freedman, Princeton University

Many data sets, such as system logs, are generated from widely distributed locations. Current distributed systems often discard this data because they lack the ability to backhaul it efficiently, or to do anything meaningful with it at the distributed sites. This leads to lost functionality, efficiency, and business opportunities. The problem with traditional backhaul approaches is that they are slow and costly, and require analysts to define the data they are interested in up-front. We propose a new architecture that stores data at the edge (i.e., near where it is generated) and supports rich real-time and historical queries on this data, while adjusting data quality to cope with the vagaries of wide-area bandwidth. In essence, this design transforms a distributed data collection system into a distributed data analysis system, where decisions about collection do not preclude decisions about analysis.

Available Media

QuarkOS: Pushing the Operating Limits of Micro-Powered Sensors

Pengyu Zhang, Deepak Ganesan, and Boyan Lu, University of Massachusetts Amherst

As sensors penetrate into deeply embedded settings such as implantables, wearables, and textiles, they present new challenges due to their tiny energy buffers and extremely low harvesting conditions under which they need to operate. However, existing low-power operating systems are not designed with the goal of scaling down to such severely constrained environments. We address these challenges with QuarkOS, an OS that scales down by carefully dividing every communication, sensing, and computation task into tiny fragments (e.g. half-bit, one pixel) and introduces sleeps between such fragments to re-charge. In addition QuarkOS is designed to have minimal run-time overhead, while still adapting performance to harvesting conditions. Our results are promising and show continuous communication from an RF-powered CRFID can occur at a third of the harvesting levels of prior approaches, and continuous image sensing to be performed with a tiny solar panel under natural indoor light.

Available Media
3:15 p.m.–3:45 p.m. Monday

Open Mike

3:45 p.m.–4:15 p.m. Monday

Break with Refreshments

4:15 p.m.–5:00 p.m. Monday
5:00 p.m.–5:15 p.m. Monday

Break

5:15 p.m.–6:00 p.m. Monday

Be More Tolerant, but Not Too Tolerant

Session Chair: Michael Walfish, The University of Texas at Austin

Failure Recovery: When the Cure Is Worse Than the Disease

Zhenyu Guo, Sean McDirmid, Mao Yang, and Li Zhuang, Microsoft Research Asia; Pu Zhang, Microsoft Research Asia and Peking University; Yingwei Luo, Peking University; Tom Bergan, Microsoft Research and University of Washington; Madan Musuvathi, Zheng Zhang, and Lidong Zhou, Microsoft Research Asia

Cloud services inevitably fail: machines lose power, networks become disconnected, pesky software bugs cause sporadic crashes, and so on. Unfortunately, failure recovery itself is often faulty; e.g. recovery can accidentally recursively replicate small failures to other machines until the entire cloud service fails in a catastrophic outage, amplifying a small cold into a contagious deadly plague! We propose that failure recovery should be engineered foremost according to the maxim of primum non nocere, that it “does no harm.” Accordingly, we must consider the system holistically when failure occurs and recover only when observed activity safely allows for it.

Available Media

Toward Common Patterns for Distributed, Concurrent, Fault-Tolerant Code

Ryan Stutsman and John Ousterhout, Stanford University

There are no widely accepted design patterns for writing distributed, concurrent, fault-tolerant code. Each programmer develops her own techniques for writing this type of complex software. The use of a common pattern for fault-tolerant programming has the potential to produce correct code more quickly and increase shared understanding between developers.

We describe rules, tasks, and pools, patterns extracted from the development of RAMCloud, a fault-tolerant datacenter storage system. We illustrate their application and discuss their relationship to concurrent programming models. Our goal is to generate discussion that will ultimately lead to common techniques for fault-tolerant programming.

Available Media

Escape Capsule: Explicit State Is Robust and Scalable

Shriram Rajagopalan, IBM T. J. Watson Research Center and University of British Columbia; Dan Williams and Hani Jamjoom, IBM T. J. Watson Research Center;  Andrew Warfield, University of British Columbia

Software is modular, and so is run-time state. We argue that by allowing individual layers of the software stack to store isolated runtime state, we cripple the ability of systems to effectively scale or respond to failures. Given the strong desire to build elastic and highly available applications for the cloud, we propose Slice, an abstraction that allows applications to declare appropriate granularities of scale-oriented state, and allows layers to contribute the appropriate layer-specific data to those containers. Slices can be transparently migrated and replicated between application instances, thereby simplifying design of elastic and highly available systems, while retaining the modularity of modern software.

Available Media
6:00 p.m.–6:30 p.m. Monday

Open Mike

6:30 p.m.–7:00 p.m. Monday

Break

7:00 p.m.–9:00 p.m. Monday

Workshop Dinner

Puma and Patio

 

Tuesday, May 14, 2013

8:00 a.m.–8:30 a.m. Tuesday

Continental Breakfast

Tamaya Prefunction North

8:30 a.m.–9:15 a.m. Tuesday

Biiiig

Session Chair: John Wilkes, Google

Large-Scale Computation Not at the Cost of Expressiveness

Sangjin Han and Sylvia Ratnasamy, University of California, Berkeley

We present Celias, a new concurrent programming model for data-intensive scalable computing. Celias supports many virtues commonly found in existing distributed programming frameworks, such as elastic scaling and fault tolerance, without sacrificing expressiveness. The key design idea of Celias is the concept of a microtask, as a scalable, fault-tolerant, and completely data-driven unit of computation. By combining Tuplespace and microtasks, Celias provides an intuitive yet powerful programming abstraction for large and complex problems.

Available Media

When Cycles Are Cheap, Some Tables Can Be Huge

Bin Fan, Dong Zhou, and Hyeontaek Lim, Carnegie Mellon University; Michael Kaminsky, Intel Labs; David G. Andersen, Carnegie Mellon University

The goal of this paper is to raise a new question: What changes in operating systems and networks if it were feasible to have a (type of) lookup table that supported billions, or hundreds of billions, of entries, using only a few bits per entry. We do so by showing that the progress of Moore’s law, continuing to give more and more transistors per chip, makes it possible to apply formerly ludicrous amounts of brute-force parallel computation to find spacesavings opportunities.

We make two primary observations: First, that some applications can tolerate getting an incorrect answer from the table if they query for a key that is not in the table. For these applications, we can discard the keys entirely, using storage space only for the values. Further, for some applications, the value is not arbitrary. If the range of output values is small, we can instead view the problem as one of set separation. These two observations allow us to shrink the size of the mapping by brute force searching for a “perfect mapping” from inputs to outputs that (1) does not store the input keys; and (2) avoids collisions (and thus the related storage). Our preliminary results show that we can reduce memory consumption by an order of magnitude compared to traditional hash tables while providing competitive or better lookup performance.

Available Media

Wanted: Systems Abstractions for SDN

Sapan Bhatia, Andy Bavier, and Larry Peterson, Princeton University

This paper presents a case for applying the principles of Software-Defined Networking (SDN) to middleboxes and end hosts. The challenges of configuring networking on network hosts resemble those addressed by SDN – numerous multi-vendor components, each with its own syntax and idiosyncratic corner cases, must be orchestrated smoothly. We have developed a prototype called NativeClick, a novel use of the Click Modular Router language, to orchestrate Linux networking tools. NativeClick demonstrates that, while existing SDN efforts have produced insufficient Abstractions to cover a wide range of networking behavior, SDN-like abstractions can make host configurations modular.

Available Media
9:15 a.m.–9:45 a.m. Tuesday

Open Mike

9:45 a.m.–10:00 a.m. Tuesday

Break

10:00 a.m.–10:45 a.m. Tuesday
10:45 a.m.–11:15 a.m. Tuesday

Break with Refreshments

11:15 a.m.–noon Tuesday

Catching Up in the Clouds

Session Chair: Doug Terry, Microsoft Research

The Case for Tiny Tasks in Compute Clusters

Kay Ousterhout, Aurojit Panda, Joshua Rosen, Shivaram Venkataraman, Reynold Xin, and Sylvia Ratnasamy, University of California, Berkeley; Scott Shenker, University of California, Berkeley, and International Computer Science Institute; Ion Stoica, University of California, Berkeley

We argue for breaking data-parallel jobs in compute clusters into tiny tasks that each complete in hundreds of milliseconds. Tiny tasks avoid the need for complex skew mitigation techniques: by breaking a large job into millions of tiny tasks, work will be evenly spread over available resources by the scheduler. Furthermore, tiny tasks alleviate long wait times seen in today’s clusters for interactive jobs: even large batch jobs can be split into small tasks that finish quickly. We demonstrate a 5.2x improvement in response times due to the use of smaller tasks.

In current data-parallel computing frameworks, high task launch overheads and scalability limitations prevent users from running short tasks. Recent research has addressed many of these bottlenecks; we discuss remaining challenges and propose a task execution framework that can efficiently support tiny tasks.

Available Media

Using Dark Fiber to Displace Diesel Generators

Aman Kansal, Microsoft Research; Bhuvan Urgaonkar, Pennsylvania State University; Sriram Govindan, Microsoft

Cloud providers and other data center operators are using geo-distributed data centers. But these data centers largely continue to employ the same designs as were appropriate for single data centers. These designs are wasteful because they do not take full advantage of geo-distribution. Geo-redundancy can reduce other redundancy at multiple intermediate layers in individual data centers and decrease costs. We discuss options for changing infrastructure design to realize such savings. Our proposal opens up an exciting and novel area of investigation into the design of software that can effectively leverage such platforms.

Available Media

Towards Elastic Operating Systems

Amit Gupta, Ehab Ababneh, Richard Han, and Eric Keller, University of Colorado, Boulder

Realizing elasticity in cloud applications today is often a cumbersome process, requiring applications to integrate with services like elastic load balancers and/or be rewritten to accommodate distributed frameworks like map/reduce or cluster-based operating systems. In this paper, we introduce the concept of ElasticOS, which enables a process (or even a single thread) to stretch its associated resource boundaries across multiple machines automatically, expanding and contracting on demand without requiring the application to be re-designed or configured with a complex combination of additional tools and frameworks. Our initial implementation within Linux 3.2 and a study of a MySQL execution trace provide hope that the ElasticOS vision is achievable.

Available Media
Noon–12:30 p.m. Tuesday

Open Mike

12:30 p.m.–3:30 p.m. Tuesday

Take a HotOS Hike!

This includes boxed lunches for attendees and an organized hike. Pick up boxed lunches in the Prefunction area.

3:30 p.m.–4:00 p.m. Tuesday

Break with Refreshments

4:00 p.m.–5:00 p.m. Tuesday

Correct, Secure, and Verifiable

Session Chair: Roxana Geambasu, Columbia University

Toward Principled Browser Security

Edward Yang, Deian Stefan, John Mitchell, and David Mazières, Stanford University; Petr Marchenko and Brad Karp, University College London

To ensure the confidentiality and integrity of web content, modern web browsers enforce isolation between content and scripts from different domains with the same-origin policy (SOP). However, many web applications require cross-origin sharing of code and data. This conflict between isolation and sharing has led to an ad hoc implementation of the SOP that has proven vulnerable to such attacks as cross-site scripting, cross-site request forgery, and browser privacy leaks. In this paper, we argue that information flow control (IFC) not only subsumes the same-origin policy but is also more flexible and sound. IFC not only provides stronger confidentiality and integrity for today’s web sites, but also better supports complex sites such as mashups, which are notoriously difficult to implement securely under the SOP.

Available Media

-OVERIFY: Optimizing Programs for Fast Verification

Jonas Wagner, Volodymyr Kuznetsov, and George Candea, École Polytechnique Fédérale de Lausanne (EPFL)

Developers rely on automated testing and verification tools to gain confidence in their software. The input to such tools is often generated by compilers that have been designed to generate code that runs fast, not code that can be verified easily and quickly. This makes the verification tool’s task unnecessarily hard.

We propose that compilers support a new kind of switch,
-OVERIFY, that generates code optimized for the needs of verification tools. We implemented this idea for one class of verification (symbolic execution) and found that, when run on the Coreutils suite of UNIX utilities, it reduces verification time by up to 95x.

Available Media

Global Authentication in an Untrustworthy World

Martín Abadi, Andrew Birrell, Ilya Mironov, Ted Wobber, and Yinglian Xie, Microsoft Research

With the advent in the 1980’s of truly global hierarchical naming (via the Domain Name Service), security researchers realized that the trust relationships needed to authenticate principals would often not follow the naming hierarchy. The most successful non-hierarchical authentication schemes are based on X.509 and RFC 5280, as used for example in TLS and Authenticode. These are extremely widely deployed, and are trusted for most people’s everyday use of the Internet. Unfortunately several incidents in the last few years have proved that this trust is misplaced. We explore the weaknesses of this machinery, helped by a large database of X.509 certificates, and we offer an analysis technique and a suggestion for how the trust could be enhanced.

Available Media

Automated Debugging for Arbitrarily Long Executions

Cristian Zamfir, Baris Kasikci, Johannes Kinder, Edouard Bugnion, and George Candea, École Polytechnique Fédérale de Lausanne (EPFL)

One of the most energy-draining and frustrating parts of software development is playing detective with elusive bugs. In this paper we argue that automated postmortem debugging of failures is feasible for real, inproduction systems with no runtime recording. We propose reverse execution synthesis (RES), a technique that takes a coredump obtained after a failure and automatically computes the suffix of an execution that leads to that coredump. RES provides a way to then play back this suffix in a debugger deterministically, over and over again. We argue that the RES approach could be used to (1) automatically classify bug reports based on their root cause, (2) automatically identify coredumps for which hardware errors (e.g., bad memory), not software bugs are to blame, and (3) ultimately help developers reproduce the root cause of the failure in order to debug it.

Available Media
5:00 p.m.–5:30 p.m. Tuesday

Open Mike

5:30 p.m.–5:45 p.m. Tuesday

Break

5:45 p.m.–6:30 p.m. Tuesday
6:30 p.m.–7:00 p.m. Tuesday

Break

7:00 p.m.–8:30 p.m. Tuesday

Workshop Happy Hour

Puma and Patio

 

Wednesday, May 15, 2013

8:00 a.m.–8:30 a.m. Wednesday

Continental Breakfast

Tamaya Prefunction North

8:30 a.m.–9:30 a.m. Wednesday

Something Old, Something New, Something Hot

Session Chair: Peter Druschel, Max Planck Institute for Software Systems (MPI-SWS)

Operating System Support for Augmented Reality Applications

Loris D'Antoni, University of Pennsylvania; Alan Dunn and Suman Jana, TheUniversity of Texas at Austin; Tadayoshi Kohno, University of Washington; Benjamin Livshits, David Molnar, Alexander Moshchuk, and Eyal Ofek, Microsoft Research; Franziska Roesner, University of Washington; Scott Saponas, Margus Veanes, and Helen J. Wang, Microsoft Research

Augmented reality (AR) takes natural user input (NUI), such as gestures, voice, and eye gaze, and produces digital visual overlays on top of reality seen by a user. Today, multiple shipping AR applications exist, most notably titles for the Microsoft Kinect and smartphone applications such as Layar, Wikitude, and Junaio. Despite this activity, little attention has been paid to operating system support for AR applications. Instead, each AR application today does its own sensing and rendering, with the help of user-level libraries like OpenCV or the Microsoft Kinect SDK.

In this paper, we explore how operating systems should evolve to support AR applications. Because AR applications work with fundamentally new inputs and outputs, an OS that supports AR applications needs to re-think the input and display abstractions exposed to applications. Unlike mouse and keyboard, which form explicit, separate channels for user input, NUI requires continuous sensing of the real-world environment, which often has sensitive data mixed with user input. Hence, the OS input abstractions must ensure that user privacy is not violated, and the OS must provide a fine-grained permission system for access to recognized objects like a user's face and skeleton. In addition, because visual outputs of AR applications mix real-world and virtual objects, the synthetic window abstraction in traditional GUIs is no longer viable, and OSes must rethink the display abstractions and their management. We discuss research directions for solving these and other issues and building an OS that let multiple applications share one (augmented) reality.

Available Media

Solving the Straggler Problem with Bounded Staleness

James Cipar, Qirong Ho, Jin Kyu Kim, Seunghak Lee, Gregory R. Ganger, and Garth Gibson, Carnegie Mellon University; Kimberly Keeton, HP Labs; Eric Xing, Carnegie Mellon University

Many important applications fall into the broad class of iterative convergent algorithms. Parallel implementations of these algorithms are naturally expressed using the Bulk Synchronous Parallel (BSP) model of computation. However, implementations using BSP are plagued by the straggler problem, where every transient slowdown of any given thread can delay all other threads. This paper presents the Stale Synchronous Parallel (SSP) model as a generalization of BSP that preserves many of its advantages, while avoiding the straggler problem. Algorithms using SSP can execute efficiently, even with significant delays in some threads, addressing the oft-faced straggler problem.

Available Media

Lightweight Snapshots and System-level Backtracking

Edouard Bugnion, Vitaly Chipounov, and George Candea, Ecole Polytechnique Fédérale de Lausanne (EPFL)

We propose a new system-level abstraction, the lightweight immutable execution snapshot, which combines the immutable characteristics of checkpoints with the direct integration into the virtual memory subsystem of standard mutable address spaces. The abstraction can give arbitrary x86 programs and libraries system-level support for backtracking (akin to logic programming) and the ability to manipulate an entire address space as an immutable data structure (akin to functional programming). Our proposed implementation leverages modern x86 hardware-virtualization support.

Available Media

HAT, Not CAP: Towards Highly Available Transactions

Peter Bailis, University of California, Berkeley; Alan Fekete, University of Sydney; Ali Ghodsi, University of California, Berkeley and KTH/Royal Institute of Technology; Joseph M. Hellerstein and Ion Stoica, University of California, Berkeley 

While the CAP Theorem is often interpreted to preclude the availability of transactions in a partition-prone environment, we show that highly available systems can provide useful transactional semantics, often matching those of today’s ACID databases. We propose Highly Available Transactions (HATs) that are available in the presence of partitions. HATs support many desirable ACID guarantees for arbitrary transactional sequences of read and write operations and permit low-latency operation.

Available Media
9:30 a.m.–10:00 a.m. Wednesday

Open Mike

10:00 a.m.–10:30 a.m. Wednesday

Break with Refreshments

10:30 a.m.–11:15 a.m. Wednesday

Hardware to the Rescue

Session Chair: Jacob R. Lorch, Microsoft Research

The von Neumann Architecture Is Due for Retirement

Aleksander Budzynowski and Gernot Heiser, NICTA and University of New South Wales

The processor industry has reached the point where sequential improvements have plateaued and we are being flooded with parallel hardware we don’t know how to utilise. An efficient, general-purpose and easy-to-use parallel model is urgently needed to replace the von Neumann model. We introduce and discuss the self-modifying dataflow graph, an unusual model of computation which combines the naturally parallel dataflow model with local graph transformations to eliminate the need for a global memory. We justify why it is a promising candidate.

Available Media

Arrakis: A Case for the End of the Empire

Simon Peter and Thomas Anderson, University of Washington

In this paper, we argue that recent device hardware trends enable a new approach to the design of operating systems: instead of the operating system mediating access to hardware, applications run directly on top of virtualized I/O devices, where the kernel provides only control plane services. This new division of labor is transparent to the user, except that applications are able to offer more robust extensibility, security and performance than was previously possible. We discuss some of the hardware and software challenges to realizing this vision.

Available Media

Rethinking Network Stack Design with Memory Snapshots

Michael Chan, Heiner Litz, and David R. Cheriton, Stanford University

Hardware virtualization is a core operating system feature. Network devices, in particular, must be shared while providing high I/O performance. By redesigning the network stack on a novel memory system that supports snapshot isolation, the operating system can effectively share network resources through the familiar socket API, enable zero-copy, reduce memory allocations and simplify driver communication with network interface cards. Starting with network I/O, we hope to further the discussion on hardware-software co-design to improve operating system architecture.

Available Media
11:15 a.m.–11:45 a.m. Wednesday

Open Mike

11:45 a.m.–12:30 p.m. Wednesday

Brilliant Insights

Session Chair: Petros Maniatis, Intel Labs

Closing the workshop will be a session summarizing any discussions that occurred, including during unconference sessions. Each group will report on its discussion, conclusions, or plans for future work in 5-minute slots including Q&A.

12:30 p.m.–12:45 p.m. Wednesday