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

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

2.1 Multiprocessor Computers<br />

Multiprocessor computers can be classified under two broad categories: (1) shared-memory multiprocessors,<br />

<strong>and</strong> (2) message-passing multiprocessors. Shared-memory multiprocessors contain hardware mechanisms to<br />

allow memory to be transparently shared between processors. Message-passing multiprocessors lack <strong>the</strong>se<br />

hardware mechanisms <strong>and</strong> share data by passing messages. In this <strong>the</strong>sis, we focus on shared-memory<br />

multiprocessors.<br />

Shared-memory multiprocessors contain multiple processors, memory banks, I/O controllers, disks, <strong>and</strong><br />

an interconnection network between <strong>the</strong>se components. With <strong>the</strong> help <strong>of</strong> hardware mechanisms, memory<br />

is transparently shared among <strong>the</strong> processors at <strong>the</strong> granularity <strong>of</strong> a cache line size or smaller. On a<br />

shared-memory symmetric multiprocessor (SMP), all components are equidistant from each o<strong>the</strong>r <strong>and</strong> <strong>the</strong><br />

interconnection network is <strong>of</strong>ten a single bus. Disk locality is not an issue on SMPs since all disks are seen<br />

as equidistant to all processors. On shared-memory NUMA multiprocessors, resources are located in small<br />

groups, called nodes, that are interconnected in a hierarchical <strong>and</strong> scalable manner. The interconnection<br />

medium can be a combination <strong>of</strong> various types such as a hierarchical ring network with nodes consisting<br />

<strong>of</strong> SMPs. Memory access speed is non-uniform in <strong>the</strong>se systems since accessing memory on a local node is<br />

faster than accessing memory on a remote node, <strong>and</strong> disk locality on NUMA architectures is an issue as well.<br />

In this <strong>the</strong>sis, we focus on <strong>the</strong> performance <strong>of</strong> HFS on bus-based SMPs.<br />

On both types <strong>of</strong> shared-memory multiprocessors, <strong>the</strong>re are various performance pitfalls to avoid due to<br />

<strong>the</strong> cache-coherence mechanisms <strong>and</strong> <strong>the</strong> speed disparities between <strong>the</strong> processor caches <strong>and</strong> main memory.<br />

When two processors access independent memory locations that reside on <strong>the</strong> same cache line, false sharing<br />

can occur, causing major performance degradation. For example, consider when one processor reads a part<br />

<strong>of</strong> a shared cache line followed by ano<strong>the</strong>r processor that writes to a different part <strong>of</strong> <strong>the</strong> same cache line. The<br />

5

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

Saved successfully!

Ooh no, something went wrong!