17.01.2013 Views

Algorithms and Data Structures for External Memory

Algorithms and Data Structures for External Memory

Algorithms and Data Structures for External Memory

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.

17<br />

<strong>External</strong> <strong>Memory</strong> Programming Environments<br />

There are three basic approaches to supporting development of<br />

I/O-efficient code, which we call access-oriented, array-oriented, <strong>and</strong><br />

framework-oriented.<br />

Access-oriented systems preserve the programmer abstraction of<br />

explicitly requesting data transfer. They often extend the I/O interface<br />

to include data type specifications <strong>and</strong> collective specification of multiple<br />

transfers, sometimes involving the memories of multiple processing<br />

nodes. Examples of access-oriented systems include the UNIX file system<br />

at the lowest level, higher-level parallel file systems such as Whiptail<br />

[316], Vesta [116], PIOUS [262], <strong>and</strong> the High Per<strong>for</strong>mance Storage<br />

System [351], <strong>and</strong> I/O libraries MPI-IO [115] <strong>and</strong> LEDA-SM [124].<br />

Array-oriented systems access data stored in external memory primarily<br />

by means of compiler-recognized data types (typically arrays)<br />

<strong>and</strong> operations on those data types. The external computation is<br />

directly specified via iterative loops or explicitly data-parallel operations,<br />

<strong>and</strong> the system manages the explicit I/O transfers. Arrayoriented<br />

systems are effective <strong>for</strong> scientific computations that make<br />

regular strides through arrays of data <strong>and</strong> can deliver high-per<strong>for</strong>mance<br />

parallel I/O in applications such as computational fluid dynamics,<br />

molecular dynamics, <strong>and</strong> weapon system design <strong>and</strong> simulation.<br />

141

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

Saved successfully!

Ooh no, something went wrong!