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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 4<br />

Experimental Setup<br />

This chapter describes <strong>the</strong> environment in which we ran our experiments. Topics we discuss include our mea-<br />

surement approach, workload selection, simulated hardware setup, simulated disk setup, system environment<br />

configuration, graph interpretation, <strong>and</strong> simulated hardware characteristics.<br />

In general, <strong>the</strong> experiments consisted mainly <strong>of</strong> a thread per processor accessing a disk exclusively. As<br />

<strong>the</strong> number <strong>of</strong> threads is increased, <strong>the</strong> number <strong>of</strong> processors <strong>and</strong> disks are increased proportionately. The<br />

time for each thread to perform its task is measured.<br />

4.1 Measurement Approach<br />

The goal <strong>of</strong> our experiments was to obtain an underst<strong>and</strong>ing <strong>of</strong> file system performance scalability from<br />

<strong>the</strong> bottom up. In this way, we could gain an underst<strong>and</strong>ing <strong>of</strong> scalability at various levels <strong>of</strong> complexity,<br />

from simple operations to complicated real-world workloads. We began with simple <strong>and</strong> easy to underst<strong>and</strong><br />

microbenchmarks in order to obtain basic performance numbers <strong>and</strong> an idea <strong>of</strong> scalability trends. Scalability<br />

bottlenecks were identified <strong>and</strong> incremental optimizations were implemented. We <strong>the</strong>n iteratively added<br />

more complexity in <strong>the</strong> workload <strong>and</strong> repeated <strong>the</strong> process several times. Each time, we verified expectations<br />

<strong>and</strong> ensured that <strong>the</strong> results had logical explanations. The gradual progression helped in dealing with <strong>the</strong><br />

many variables <strong>of</strong> <strong>the</strong> file system <strong>and</strong> workload. We were primarily interested in <strong>the</strong> scalability <strong>of</strong> meta-<br />

data management since in our experience, this is <strong>the</strong> source <strong>of</strong> most performance problems. <strong>File</strong> cache<br />

management <strong>and</strong> latency hiding using file block prefetching are responsibilities <strong>of</strong> <strong>the</strong> K42 file cache manager<br />

<strong>and</strong> were not examined in this <strong>the</strong>sis.<br />

Speed-up, in terms <strong>of</strong> throughput, is <strong>the</strong> typical unit <strong>of</strong> measurement used in scalability results, however<br />

it is not as intuitively meaningful under our particular workloads. We were concerned with maintaining<br />

constant execution time per thread as <strong>the</strong> number <strong>of</strong> requesting threads, processors, <strong>and</strong> disks were increased.<br />

For example, let us assume that it takes X cycles to execute 1 request on a system with 1 processor <strong>and</strong><br />

27

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

Saved successfully!

Ooh no, something went wrong!