{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,4]],"date-time":"2026-05-04T23:29:23Z","timestamp":1777937363286,"version":"3.51.4"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2014,2,26]],"date-time":"2014-02-26T00:00:00Z","timestamp":1393372800000},"content-version":"vor","delay-in-days":25,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CNS-1017785 and CNS-1017206"],"award-info":[{"award-number":["CNS-1017785 and CNS-1017206"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Andrew and Erna Fince Viterbi Fellowship"},{"DOI":"10.13039\/100007065","name":"Nvidia","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100007065","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2014,2]]},"abstract":"<jats:p>As GPU hardware becomes increasingly general-purpose, it is quickly outgrowing the traditional, constrained GPU-as-coprocessor programming model. This article advocates for extending standard operating system services and abstractions to GPUs in order to facilitate program development and enable harmonious integration of GPUs in computing systems. As an example, we describe the design and implementation of GPUFs, a software layer which provides operating system support for accessing host files directly from GPU programs. GPUFs provides a POSIX-like API, exploits GPU parallelism for efficiency, and optimizes GPU file access by extending the host CPU's buffer cache into GPU memory. Our experiments, based on a set of real benchmarks adapted to use our file system, demonstrate the feasibility and benefits of the GPUFs approach. For example, a self-contained GPU program that searches for a set of strings throughout the Linux kernel source tree runs over seven times faster than on an eight-core CPU.<\/jats:p>","DOI":"10.1145\/2553081","type":"journal-article","created":{"date-parts":[[2014,2,25]],"date-time":"2014-02-25T13:20:45Z","timestamp":1393334445000},"page":"1-31","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":24,"title":["GPUfs"],"prefix":"10.1145","volume":"32","author":[{"given":"Mark","family":"Silberstein","sequence":"first","affiliation":[{"name":"University of Texas at Austin"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bryan","family":"Ford","sequence":"additional","affiliation":[{"name":"Yale University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Idit","family":"Keidar","sequence":"additional","affiliation":[{"name":"Technion"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Emmett","family":"Witchel","sequence":"additional","affiliation":[{"name":"University of Texas at Austin"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,2,26]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"AMD. AMD and HSA: A new era of vivid digital experiences. http:\/\/www.amd.com\/us\/products\/technologies\/hsa\/Pages\/hsa.aspx.  AMD. AMD and HSA: A new era of vivid digital experiences. http:\/\/www.amd.com\/us\/products\/technologies\/hsa\/Pages\/hsa.aspx."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.485843"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.1631"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629579"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2009.204"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1015706.1015800"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1994.2022"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736059"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1851275.1851207"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1513895.1513902"},{"key":"e_1_2_1_11_1","unstructured":"Stephen Hemminger. 2002. Fast reader\/writer lock for gettimeofday 2.5.30.  Stephen Hemminger. 2002. Fast reader\/writer lock for gettimeofday 2.5.30."},{"key":"e_1_2_1_12_1","unstructured":"Maurice Herlihy and Nir Shavit. 2008. The Art of Multiprocessor Programming. Morgan-Kaufmann.   Maurice Herlihy and Nir Shavit. 2008. The Art of Multiprocessor Programming. Morgan-Kaufmann."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/35037.35059"},{"key":"e_1_2_1_14_1","unstructured":"Intel Corporation 2012. Intel Xeon-Phi Coprocessor: System Software Developers Guide. http:\/\/www.intel.com\/content\/www\/us\/en\/processors\/xeon\/xeon-phi-coprocessor-system-software-developers-guide.html.  Intel Corporation 2012. Intel Xeon-Phi Coprocessor: System Software Developers Guide. http:\/\/www.intel.com\/content\/www\/us\/en\/processors\/xeon\/xeon-phi-coprocessor-system-software-developers-guide.html."},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (PACT). IEEE, 269--278","author":"Ji Feng","year":"2013","unstructured":"Feng Ji , Heshan Lin , and Xiaosong Ma . 2013 . RSVM: A region-based software virtual memory for GPU . In Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (PACT). IEEE, 269--278 . Feng Ji, Heshan Lin, and Xiaosong Ma. 2013. RSVM: A region-based software virtual memory for GPU. In Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (PACT). IEEE, 269--278."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.5555\/1148882.1148891"},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the USENIX Annual Technical Conference.","author":"Kato S.","unstructured":"S. Kato , M. McThrow , C. Maltzahn , and S. Brandt . 2012. Gdev: First-class GPU resource management in the operating system . In Proceedings of the USENIX Annual Technical Conference. S. Kato, M. McThrow, C. Maltzahn, and S. Brandt. 2012. Gdev: First-class GPU resource management in the operating system. In Proceedings of the USENIX Annual Technical Conference."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2011.89"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2318916.2318920"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1188455.1188686"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the Ottawa Linux Symposium. 338--367","author":"McKenney Paul E.","year":"2002","unstructured":"Paul E. McKenney , Dipankar Sarma , Andrea Arcangeli , Andi Kleen , Orran Krieger , and Rusty Russell . 2002 . Read-copy update . In Proceedings of the Ottawa Linux Symposium. 338--367 . Paul E. McKenney, Dipankar Sarma, Andrea Arcangeli, Andi Kleen, Orran Krieger, and Rusty Russell. 2002. Read-copy update. In Proceedings of the Ottawa Linux Symposium. 338--367."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629597"},{"key":"e_1_2_1_23_1","unstructured":"NFS. Network File System (NFS) version 4 protocol. http:\/\/www.ietf.org\/rfc\/rfc3530.txt.  NFS. Network File System (NFS) version 4 protocol. http:\/\/www.ietf.org\/rfc\/rfc3530.txt."},{"key":"e_1_2_1_24_1","unstructured":"NVIDIA. NVIDIA CUDA 4.2 Developer Guide. http:\/\/developer.nvidia.com\/category\/zone\/cuda-zone.  NVIDIA. NVIDIA CUDA 4.2 Developer Guide. http:\/\/developer.nvidia.com\/category\/zone\/cuda-zone."},{"key":"e_1_2_1_25_1","unstructured":"NVIDIA 2013. NVIDIA CUDA Programming Guide. NVIDIA. NVIDIA. GPU-accelerated high performance libraries. https:\/\/developer.nvidia.com\/gpu-accelerated-libraries.  NVIDIA 2013. NVIDIA CUDA Programming Guide. NVIDIA. NVIDIA. GPU-accelerated high performance libraries. https:\/\/developer.nvidia.com\/gpu-accelerated-libraries."},{"key":"e_1_2_1_26_1","unstructured":"NVIDIA Thrust library. https:\/\/developer.nvidia.com\/thrust.  NVIDIA Thrust library. https:\/\/developer.nvidia.com\/thrust."},{"key":"e_1_2_1_27_1","unstructured":"NVIDIA. Popular GPU-accelerated applications. http:\/\/www.nvidia.com\/object\/gpu-applications.html.  NVIDIA. Popular GPU-accelerated applications. http:\/\/www.nvidia.com\/object\/gpu-applications.html."},{"key":"e_1_2_1_28_1","unstructured":"Khronos Group: OpenCL. The Open Standard for Parallel Programming of Heterogeneous Systems. http:\/\/www.khronos.org\/opencl.  Khronos Group: OpenCL. The Open Standard for Parallel Programming of Heterogeneous Systems. http:\/\/www.khronos.org\/opencl."},{"key":"e_1_2_1_29_1","unstructured":"PGroup. PGI accelerator compilers with OpenACC directives. www.pgroup.com\/resources\/accel.htm.  PGroup. PGI accelerator compilers with OpenACC directives. www.pgroup.com\/resources\/accel.htm."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043579"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the Hot Topics in Operating Systems (HotOS'11)","author":"Rossbach Christopher J.","year":"2011","unstructured":"Christopher J. Rossbach , Jon Currey , and Emmett Witchel . 2011 b. Operating Systems must support GPU abstractions . In Proceedings of the Hot Topics in Operating Systems (HotOS'11) . Christopher J. Rossbach, Jon Currey, and Emmett Witchel. 2011b. Operating Systems must support GPU abstractions. In Proceedings of the Hot Topics in Operating Systems (HotOS'11)."},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation. USENIX Association","author":"Soares Livio","year":"2010","unstructured":"Livio Soares and Michael Stumm . 2010 . FlexSC: Flexible system call scheduling with exception-less system calls . In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation. USENIX Association , Berkeley, CA, 1--8. http:\/\/dl.acm.org\/citation.cfm&quest;id= 1924943.1924946. Livio Soares and Michael Stumm. 2010. FlexSC: Flexible system call scheduling with exception-less system calls. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation. USENIX Association, Berkeley, CA, 1--8. http:\/\/dl.acm.org\/citation.cfm&quest;id=1924943.1924946."},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 3rd Workshop on UnConventional High Performance Computing (UCHPC'10)","author":"Stuart Jeff A.","unstructured":"Jeff A. Stuart , Michael Cox , and John D. Owens . 2010. GPU-to-CPU callbacks . In Proceedings of the 3rd Workshop on UnConventional High Performance Computing (UCHPC'10) . Jeff A. Stuart, Michael Cox, and John D. Owens. 2010. GPU-to-CPU callbacks. In Proceedings of the 3rd Workshop on UnConventional High Performance Computing (UCHPC'10)."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/232973.232993"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-89740-8_1"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346304"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the LinuxExpo Conference. 141--151","author":"Zadok E.","unstructured":"E. Zadok and I. B\u0103dulescu . 1999. A stackable file system interface for Linux . In Proceedings of the LinuxExpo Conference. 141--151 . E. Zadok and I. B\u0103dulescu. 1999. A stackable file system interface for Linux. In Proceedings of the LinuxExpo Conference. 141--151."}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2553081","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,30]],"date-time":"2022-12-30T21:35:22Z","timestamp":1672436122000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2553081"}},"subtitle":["Integrating a file system with GPUs"],"short-title":[],"issued":{"date-parts":[[2014,2]]},"references-count":37,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2014,2]]}},"alternative-id":["10.1145\/2553081"],"URL":"https:\/\/doi.org\/10.1145\/2553081","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,2]]},"assertion":[{"value":"2013-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-02-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}