{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,5]],"date-time":"2025-03-05T05:39:53Z","timestamp":1741153193940,"version":"3.38.0"},"reference-count":26,"publisher":"SAGE Publications","issue":"2","license":[{"start":{"date-parts":[[2007,5,1]],"date-time":"2007-05-01T00:00:00Z","timestamp":1177977600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2007,5]]},"abstract":"<jats:p> Client-side file caching is one of many I\/O strategies adopted by today's parallel file systems that were initially designed for distributed systems. Most of these implementations treat each client independently because clients' computations are seldom related to each other in a distributed environment. However, it is misguided to apply the same assumption directly to high-performance computers where many parallel I\/O operations come from a group of processes working within the same parallel application. Thus, file caching could perform more effectively if the scope of processes sharing the same file is known. In this paper, we propose a client-side file caching system for MPI applications that perform parallel I\/O operations on shared files. In our design, an I\/O thread is created and runs concurrently with the main thread in each MPI process. The MPI processes that collectively open a shared file use the I\/O threads to cooperate with each other to handle file requests, cache page access, and coherence control. By bringing the caching subsystem closer to the applications as a user space library, it can be incorporated into an MPI I\/O implementation to increase its portability. Performance evaluations using three I\/O benchmarks demonstrate a significant improvement over traditional methods that use either byte-range file locking or rely on coherent I\/O provided by the file system. <\/jats:p>","DOI":"10.1177\/1094342007077857","type":"journal-article","created":{"date-parts":[[2007,4,26]],"date-time":"2007-04-26T15:03:05Z","timestamp":1177599785000},"page":"144-154","source":"Crossref","is-referenced-by-count":8,"title":["Cooperative Client-Side File Caching for MPI Applications"],"prefix":"10.1177","volume":"21","author":[{"given":"Wei-keng","family":"Liao","sequence":"first","affiliation":[{"name":"ELECTRICAL ENGINEERING AND COMPUTER SCIENCE DEPARTMENT, NORTHWESTERN\r                        UNIVERSITY, EVANSTON, IL 60208, USA,"}]},{"given":"Kenin","family":"Coloma","sequence":"additional","affiliation":[{"name":"ELECTRICAL ENGINEERING AND COMPUTER SCIENCE DEPARTMENT, NORTHWESTERN\r                        UNIVERSITY, EVANSTON, IL 60208, USA"}]},{"given":"Alok","family":"Choudhary","sequence":"additional","affiliation":[{"name":"ELECTRICAL ENGINEERING AND COMPUTER SCIENCE DEPARTMENT, NORTHWESTERN\r                        UNIVERSITY, EVANSTON, IL 60208, USA"}]},{"given":"Lee","family":"Ward","sequence":"additional","affiliation":[{"name":"SCALABLE COMPUTING SYSTEMS DEPARTMENT, SANDIA NATIONAL LABORATORIES,\r                        ALBUQUERQUE, NM 87185, USA"}]}],"member":"179","published-online":{"date-parts":[[2007,5,1]]},"reference":[{"volume-title":"Concurrency control and recovery in database systems","year":"1987","author":"Bernstein, P.","key":"atypb1"},{"volume-title":"Proceedings of the Fourth Annual Linux Showcase and Conference","author":"Carns, P.","key":"atypb2"},{"volume-title":"Proceedings of the International Supercomputer Conference","author":"Coloma, K.","key":"atypb3"},{"volume-title":"Proceedings of the 2nd International Euro-Par Conference","author":"Corts, T.","key":"atypb4"},{"volume-title":"Proceedings of the First Symposium on Operating System Design and Implementation","author":"Dahlin, M.","key":"atypb5"},{"volume-title":"Proceedings of the Workshop on Input\/ Output in Parallel Computer Systems at IPPS'93","author":"del Rosario, J.","key":"atypb6"},{"volume-title":"Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation","author":"Fineberg, S.","key":"atypb7"},{"key":"atypb8","doi-asserted-by":"publisher","DOI":"10.1086\/317361"},{"volume-title":"Hierarchical data format, Version 5","year":"2005","author":"HDF Group","key":"atypb9"},{"volume-title":"Proceedings of the Ninth ACM International Conference on Supercomputing","author":"Huber, J.","key":"atypb10"},{"volume-title":"1996 (ISO\/IEC) [IEEE\/ANSI Std 1003.1, 1996 Edition] Information technology\u2014Portable operating system interface (POSIX\u00ae )\u2014Part 1: System application: Program interface (API) [C Language]","year":"1996","author":"Ieee","key":"atypb11"},{"volume-title":"IEEE Std 1003.1-2001 Standard for Information Technology\u2014Portable operating system interface (POSIX) system interfaces, Issue 6, pub-IEEE-STD:adr: pub-IEEE-STD. Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992","year":"2001","author":"Ieee","key":"atypb12"},{"volume-title":"Proceedings of the Eighteenth Annual International Conference on Supercomputing","author":"Isaila, F.","key":"atypb13"},{"volume-title":"Whitepaper:Lustre: A Scalable, High-Performance File System","year":"2003","author":"Cluster File Systems","key":"atypb14"},{"volume-title":"IO output performance with active buffering plus threads, in Proceedings of the International Parallel and Distributed Processing Symposium","year":"2003","author":"Ma, X.","key":"atypb15"},{"volume-title":"MPI: A message passing interface standard, Version 1.1","year":"1995","author":"MPI Forum","key":"atypb16"},{"volume-title":"MPI-2: Extensions to the message passing interface","year":"1997","author":"Mpi Forum","key":"atypb17"},{"volume-title":"Proceedings of the ACM\/IEEE Conference on Supercomputing","author":"Nagle, D.","key":"atypb18"},{"volume-title":"Proceedings of the ACM\/ IEEE Conference on Supercomputing","author":"Prost, J.","key":"atypb19"},{"key":"atypb20","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-44520-X_177"},{"volume-title":"Proceedings of the First Conference on File and Storage Technologies","author":"Schmuck, F.","key":"atypb21"},{"volume-title":"Distributed systems \u2014 principles and paradigms","year":"2002","author":"Tanenbaum, A.","key":"atypb22"},{"volume-title":"Proceedings of the Sixth Workshop on Input\/Output in Parallel and Distributed Systems","author":"Thakur, R.","key":"atypb23"},{"volume-title":"Proceedings of the Joint International Conference on Measurement and Modeling of Computer Systems","author":"Voelker, G.","key":"atypb24"},{"volume-title":"NAS parallel benchmarks I\/O Version 2.4, Technical Report NAS-03-002","year":"2003","author":"Wong, P.","key":"atypb25"},{"volume-title":"FLASH I\/O benchmark routine \u2014 parallel HDF 5","year":"2001","author":"Zingale, M.","key":"atypb26"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342007077857","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342007077857","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,4]],"date-time":"2025-03-04T15:52:59Z","timestamp":1741103579000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342007077857"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,5]]},"references-count":26,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2007,5]]}},"alternative-id":["10.1177\/1094342007077857"],"URL":"https:\/\/doi.org\/10.1177\/1094342007077857","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"type":"print","value":"1094-3420"},{"type":"electronic","value":"1741-2846"}],"subject":[],"published":{"date-parts":[[2007,5]]}}}