Date: Wed, 20 Nov 1996 19:41:24 GMT Server: Apache-SSL/0.4.3b Content-type: text/html Content-length: 4121 Last-modified: Mon, 25 Sep 1995 16:10:40 GMT The Tower of Pizzas

The Tower of Pizzas


Researchers

Description

We have constructed the Tower of Pizzas (TOPs), a multi-user, striped storage system. The main goals of TOPs are 1) to provide access to data striped across workstations, 2) to exploit caching and prefetching at the client and server, 3) to implement the system at a high-level for portability, 4) to explore data layout.

The system is implemented in software on top of general UNIX This allows workstations of heterogeneous flavors of UNIX to work together as clients and servers. Server workstations run a single server process, and clients talk to remote servers through a local server process or through a linked library. The local and remote server process are identical, which allows TOPS to be run as a peer-to-peer collection of workstations (rather than just a partitioned set of clients and servers). The local and remote server processes provide buffer management, striping (configurable per file) over the network, and disk services (including asynchronous read/write). Local clients access buffers of the local server through shared memory. Asynchronous read/write disk I/O is provided through the server threads and aio calls. File meta-data is centralized at a server process accessed only on open() or close().

TOPs has been implemented over the past year and we have now run it on a variety of hardware clusters: SPARCs and an Alpha connected by Ethernet, and our 16-node SP2 (using TCP over the high-speed switch). On the SP2 we can demonstrate linear scalability of global throughput as servers and clients are added.

At this point we are now starting more detailed investigation in caching and prefetching strategies. We are also examining new data placement techniques.

Performance

In the three tests below, 1 to 10 clients are run using 1 to 8 servers (srvs). The y-axis gives the total system throughput (the sum of the throughput delivered to each client). Note that the filesystem and disks used for these tests can transfer data at 3.5 MB/s for sequential reads and about 1 MB/s for random reads.
Reading cached server data. In this test, clients read from a small file (8 MB/server). The file is completely cached at the server, so no disk I/O (other than the initial load from disk) is incurred. The test shows the overhead of TOPs and indicates the maximum performance possible on this platform.

Group sequential read with a prefetch/ordering strategy. In this test, each client read sequentially through a large file. The portions of the file read by each client was disjoint from one another. We used a prefetching strategy to maintain sequential access to the disk (the requests from the clients were not synchronized).

Reading from large disk files. In these tests, each client continually requested a small contiguous portion of the data file. Each request started at some random point in the file. The data file was relatively large (160 MB per server, and could not be entirely cached.

Publications

A technical report (submitted for publication) and brief set of slides about TOPs is available.
Last updated on Fri September 21 12:01 1995