28.07.2013 Views

Performance Analysis and Optimization of the Hurricane File System ...

Performance Analysis and Optimization of the Hurricane File System ...

Performance Analysis and Optimization of the Hurricane File System ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 1. INTRODUCTION AND MOTIVATION 2<br />

systems should be specifically <strong>and</strong> systematically designed for large computer systems [22, p. 7].<br />

The K42 operating system research group at <strong>the</strong> University <strong>of</strong> Toronto <strong>and</strong> <strong>the</strong> IBM Thomas J. Wat-<br />

son Research Center is currently building this kind <strong>of</strong> operating system. K42 [78] is a research operating<br />

system designed from <strong>the</strong> ground up for large-scale, shared-memory, non-uniform memory access (NUMA)<br />

multiprocessor computers. The main goals <strong>of</strong> K42 include scalability <strong>and</strong> flexibility.<br />

An important component <strong>of</strong> <strong>the</strong> operating system is <strong>the</strong> file system. A scalable <strong>and</strong> flexible file system<br />

is needed to compliment <strong>the</strong> scalability <strong>and</strong> flexibility <strong>of</strong> K42. A file system is stressed by (1) I/O intensive<br />

applications such as Web servers <strong>and</strong> file servers, (2) many independent applications running concurrently,<br />

<strong>and</strong> (3) dem<strong>and</strong> paging by <strong>the</strong> memory management system. The file system, in turn, stresses o<strong>the</strong>r com-<br />

ponents <strong>of</strong> <strong>the</strong> operating system <strong>and</strong> exposes bottlenecks throughout. The <strong>Hurricane</strong> <strong>File</strong> <strong>System</strong> (HFS)<br />

has been chosen as <strong>the</strong> file system for K42. HFS was specifically designed for large-scale, shared-memory,<br />

NUMA multiprocessor computers.<br />

1.1 Thesis Goals<br />

The goal <strong>of</strong> this <strong>the</strong>sis is to examine <strong>the</strong> performance scalability <strong>of</strong> HFS <strong>and</strong> implement optimizations where<br />

scalability is inadequate. More specifically, we study whe<strong>the</strong>r <strong>the</strong> system can h<strong>and</strong>le proportionately more<br />

concurrent requests while maintaining <strong>the</strong> same throughput per request as <strong>the</strong> number <strong>of</strong> processors <strong>and</strong> disks<br />

increase. Under various workloads, we experimentally study <strong>the</strong> performance <strong>of</strong> HFS to determine where<br />

<strong>and</strong> why bottlenecks exist. Solutions to <strong>the</strong>se bottlenecks are <strong>the</strong>n developed <strong>and</strong> implemented, resulting in<br />

an optimized <strong>and</strong> scalable file system.<br />

1.2 <strong>Hurricane</strong> <strong>File</strong> <strong>System</strong><br />

The <strong>Hurricane</strong> <strong>File</strong> <strong>System</strong> was originally designed <strong>and</strong> implemented by Orran Krieger [34] at <strong>the</strong> University<br />

<strong>of</strong> Toronto for <strong>the</strong> Hector Multiprocessor [83] <strong>and</strong> <strong>Hurricane</strong> Operating <strong>System</strong> [81]. HFS was specifically<br />

designed for large-scale, shared-memory, NUMA multiprocessor computers. The main design goals <strong>of</strong> HFS<br />

were flexibility <strong>and</strong> scalability. Due to <strong>the</strong> common objectives between HFS <strong>and</strong> K42, HFS contains a<br />

valuable framework to build upon.<br />

HFS differs from o<strong>the</strong>r file systems in a number <strong>of</strong> ways. It is an object-oriented file system that supports<br />

many file types <strong>and</strong> configurations. It does not inherit any architectural components from <strong>the</strong> prototypical<br />

Unix Fast <strong>File</strong> <strong>System</strong> [44]. HFS was designed for micro-kernel operating systems <strong>and</strong> <strong>the</strong>refore resides in<br />

an exclusive virtual address space that is separate from <strong>the</strong> operating system kernel. It relies on efficient<br />

interprocess communication (IPC) 1 facilities to interact with various components <strong>of</strong> <strong>the</strong> operating system<br />

1 The terms interprocess communication (IPC) <strong>and</strong> remote procedure call (RPC) are equivalent under <strong>the</strong> context <strong>of</strong> K42,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!