Swarthmore College Department of Computer Science

Tia Newhall: Parallel and Distributed Systems

tia with students

My general research area is parallel and distributed systems. Currently, I'm focusing on the problem of providing system-level support for cluster computing through my Nswap2L and Nswap projects. A cluster is a collection of interconnected computers (workstations or PCs), that run special software that makes them look and act as a single, large, parallel machine. Effectively managing cluster resources is necessary to support large data-intensive applications.

Nswap2L is a virtualization layer on top of a heterogeneous collection of cluster storage devices including Nswap Network RAM, Flash SSD, disk, and other cluster-wide storage. Nswap2L implements an single block device interface to the the Linux kernel and transparently implements data placement, migration and prefetching between underlying devices it manages. Its policies are based in part on individual underlying storage devices' capabilities and speeds, and data block placement and migration between underlying devices are transparent to the single top-level block storage device that is presented to the kernel.

Nswap Network RAM allows any cluster node with over-committed memory to use the idle memory of remote nodes for its backing store and to "swap" its pages over the network and store them in remote idle memory. As the disparity between network speeds and disk speeds continues to grow, network swapping will be faster than traditional swapping to local backing storage devices such as flash SSD and disk HDD.

Webpage: Nswap and Nswap2L: a Fast Backing Storage System for Linux Clusters

My other current and past projects include: peer-to-peer network monitoring; domain specific programming language for GPU computing; memory management systems for SMPs running a mixed parallel and sequential workload; and performance measurement of interpreted, JIT'ed and dynamically compiled programs.