| K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, Washington, DC, November 1994. IEEE Computer Society Press. |
....2, nb = 6, 1 2 1 2 2 ne = 3, nb = 3, bf = 2, bf = 1) 1 block = 1 record = 1 superblock Dimension (0,0) Dimension 1 (3,0) 2,0) 5,2) 2 ne 1 Figure 3. 5: Specifying the Blocking of a 2 D Matrix One popular application specific interface is the multidimensional array or block interface [5, 11, 49]. These interfaces are tailored for operation on data sets that consist of records stored in some array format. The MDBI interface is a library of calls designed to help in the development of out of core (OOC) algorithms operating on multi dimensional datasets by making it easier to manage the ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, Washington, DC, November 1994. IEEE Computer Society Press.
....= 800, ls = 400) Figure 2: Accessing a Portion of a Strided Region ing what would have been multiple small messages to be combined into a single, larger request. Other parallel file systems and interfaces supporting accesses to noncontiguous regions with single requests include Vesta [7] Panda [8], MPI IO [9] and PASSION [10] Our I O daemon accepts strided requests in order to take advantage of this typical access pattern. Each read or write request consists of a set of six parameters: ffl request location (rl) location of start of request ffl first size (fs) size of starting ....
....more application specific interfaces should be developed. One common way to view data files is as a multi dimensional matrix of some sort, so support for accessing files in this manner is an obvious approach. Examples of variants on this type of interface are the Panda interface for the iPSC 860 [8] and Vesta on the Vulcan multicomputer [7] The MDBI interface is a library of calls designed to help in the development of OOC algorithms operating on multi dimensional datasets by making it easier to manage the movement of data in and out of core. It allows the programmer to describe an open ....
K. E. Seamons and M. Winslett, "An efficient abstract interface for multidimensional array I/O," in Proceedings of Supercomputing '94, (Washington, DC), pp. 650--659, IEEE Computer Society Press, November 1994.
....A recent effort is the the development of visualization corridors [27] focusing an integrated solution for distance visualization. Turning to the I O issue, work has been done mainly addressing the I O characteristics of graphics and visualization applications on parallel computers [4, 23, 3]. The parallel I O capabilities of MPI 2 [6] offer a standard way to implement high performance I O which allows noncontiguous access patterns and collective I O. Kotz maintains an online archive (http: www.cs.dartmouth.edu pario ) providing abundant information about the research on and the use ....
K. Seamons and M. Winslett. An efficient abstract interface for multidimensional array i/o. In Proceedings of Supercomputing '94, pages 650--659, 1994.
....and Compression for Collective I O To further improve performance and reduce storage space, from a software point of view, a feasible option is to enhance collective I O operations using chunking and compression. Chunking by itself has been proposed as a technique to manage I O for large arrays [7, 12]. Compression has been traditionally used to reduce storage space requirements[15] but recently it has been applied to parallel applications managing large arrays with the aim of reducing the total execution time of the applications [13, 9] Our library combines chunking and compression to ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
....of files for data partitioning, collective operations for data access, and asynchronous operations. Vesta is designed to scale to hundreds of compute nodes, with no sequential bottlenecks in the data access path. Jovian [1] PASSION [3, 32] and VIP FS [10] target out of core algorithms. Panda [29, 30, 31] supports a collective global array interface, and optimizes file access by making the file layout correspond to the global array distribution a 3 D array is stored in 3 D chunks in the file. 2 OVERVIEW OF MPI IO The goal of the MPI IO interface is to provide a widely used standard for ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994. MPI-IO Parallel I/O Interface 21
....dedicated I O nodes. Most are based on a fairly traditional Unix like interface, in which individual processes make a request to the file system for each piece of the file they read or write. Increasingly common, however, are specialized interfaces to support multidimensional matrices [CFPB93, SW94, GL91, GGL93, BdC93, BBS 94, Mas92] and interfaces that support collective I O [GGL93, BdC93, BBS 94, Mas92] With a collective I O interface, all processes make a single joint request to the file system, rather than numerous independent requests. Disk directed I O is a promising new ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
....on a fairly traditional Unix like interface, in which individual processes make a request to the file system for each piece of the file they read or write. Increasingly common, however, are specialized interfaces to support multidimensional matrices [GL91, Mas92, BdC93, CFPB93, GGL93, BBS 94, SW94] and interfaces that support collective I O [Mas92, BdC93, GGL93, BBS 94, CFH 95] With a collective I O interface, all processes make a single joint request to the file system, rather than numerous independent requests. In this paper we assume that the multiprocessor has an architecture ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
.... applications (e.g. flow solvers output data at determined intervals over time) The timestamp file is read either by having the application selecting which timestamp should be in memory at a given moment or by providing a paged ondemand higher dimensional array (time is the added dimension) Seamons 94] Arrays can be grouped and the operations can be performed on a group of arrays. This provides an even higher level interface for collective I O, which enables the server to better optimize the physical I O requests. The three Panda primitives (namely: checkpointing, restoring, and timestepping) ....
K.E. Seamons, and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650-659, Washington, DC, November 1994. IEEE Computer Society Press. http://drl.cs.uiuc.edu/pubs/super94.ps
....area of persistent storage for parallel applications. Different parallel file systems have been elaborated specifically for scientific applications[13] 8] Many are designed for machines that have dedicated I O nodes [18, 8] Some offer specialized interfaces to support multidimensional matrices [26] or interfaces to support joint I O requests from many processes [4] Good results are achieved, but the efforts deployed can not easily be used for other applications or architectures. This paper describes an I O subsystem that is general as it can be used by many different applications on ....
K.E. Seamons, M. Winslett. "An efficient abstract interface for multidimensional array I/O." In Proceedings fo Supercomputing
....more optimization. By moving some SQL processing to the IOPs, one system was able to filter out irrelevant tuples at the IOPs, reducing the data volume sent to the CPs [BP88] Some matrix I O libraries significantly improve performance by changing the underlying matrix storage format [KGF94, SS93, SW94, TG96] These libraries could use a disk directed file system to obtain even better performance, transparently to the end user. The Jovian collective I O library [BBS 94] tries to coalesce fragmented requests from many CPs into larger requests that can be passed to the IOPs. Their ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
....their I O needs at a higher semantic level. These interfaces are sometimes tightly integrated into a particular language such as HPF [BGMZ92, HPF93] or CMF [Thi94] There are also many language independent libraries to support parallel I O, usually to support distributed matrices [TBC 94, SW94] The Jovian project explores the issues relating to the storage of irregular structures [BBS 94] Finally, there are also plans to extend the MPI standard to include parallel I O operations [MPI94, CFF 95] These systems and their interfaces could all be considered candidates for ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
....cooperation among the compiler, run time, operating system, and hardware. An extension to the MPI message passing interface was recently proposed, and includes some collective I O support [CFH 94] Finally, there are several libraries for collective matrix I O [GGL93, KGF94, BdC93, BBS 94, SW94] For example, to read a two dimensional matrix of integers in the notation of [GGL93] every processor executes the following code: PIFArrayPart mypart[2] describes my part of matrix int A = malloc( memory for my part PIFILE fp = PIFOpen( ....
....and processed by CPs as they become available. While this concept is roughly similar to our disk directed I O, it is primarily a speed matching buffer used for load balancing. Some matrix I O libraries significantly improve performance by changing the underlying matrix storage format [KGF94, SS93, SW94] These libraries could use a disk directed file system to obtain even better performance, transparently to the end user. The Jovian collective I O library [BBS 94] tries to coalesce fragmented requests from many CPs into larger requests that can be passed to the IOPs. Their coalescing ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
.... Scotch [GSC 95] and Galley [NK96a, NK96b] Many more techniques for improving the performance of parallel file systems have been described, including caching and prefetching [KE93b, KE93a, PGG 95] two phase I O [dBC93] disk directed I O [Kot94] compute node caching [PEK96] chunking [SW94] compression [SW95] filtering [Kot95, BP88] and so forth. The diversity of current systems and techniques indicates that there is clearly no consensus about the structure of, interface to, or even functionality of parallel file systems. Indeed, it seems that no one interface or structure will ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
....schemes [91] Vesta is a parallel file system which supports logical partitioning of files [29, 27] The RAMA [84] file system distributes file blocks across disks randomly using a hash function, instead of the usual striped layout. Runtime libraries for parallel I O, such as the Panda Library [104, 105] and the Jovian Library [4] are being developed. Portable parallel file systems such as VIP FS [55] PIOUS [85] and PPFS [60] have been developed recently. Techniques for improving I O performance using collective I O have also been proposed. Two phase I O is a technique for performing collective ....
K. Seamons and M. Winslett. An Efficient Abstract Interface for Multidimensional Array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
....algorithms and, sometimes, can dramatically improve performance. Visualization algorithms using a logical schema can, without change, access data physically laid out in many formats, with (usually) some loss of performance. On the other hand, working with massively parallel processors, [Seamons94] has shown that storing multi dimensional arrays in single processor chunks can improve IO performance by an order of magnitude. A logical interface to the arrays allows simulation and visualization software to remain unchanged, even thought the data are not arranged in traditional FORTRAN (or ....
K. E. Seamons and M. Winslett, "An Efficient Abstract Interface for Multidimensional Array I/O", Proceedings of Supercomputing '94, Washington D.C., November 1994.
....preceding sections discuss work that was performed as a direct part of the research for this dissertation. Galley has also been used by other people. The Panda Array I O library was designed at the University of Illinois, to support high performance I O for multidimensional matrices [SCJ 95, SW94] While most such projects are based on some variant of Fortran, this group chose to examine the issue of supporting distributed matrices under C . Joel Thomas, a Dartmouth undergraduate, redesigned and modified the Panda Array Library to run on top of the Galley Parallel File System [Tho96] ....
....great deal of research in designing libraries to support parallel I O. The focus of much of this research has been the support of distributed matrices, particularly for data parallel variants of Fortran [CBH 94, TBC 94, TG96] Other libraries support multidimensional matrix I O under C [SW94, SCJ 95, CWS 96] There has also been quite a bit of work done in supporting irregular data structures: CSBS94, PSC 95] discuss the issues relating to interprocessor distribution of these structures, and Jovian explores the issues relating to their persistent storage [BBS 94] ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
.... [25] PIOUS [30] RAMA [29] PPFS [19] Scotch [15] and Galley [31, 32] Many more techniques for improving the performance of parallel file systems have been described, including caching and prefetching [24, 23, 34] two phase I O [10] disk directed I O [20] compute node caching [37] chunking [40], compression [41] filtering [21, 2] and so forth. The diversity of current systems and techniques indicates that there is clearly no consensus about the structure of, interface to, or even functionality of parallel file systems. Indeed, it seems that no one interface or structure will be ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proc. of Supercomp. '94, pages 650--659, Nov. 1994.
....a reasonable model for the design of I O efficient algorithms and analysis at a feasible level of abstraction. A number of I O efficient algorithms have been designed on PDM to solve problems such as sorting [AP94, Arg95, NV93, VS94] general permuting [VS94] BMMC permutations [Cor92, Cor93, CSW94, Wis95] mesh and torus permutations [Cor92, Wis95] matrix matrix multiplication [VS94] matrix transpose [Cor92, Cor93, CSW94, VS94] FFT [VS94] LU decomposition [WGWR93] graph algorithms [CGG 95] and geometric algorithms [AVV95, GTVV93] In this section, we define the parameters and ....
.... algorithms have been designed on PDM to solve problems such as sorting [AP94, Arg95, NV93, VS94] general permuting [VS94] BMMC permutations [Cor92, Cor93, CSW94, Wis95] mesh and torus permutations [Cor92, Wis95] matrix matrix multiplication [VS94] matrix transpose [Cor92, Cor93, CSW94, VS94] FFT [VS94] LU decomposition [WGWR93] graph algorithms [CGG 95] and geometric algorithms [AVV95, GTVV93] In this section, we define the parameters and data layout for PDM. We also describe the types of data access needed by PDM algorithms and discuss how well existing file systems ....
[Article contains additional citation context not shown here]
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
....high performance through cooperation among the compiler, run time, operating system, and hardware. The MPI message passing interface may soon be extended to include I O [CFH 94] including collective I O. Finally, there are several libraries for collective matrix I O [GGL93, BdC93, BBS 94, SW94] Two phase I O. Two phase I O is a technique for optimizing data transfer given a high level, collective interface [dBC93] A library implementing the interface breaks the request into two phases, an I O phase and a redistribution phase. When reading, the compute processors cooperate to read a ....
.... all processors; disk directed read of (first col) through (first col ncols 1) barrier( g Figure 3: Pseudo code for LU read (LU write is similar) Finally, we note that code like that in Figure 2 could be written by hand, incorporated in a parallel matrix library [GGL93, BdC93, BBS 94, SW94] or generated by a smart compiler [CC94, TBC94, BTC94] 4 Experiments To gain a better understanding of the benefits of disk directed I O to an application like LU decomposition, we ran several experiments. In these experiments, we ran the program in Figure 2 with both the traditional caching ....
K. E. Seamons and M. Winslett. An efficient abstract interface for multidimensional array I/O. In Proceedings of Supercomputing '94, pages 650--659, November 1994.
....support for the user to specify a logical view of the data to be accessed. There have also been some proposals for file system interfaces which allow the user to specify strided requests in a single read write call [3, 8] Specialized interfaces are also provided by other runtime libraries such as [7, 9]. The PASSION Runtime Library provides a very general high level interface. For example, the user can access arbitrary array sections with strides in each dimension. The array elements can be of any type, even user defined records. The array can be stored in the file in any storage order and the ....
K. Seamons and M. Winslett. An Efficient Abstract Interface for Multidimensional Array I/O. In Proceedings of Supercomputing '94, pages 650-- 659, November 1994.
....library (accessible on line at URL http: bunny.cs.uiuc.edu CADR WinslettGroup arrays.html) which incorporates the physical schemas described earlier. We also comment on the general performance characteristics we have observed testing our i o library; specific performance numbers are reported in [Seamons94]. 3.1 Checkpoint and restart A flow solver periodically conducts a checkpoint to save the current state of a computation in order to resume that computation in case of a system failure. This avoids the unpleasant circumstance of repeating a lengthy computation from the beginning. struct ....
....chunks, but kept each in a different file, leading to many disk seeks to write the entire checkpoint. Our experiments revealed a performance characteristic of the iPSC 860. Optimum performance was obtained when taking full advantage of the 10 Mb of total cache available from the 10 i o processors [Seamons94]. Nitzberg92] provides complete hardware details of the iPSC 860 at NAS and additional experimental results that illustrate the significance of the cache size. In our i o library for iPSC 860 checkpoints, the best physical schema varies depending on the size of the arrays. If a single array fits ....
[Article contains additional citation context not shown here]
K. E. Seamons and M. Winslett, An Efficient Abstract Interface for Multidimensional Array I/O, Proceedings of Supercomputing '94, Washington D.C., November, 1994.
....data types) Panda currently supports applications that distribute arrays across all compute nodes using HPFstyle BLOCK and based array schemas. By default, for performance and convenience, Panda uses a disk schema that is identical to the memory schema. We refer to this as natural chunking [Seamons94b] However, users may override the default by declaring any BLOCK and based schema for disk; this is useful when users know how the data will be accessed in the future and wish to optimize for the future. The schemas on disk and in memory may decompose the arrays in radically different ways, as ....
....orderly contiguous disk i o requests rather than servicing disk i o requests as they arrive in random order. Several parallel file systems and multidimensional array libraries have provided a collective i o interface [Bennett94, Brezany95, Corbett94b, 6 Corbett95, del Rosario94, Karpovich94, Seamons94b, Seligman94] some of them have shown that collective i o provides high performance given appropriate language, compiler and run time system support. Three approaches to i o optimization are discussed in [Kotz94b] traditional caching, two phase i o, and disk directed i o. Traditional caching ....
K. E. Seamons and M. Winslett, An Efficient Abstract Interface for Multidimensional Array I/O, Proceedings of Supercomputing '94, Washington D.C., November 1994.
....versus column major) Most of these works have been applied to real applications. For example, Bell88] designed a specialized database system for particle physics codes; Karpovich94] used a PLOP file structure for the array storage of radio astronomy applications at the NRAO; Seamons94a, Seamons94b] proposed natural chunking (also used in this paper) for storing the multidimensional array of CFD applications. The first two applications are read intensive and perform querylike i o, while the last one is write intensive, requiring the output of solution files and periodic checkpointing. ....
K. E. Seamons and M. Winslett, A Efficient Abstract Interface for Multidimensional Array I/O, Proceedings of Supercomputing '94, Washington D.C., November 1994.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC