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 3. HFS ARCHITECTURE 15<br />

3.1.2 Logical Layer<br />

HFS user−level library GNU C library K42 library<br />

HFS<br />

logical layer<br />

disk<br />

interface<br />

user−level application<br />

physical layer<br />

disk<br />

interface<br />

device driver<br />

virtual file system<br />

file system interface<br />

disk<br />

interface<br />

disk disk disk<br />

Figure 3.1: HFS layers.<br />

file cache<br />

manager<br />

file<br />

representative<br />

kernel<br />

The logical layer provides naming, au<strong>the</strong>ntication, <strong>and</strong> locking services. Naming services include path name<br />

lookup <strong>and</strong> caching. This layer was not ported since <strong>the</strong> VFS layer <strong>and</strong> <strong>the</strong> name space server components<br />

<strong>of</strong> K42 h<strong>and</strong>le <strong>the</strong>se services. Krieger states that, “We are less concerned about this layer, since it is not<br />

heavily involved when reading <strong>and</strong> writing file data, <strong>and</strong> hence is not performance critical” [34, p. 82].<br />

3.1.3 Physical Layer<br />

The physical layer maintains <strong>the</strong> mapping <strong>of</strong> logical file blocks to physical disk blocks. It h<strong>and</strong>les file<br />

structuring, disk block placement, load balancing, locality management, <strong>and</strong> cylinder clustering. This layer<br />

is our area <strong>of</strong> focus since it contains <strong>the</strong> performance critical meta-data caches <strong>and</strong> implements <strong>the</strong> core<br />

functionality <strong>of</strong> <strong>the</strong> file system. It will be described in more detail in Section 3.3.2.<br />

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

The file system interface is similar to <strong>the</strong> Unix/Linux/GNU virtual file system interface definition. As shown<br />

in Table 3.1, it contains functions to obtain <strong>and</strong> change file attributes, open <strong>and</strong> close files, obtain directory<br />

listings, <strong>and</strong> read <strong>and</strong> write from <strong>and</strong> to <strong>the</strong> file system. The speed <strong>and</strong> scalability <strong>of</strong> <strong>the</strong>se function calls<br />

determines <strong>the</strong> overall speed <strong>and</strong> scalability <strong>of</strong> <strong>the</strong> file system.

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

Saved successfully!

Ooh no, something went wrong!