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 6. MICROBENCHMARKS – OTHER FUNDAMENTAL OPERATIONS 60<br />

results in Section 6.3.1. The files were regular, r<strong>and</strong>om-access files 5 <strong>and</strong> <strong>the</strong> initial pool <strong>of</strong> block cache entries<br />

was set to 200 instead <strong>of</strong> <strong>the</strong> default <strong>of</strong> 20. All threads were executed in parallel <strong>and</strong> each was assigned its<br />

own processor <strong>and</strong> disk.<br />

The results, shown in Figure 6.17, are similar to <strong>the</strong> results for <strong>the</strong> file name lookup experiment in<br />

Section 6.3.1. Scalability was poor beyond 2 processors.<br />

6.4.4 Stat with Name Lookup, All <strong>Optimization</strong>s<br />

This experiment examined <strong>the</strong> impact <strong>of</strong> implementing all optimizations in <strong>the</strong> getAttribute() with name<br />

lookup workload. This configuration included all <strong>the</strong> optimizations we used previously. The results, shown<br />

in Figure 6.18 <strong>and</strong> Figure 6.19, indicate that scalability was good but not ideal since it took twice as long<br />

for each thread to execute on 12 processors than on 1 processor. The results were very similar to <strong>the</strong> results<br />

in Section 6.3.2 that examine <strong>the</strong> optimized name lookup operation, indicating that <strong>the</strong> name lookup portion<br />

<strong>of</strong> <strong>the</strong> task was <strong>the</strong> rate limiting component where as <strong>the</strong> getAttribute() portion scaled well, as shown in<br />

Section 6.4.2. The 8 processor results exhibited <strong>the</strong> same anomaly as described in Section 5.5.7, resulting in<br />

<strong>the</strong> lower error bar in <strong>the</strong> graph. Fortunately, performance trends show that thread execution times appear<br />

to stabilize from 8 processors onwards.<br />

6.4.5 Summary<br />

The optimizations implemented from <strong>the</strong> file read experiments were applicable to <strong>the</strong> file stat operation <strong>of</strong> <strong>the</strong><br />

file system. <strong>File</strong> stat scalability was improved drastically. Ideal scalability was achieved in <strong>the</strong> getAttribute()<br />

portion <strong>of</strong> <strong>the</strong> task, whereas <strong>the</strong> name lookup portion performed relatively well but did not achieve ideal<br />

scalability.<br />

6.5 Regular <strong>File</strong> Write Test<br />

This section examines <strong>the</strong> scalability <strong>of</strong> <strong>the</strong> write operation on regular, r<strong>and</strong>om-access-based files. Each<br />

thread sequentially writes a 4,096,000 byte regular, r<strong>and</strong>om-access-based file to its own disk while running<br />

on its own processor. The operation causes meta-data to accumulate in <strong>the</strong> caches. The flushing <strong>of</strong> <strong>the</strong><br />

caches to disk was disabled to measure ideal file writing conditions. No optimizations were implemented<br />

for this initial base test. The results, shown in Figure 6.20, indicate that scalability was poor beyond<br />

2 processors, closely mirroring <strong>the</strong> results <strong>of</strong> <strong>the</strong> unoptimized regular file read experiment in Section 5.5.1.<br />

5 In terms <strong>of</strong> <strong>the</strong> actions taken by <strong>the</strong> file system during <strong>the</strong> getAttribute() operation, <strong>the</strong>re is no difference between extentbased<br />

or regular, r<strong>and</strong>om-access files. Consequently, ei<strong>the</strong>r file types can be used for <strong>the</strong> getAttribute experiments.

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

Saved successfully!

Ooh no, something went wrong!