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 1<br />

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

Computer system performance is one metric <strong>of</strong> technological advancement. Scientists <strong>and</strong> engineers are<br />

constantly pushing <strong>the</strong> performance envelope. Due to <strong>the</strong> efforts <strong>of</strong> ma<strong>the</strong>maticians, physicists, chemists,<br />

electrical engineers, <strong>and</strong> computer engineers, <strong>the</strong> “law” <strong>of</strong> Gordon Moore [46] is maintained. Moore pre-<br />

dicted that <strong>the</strong> number <strong>of</strong> transistors on an integrated circuit would double every 18 months. Along with<br />

this exponential rate <strong>of</strong> microprocessor improvement, o<strong>the</strong>r techniques have been applied to yield fur<strong>the</strong>r<br />

performance improvements in computer systems.<br />

To obtain additional hardware improvements, computer scientists <strong>and</strong> engineers <strong>of</strong>ten use <strong>the</strong> technique<br />

<strong>of</strong> increasing computer system size. Scaling up <strong>the</strong> size <strong>of</strong> a computer system involves increasing <strong>the</strong> amount<br />

<strong>of</strong> various resources such as <strong>the</strong> number <strong>of</strong> microprocessors, <strong>the</strong> amount <strong>of</strong> memory, <strong>the</strong> number <strong>of</strong> mem-<br />

ory banks, <strong>the</strong> number <strong>of</strong> disks, <strong>and</strong> <strong>the</strong> capacity <strong>of</strong> inter-connections between <strong>the</strong>se components. Scalable<br />

computer systems exist in a spectrum [37, p. 130] ranging from those constructed as a large tightly-coupled<br />

monolithic computer, to those constructed out <strong>of</strong> many inter-connected loosely-coupled commodity comput-<br />

ers.<br />

Regardless <strong>of</strong> <strong>the</strong> style <strong>of</strong> computer system, s<strong>of</strong>tware performance has not kept pace with <strong>the</strong> underlying<br />

hardware performance [52, 3, 41]. Therefore, s<strong>of</strong>tware scalability is an important aspect to consider when<br />

evaluating <strong>the</strong> performance <strong>of</strong> large computer systems. It comes down to <strong>the</strong> question <strong>of</strong> whe<strong>the</strong>r s<strong>of</strong>tware<br />

performance increases proportionately with increases in hardware resources or performance.<br />

One <strong>of</strong> <strong>the</strong> fundamental causes <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware scalability problem is <strong>the</strong> operating system (OS). Many<br />

Unix-based large computer systems rely on retro-fitted operating systems that were initially designed for<br />

small uniprocessor computers [22, p. 4] [18]. While <strong>the</strong>se operating systems extend basic functionality<br />

to include <strong>the</strong> larger set <strong>of</strong> resources, <strong>the</strong>y are unable to fully exploit <strong>the</strong> performance potential <strong>of</strong> <strong>the</strong>se<br />

computer systems. The ad hoc approach used to transform a uniprocessor operating system into a large-<br />

scale multiprocessor operating system appears to be inadequate. Ra<strong>the</strong>r, large-scale multiprocessor operating<br />

1

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

Saved successfully!

Ooh no, something went wrong!