Jf. Karpovich et al., EXTENSIBLE FILE-SYSTEMS (ELFS) - AN OBJECT-ORIENTED APPROACH TO HIGH-PERFORMANCE FILE I O/, ACM SIGPLAN NOTICES, 29(10), 1994, pp. 191-204
Scientific applications often manipulate very large sets of persistent
data. Over the past decade, advances in disk storage device performan
ce have consistently been outpaced by advances in the performance of t
he rest of the computer system. As a result, many scientific applicati
ons have become I/O-bound, i.e. their run-times are dominated by the t
ime spent performing I/O operations. Consequently, the performance of
I/O operations has become critical for high performance in these appli
cations. The ELFS approach is designed to address the issue of high pe
rformance I/O by treating files as typed objects. Typed file objects c
an exploit knowledge about the file structure and type of data. Typed
file objects can selectively apply techniques such as prefetching, par
allel asynchronous file access, and caching to improve performance. Al
so, by typing objects, the interface to the user can be improved in tw
o ways. First, the interface can be made easier to use by presenting f
ile operations in a more natural manner to the user. Second, the inter
face can allow the user to provide an ''oracle'' about access patterns
, that can allow the file object to improve performance. By combining
these concepts with the object-oriented paradigm, the goal of the ELFS
methodology is to create flexible, extensible file classes that are e
asy to use while achieving high performance. In this paper we present
the ELFS approach and our experiences with the design and implementati
on of two file classes: a two dimensional dense matrix file class and
a multidimensional range searching file class. 1