The Serious Stuff (21st Century Edition)

[Now with extra added PDF goodness]

This page originally detailed my research work at Penn and a couple of related efforts. For completeness I have added brief overviews of research work I've been engaged in since Penn, although much of my time in those past ten or so years has been spent outside the research arena. For further information including current CV please contact me via LinkedIn or the email address listed at the bottom of the page.

Research (Penn Stuff and Earlier)

Research projects I am or have been involved in are described below in reverse chronological order, but here's a by-project jump table for the chronically impatient.
Piglet
My Ph.D. thesis project, the design and implementation of a novel multiprocessor operating system architecture.
SQoSH
A proposed architecture for an active network node integrating security and the provision of quality-of-service guarantees.
Java Synchronisation Analyser
A static analyser to eliminate redundant synchronisation in Java classes.
EROS Network Subsystem
The beginnings of a network subsystem for the EROS kernel.
Jetstream
A user-space TCP stack developed for HP's Jetstream gigabit LAN.
I am also interested in dynamically reconfigurable systems, including applications of programmable logic devices and run-time code generation in operating system design, and the integration of high- speed forwarding and active networks. Since completing my Ph.D. I have worked in a number of other areas of research, as described below.


Piglet

Piglet uses one or more processors in a multiprocessor system to run an active kernel. By making the kernel active, rather than it being passive as is common in conventional operating systems, Piglet is able to use much lower overhead mechanisms for communication with both applications and devices. Such an architecture appears particularly beneficial in workloads with a high proportion of I/O, hence I am currently investigating the use of Piglet as a network appliance OS.

The current incarnation of the Piglet architecture, as described above, is the basis of my Ph.D. thesis research. This architecture represents a generalisation of the original Piglet model, focusing on the active kernel structure and asynchronous service invocation rather than functional division.

The thesis proposal below provides the most in-depth description of this architecture and future directions for Piglet, as well as a detailed dicussion of the concept of operating system intrusion. The technical report is a condensed version of the proposal, the primary difference being more in-depth coverage of related and future work in the proposal.

Piglet was originally conceived of to provide a similar capability to intelligent I/O devices, namely the capability to logically associate processing capacity with I/O functions. Rather than relying on specialised hardware, the goal was to utilise commodity SMP systems to provide I/O processors.

This architecture, originally known as AsyMOS, and a prototype implementation were described in a paper published at OPENARCH '98. The second paper, published at the 1998 SIGOPS European Workshop gives an expanded description of functional division and describes one example application, provision of QoS guarantees on a network device. A second example application, an MPEG-1 decoder implemented as a Piglet service is described in the very short (4 pages) NOSSDAV '98 paper (listed first).

A few years after completing the Ph.D. thesis Jonathan Smith and I revisiteed our initial idea of using one or more cores of a multi-core and/or multi-processor system exclusively for I/O. We combined some of the technical concepts from the Ph.D. thesis with the original idea of functional division and coined the term Lightweight Network Kernel (LiNK) for this model of a dedicated network I/O processing kernel. A paper describing LiNK was presented at the first ACM/IEEE Symposium on Architectures for Networking and Communication Systems (ANCS) in 2005.


SQoSH

SQoSH (Secure Quality-of-Service Handling) is a proposed architecture for an active network node which unites three independent research projects here at Penn to provide both security and QoS guarantees to an active network node. This brief paper describing the system was published in the April 2000 issue of IEEE Communications, pp.106–112.


Java Synchronisation Analyser

During the summer of 1998 I was an intern at Compaq's (formerly DEC's) Systems Research Center in Palo Alto. There I designed and implemented a static analyser for Java class files. The basic idea is to detect objects which cannot be accessed concurrently by multiple threads, and to eliminate redundant synchronisation operations on those objects. The project is described very briefly in the following SRC Technical Note.


EROS Network Subsystem

For a short while I worked with Jonathan Shapiro on the design and implementation of a network subsystem for
EROS. The system was complete enough for us to write the following paper discussing the use of EROS as the basis for an Active Network node.


Jetstream

This is a paper that I co-authored with Aled Edwards whilst working as a student at Hewlett-Packard Labs, Bristol. It was published in the Proceedings of SIGCOMM '95.

The title pretty much says it all about the paper - the design and implementation of a single-copy TCP stack, running in user-space on the HP-UX 9.01 variant of Unix. Most of the paper is a description of the structure of the implementation but there are also results for throughput and processor usage, and conclusions drawn from the project.


Post-Penn Efforts

I graduated from the University of Pennsylvania with a Ph.D. in May 2001. From January 2001 to end October 2003 I worked at Vanu, Inc., a leading edge company in software define radio (SDR). I had a couple of different roles, culminating in a year and a half as V.P. of Engineering. From November 2003 until June 2006 I was at Princeton University as a member of research staff in the Computer Science Dept., working on the PlanetLab project. In July 2006 I returned to Vanu, Inc., where I stayed a little over 3 years, the last two as Chief Technology Officer.

Since November 2009 I have beeen employed at Juniper Networks as a Technology Architect in the Strategic Alliances group. I work closely with Juniper's strategic partners in the service provider space, primarily Nokia Siemens Networks and Ericsson.

Vanu, Inc. (Phase 1)

At Vanu I worked on a number of software radio projects, where I applied my systems and networking experience to the overall system architecture. A lot of our work in the early days was U.S. Government funded, both DARPA and NSF. One of the most interesting projects, sponsored as part of the JTRS program, was the design and implementation of RDL, Radio Description Language, a language and runtime system for constructing software defined radios. The initial version was built using a combination of a Java runtime system for high-level application logic, system control and modular radio composition, and C++ implementations of high-performance signal processing modules, all glued together using CORBA. A second, more streamlined design was rearchitected to target embedded systems and thus written in C for a smaller footprint.

Princeton University and PlanetLab

Vanu, Inc. (Phase 2)

I rejoined Vanu, Inc. in July 2006 — wanted to get back to a start-up company environment and Vanu was doing well at the time. My initial role on returing was Director of Advanced Development, leading various special projects outside the main thrust of product development. This included working with a couple of partners on a very interesting trial of a GSM distributed antenna system in the Boston area, and a project for U.S. Army Special Operations Command (SOCOM) to integrate Type 1 secure voice devices into a portable GSM basestation. In October 2007 I took on the role of Chief Technology Officer and led the company's R&D efforts: early analysis of 3G (UMTS/HSPA) and 4G (LTE) design and implementation in the Vanu SDR architecture. I also wrote a number of invited articles on SD, e.g., this one: Shared Active Infrastructure and the Virtualization of Wireless Networks (Wireless Design & Development, 2009).


Miscellaneous Other Items

In addition to the research and publications described above, I have been engaged in a number of other activities. I was an active member of the SDR Forum's working group on security for SDR platforms, and was a member of the program committee for the second Workshop on Real, Large, Distributed Systems (WORLDS) in 2005. While at Vanu, Inc. I contributed to a couple of patent applications in the general area of SDR and shared infrastructure (details available upon request).

In the last few years I have participated as a speaker on numerous panels covering a broad range of subjects, both research-focused and general telecom/technology market oriented.


Steve Muir
Distributed Systems Lab
University of Pennsylvania
This file last updated: June 2010