The Serious Shit

This is the serious part of my (extensive) web infrastructure, designed to give all those people who want to give me a job a chance to read about what I do/have done without having to wade through all my other rubbish.

Curriculum Vitae

As well as the HTML version of my CV available above, you can also get plain text and Word versions here: I have intentionally omitted a list of referees from all of the above files, but can provide them upon request.

Research

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 and those who think Piglet is just the dumbest idea ever.
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.


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).


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.


Steve Muir
Distributed Systems Lab
University of Pennsylvania
This file last updated: 2000/06/19 20:26:29