The University of Arizona, Department of Computer Science
Swarm Storage Server
Overview
Swarm is a network storage
system that uses log-based striping to achieve high performance and scalability.
Clients collect application writes into an append only log and the log
is striped across multiple storage servers to obtain performance that is
a function of the number of storage servers. The Swarm Storage Server is
the component of Swarm that serves file data. The Swarm Server uses the
Logical Disk (LD) to manage
the disk subsystem.
Research Goals
- Storage Servers. The design goal of the Swarm Server is to effectively
satisfy Swarm requirements. These include the need for high write performance,
for small as well as large writes, support for security and atomic interface
operations.
- Paths. We are studying the use of various path-based optimizations
to achieve high performance. We are also looking at using end-to-end paths
to explore issues with flow control and providing bandwidth guarantees
for clients.
Router Graph
There is one path per TCP connection between the Swarm Stub router and
the network. These paths map one-to-one to paths between Swarm Stub and
LD. Currently all client calls are synchronous and the state of an outstanding
client call is stored in the corresponding path. The future goal is to
adapt the current path architecture to support asynchronous calls.
Status
- We have a working prototype that implements all functionality Swarm
clients require.
- Our prototype uses approximately 70% of the raw disk bandwidth for
writes.
Papers
Contributors
[ Scout Home Page
|
Department Home Page ]
Send mail to:
scout@cs.arizona.edu
Last updated March 2, 1998