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.

Table <strong>of</strong> Contents<br />

List <strong>of</strong> Tables vii<br />

List <strong>of</strong> Figures viii<br />

1 Introduction <strong>and</strong> Motivation 1<br />

1.1 Thesis Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

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

1.3 K42 Operating <strong>System</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.4 Dissertation Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

1.4.1 Microbenchmarks <strong>and</strong> <strong>Optimization</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

1.4.2 Macrobenchmark <strong>and</strong> <strong>Optimization</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2 Background <strong>and</strong> Related Work 5<br />

2.1 Multiprocessor Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.2 Disks, Disk Controllers, <strong>and</strong> Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

2.3 Operating <strong>System</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.4 <strong>File</strong> <strong>System</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.5 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

2.5.1 <strong>File</strong> <strong>System</strong> Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

2.5.2 <strong>File</strong> <strong>System</strong> Workloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.5.3 <strong>File</strong> <strong>System</strong> Benchmarking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

3 HFS Architecture 14<br />

3.1 HFS Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

3.1.1 HFS User-Level Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

3.1.2 Logical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

3.1.3 Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

3.1.4 <strong>File</strong> <strong>System</strong> Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

3.1.5 Disk Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

3.2 Disk Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

3.3 Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

3.3.1 <strong>File</strong> Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

3.3.2 Meta-Data Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.3.3 Name Tree Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

3.4 VFS – Virtual <strong>File</strong> <strong>System</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

3.5 K42 Interprocess Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

3.6 Trace <strong>of</strong> Fundamental <strong>File</strong> <strong>System</strong> Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

3.6.1 getAttribute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

3.6.2 Path Name Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

4 Experimental Setup 27<br />

4.1 Measurement Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

4.2 Workload Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

4.3 SimOS S<strong>of</strong>tware Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

4.4 Disk Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

4.5 <strong>System</strong> Environment Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

iv

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

Saved successfully!

Ooh no, something went wrong!