BIB-VERSION:: CS-TR-v2.0 ID:: ncstrl.dartmouthcs//TR95-267 ENTRY:: January 09, 1996 ORGANIZATION:: Dartmouth College, Computer Science TITLE:: An API for Choreographing Data Accesses TYPE:: Technical Report (paper) REVISION:: 1 AUTHOR:: Shriver, Elizabeth A. M. AUTHOR:: Wisniewski, Leonard F. DATE:: November 1995 RETRIEVAL:: For a paper copy, email RETRIEVAL:: For a paper copy, write to Technical Report Librarian Department of Computer Science Dartmouth College 6211 Sudikoff Laboratory Hanover, NH 03755-3510 USA RETRIEVAL:: Compressed Postscript at http://www.cs.dartmouth.edu/reports/TR95-267.ps.Z RETRIEVAL:: PDF at http://www.cs.dartmouth.edu/reports/TR95-267.pdf ABSTRACT:: Current APIs for multiprocessor multi-disk file systems are not easy to use in developing out-of-core algorithms that choreograph parallel data accesses. Consequently, the efficiency of these algorithms is hard to achieve in practice. We address this deficiency by specifying an API that includes data-access primitives for data choreography. With our API, the programmer can easily access specific blocks from each disk in a single operation, thereby fully utilizing the parallelism of the underlying storage system. Our API supports the development of libraries of commonly-used higher-level routines such as matrix-matrix addition, matrix-matrix multiplication, and BMMC (bit-matrix-multiply/complement) permutations. We illustrate our API in implementations of these three high-level routines to demonstrate how easy it is to use. NOTE:: Also published as Courant Institute Tech Report 708. END:: ncstrl.dartmouthcs//TR95-267