SPIN RESEARCH PROJECTS

[SPIN]

Introduction

The extensibility of SPIN makes it an excellent vehicle for operating systems research. Listed below are some of the interesting projects that use SPIN as a development platform.

Security in an Extensible System

We are investigating ways of coping with security concerns in extensible systems such as SPIN and Java. For further information, consult a research overview.

Transaction Support

We are using SPIN to implement a high performance persistent storage system. For further information, click here.

Dynamic Compilation

We are investigating the use of dynamic compilation to improve the performance of SPIN. For more information, consult the Dynamic Compilation page.

Unix Emulation

We have been studying different techniques for emulating Unix on SPIN. Included in this discussion are tools to integrate system call interfaces and handlers into SPIN. For more information, click here.

Application-Controlled Caching

We have developed a framework to allow applications to control portions of the system-wide block cache. This framework is being used to improve filing performance and also to implement distributed shared memory. For more information, click here.

Safe Programmable and Integrated Network Environment (SPINE)

We are exploring system designs in which applications can compute directly on the network interface. Several network interfaces, for example MYRINET, and the FORE PCI ATM interface, as well as some research systems (Washington University's ARPA-sponsored gigabit networking interface), provide the infrastructure necessary to compute on the network interface itself. We intend to apply the SPIN technology (use of a safe language, extensible interfaces, and resource management) to the network interface, thereby allowing applications to customize their interaction with the network to improve both performance and reliability. For more information, click here.

Undergraduate Projects

Graphics Support (Mike Berg)

An ongoing project is support for video and graphics in SPIN. Issues include dealing with MPEG video streams in a system with automatic garbage collection and providing a set of extensible drawing primitives to expose the frame buffer to applications. For further information, click here.

NFS Server (Paul Kromann)

We are implementing a fully functional, fast NFS server as an untrusted extension to the SPIN kernel. For further information, click here.

IPv6 gateway (Vinh Lam)

Compatibility with the existing installed base of IPv4 nodes is essential for ensuring a successful transition to IPv6. This is recognized by the IPng working group as a major issue that must be resolved in order for the deployment of IPv6 to be feasible. The focus of this project is to implement a gateway in the context of the SPIN that will perform configured IPv6-over-IPv4 tunneling to route IPv6 packets over the test network of the 6bone. For further information, click here.

Symmetric Multiprocessing (Chris Ulbright)

SPIN currently only works on uniprocessor systems. This project is devoted to the adaptation of the SPIN operating system from the current Intel ported version to a version which supports SMP. For further information, click here.

Sockets (Daniel Shiovitz)

This project is devoted to improving the existing socket support for both the Intel x86 and ALPHA platforms.

spin@cs.washington.edu
Department of Computer Science and Engineering
University of Washington