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.
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.
| Sept. 96 – curr.: |
Distributed Systems Lab, University of Pennsylvania PhD student in Computer Science, supervised by Prof. Jonathan M. Smith. Awarded University Fellowship in 1997. |
Oct. 92 – June 96:
|
Queens' College, University of Cambridge | B.A./M.Eng. in Electrical and Information Sciences with Computer Science. Received College Exhibition in 1993. |
``Piglet: a Low-Intrusion Vertical Operating System'', Steve Muir and Jonathan Smith, University of Pennsylvania T/R MS-CIS-00-04
``Functional Divisions in the Piglet Multiprocessor Operating System'', Steve Muir and Jonathan Smith, Proceedings of the 8th European SIGOPS Workshop, pp.255–260.
``Supporting Continuous Media in the Piglet OS'', Steve Muir and Jonathan Smith, Proceedings of NOSSDAV '98, pp.99–102.
``AsyMOS - An Asymmetric Multiprocessor Operating System'', Steve Muir and Jonathan Smith, Proceedings of OPENARCH '98, pp.25–34.
``Operating System Support for Active Networks'', Jonathan S. Shapiro, Steve J. Muir, Jonathan M. Smith, and David J. Farber, University of Pennsylvania T/R MS-CIS-97-03
``Experiences Implementing a High-Performance TCP in User-Space'', Aled Edwards and Steve Muir, Proceedings of SIGCOMM '95, pp.196–205.
| Jan 01 – current: |
Vanu, Inc., Cambridge, MA I am currently working on a project using PC clusters to provide high-performance, high-reliability software radio systems. Key areas to be addressed by this project are high-speed networking, distribution of processing modules, and transparent fault-tolerance. |
| May 99 – Sept. 99: |
NEC USA Advanced Development Center, Princeton, NJ I implemented a functional simulator to be used in the development and testing of application programs for a new high-speed network device. |
| June 98 – Sept. 98: |
Compaq/DEC Systems Research Center, Palo Alto, CA As a summer intern I designed and developed a data-flow analyser for Java class files. This analyser was used to detect and eliminate unnecessary synchronisation operations. |
| Sept. 97 – May 98: |
University of Pennsylvania, Philadelphia Teaching assistant for CSE 240, Introduction to Computer Architecture (Fall '97), and CSE 350, Software Design and Engineering (Spring '98). |
|
June 95 – Sept. 95, Dec. 95, June 96 – August 96: |
Hewlett-Packard Labs, Bristol, UK In these periods I undertook a variety of tasks, including the development of the control software for a Jetstream to ATM bridge, and the design and implementation of an in-kernel WAN simulator. |
|
June 94 – Sept. 94, Dec. 94: |
Hewlett-Packard Labs (as above) I designed and implemented a user-space TCP stack for HP-UX 9.0 running over Jetstream, an experimental 800Mb/s LAN. A paper I wrote on this project was later published at SIGCOMM '95. |
| June 93 – Sept 93: |
IBM UK Labs, Hursley, Winchester, UK During the summer of 1993 I was employed as a member of the team responsible for the system adminstration components of the MQSeries product. |
| Aug. 91 – Aug. 92: |
IBM UK Labs (as above) Whilst working as a pre-university student I developed a multi-platform (OS/2 and VM/CMS), TCP/IP-based prototype of the MQSeries message queueing system. This prototype continued to be used for interface compatibility and functional testing during the first two years of MQSeries product development. |