{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:10:49Z","timestamp":1750306249575,"version":"3.41.0"},"reference-count":36,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2017,1,30]],"date-time":"2017-01-30T00:00:00Z","timestamp":1485734400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2017,1,30]]},"abstract":"<jats:p>System software overheads in the I\/O path, including VFS and file system code, become more pronounced with emerging low-latency storage devices. Currently, these overheads constitute the main bottleneck in the I\/O path and they limit efficiency of modern storage systems. In this paper we present a taxonomy of the current state-of-the-art systems on accelerating accesses to fast storage devices. Furthermore, we present Iris, a new I\/O path for applications, that minimizes overheads from system software in the common I\/O path. The main idea is the separation of the control and data planes. The control plane consists of an unmodified Linux kernel and is responsible for handling data plane initialization and the normal processing path through the kernel for non-file related operations. The data plane is a lightweight mechanism to provide direct access to storage devices with minimum overheads and without sacrificing strong protection semantics. Iris requires neither hardware support from the storage devices nor changes in user applications. We evaluate our early prototype and we find that it achieves on a single core up to 1:7x and 2:2x better read and write random IOPS, respectively, compared to the XFS and EXT4 file systems. It also scales with the number of cores; using 4 cores Iris achieves 1:84x and 1:96x better read and write random IOPS, respectively. In sequential reads we provide similar performance and in sequential writes we are about 20% better compared to other file systems.<\/jats:p>","DOI":"10.1145\/3041710.3041713","type":"journal-article","created":{"date-parts":[[2017,2,1]],"date-time":"2017-02-01T17:15:10Z","timestamp":1485969310000},"page":"3-11","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Iris"],"prefix":"10.1145","volume":"50","author":[{"given":"Anastasios","family":"Papagiannis","sequence":"first","affiliation":[{"name":"Institute of Computer Science, FORTH (ICS), Heraklion, Greece"}]},{"given":"Giorgos","family":"Saloustros","sequence":"additional","affiliation":[{"name":"Institute of Computer Science, FORTH (ICS), Heraklion, Greece"}]},{"given":"Manolis","family":"Marazakis","sequence":"additional","affiliation":[{"name":"Institute of Computer Science, FORTH (ICS), Heraklion, Greece"}]},{"given":"Angelos","family":"Bilas","sequence":"additional","affiliation":[{"name":"Institute of Computer Science, FORTH (ICS), Heraklion, Greece"}]}],"member":"320","published-online":{"date-parts":[[2017,1,30]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"An Overview","author":"Dq Technology Intel","year":"2008","unstructured":"Intel VM Dq Technology : An Overview , 2008 . Intel VMDq Technology: An Overview, 2008."},{"key":"e_1_2_1_2_1","unstructured":"AMD. Secure Virtual Machine Architecture Reference Manual.  AMD. Secure Virtual Machine Architecture Reference Manual."},{"key":"e_1_2_1_3_1","volume-title":"https:\/\/github.com\/axboe","author":"Axboe J.","year":"2005","unstructured":"J. Axboe . Flexible I\/O Tester . https:\/\/github.com\/axboe , 2005 . J. Axboe. Flexible I\/O Tester. https:\/\/github.com\/axboe, 2005."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629579"},{"key":"e_1_2_1_5_1","first-page":"335","volume-title":"Presented as part of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12)","author":"Belay A.","year":"2012","unstructured":"A. Belay , A. Bittau , A. Mashtizadeh , D. Terei , D. Mazi\u00e9res , and C. Kozyrakis . Dune: Safe user-level access to privileged cpu features . In Presented as part of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12) , pages 335 -- 348 , Hollywood, CA , 2012 . USENIX. A. Belay, A. Bittau, A. Mashtizadeh, D. Terei, D. Mazi\u00e9res, and C. Kozyrakis. Dune: Safe user-level access to privileged cpu features. In Presented as part of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12), pages 335--348, Hollywood, CA, 2012. USENIX."},{"key":"e_1_2_1_6_1","first-page":"49","volume-title":"11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14)","author":"Belay A.","year":"2014","unstructured":"A. Belay , G. Prekas , A. Klimovic , S. Grossman , C. Kozyrakis , and E. Bugnion . Ix: A protected dataplane operating system for high throughput and low latency . In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14) , pages 49 -- 65 , Broomfield, CO , Oct. 2014 . USENIX Association. A. Belay, G. Prekas, A. Klimovic, S. Grossman, C. Kozyrakis, and E. Bugnion. Ix: A protected dataplane operating system for high throughput and low latency. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), pages 49--65, Broomfield, CO, Oct. 2014. USENIX Association."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/644108.644201"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.33"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151017"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2014.6855541"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950380"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629589"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/VTSA.2008.4530803"},{"key":"e_1_2_1_14_1","volume-title":"http:\/\/dpdk.org\/","author":"DPDK.","year":"2016","unstructured":"DPDK. Data plane development kit. http:\/\/dpdk.org\/ , 2016 . DPDK. Data plane development kit. http:\/\/dpdk.org\/, 2016."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592814"},{"key":"e_1_2_1_16_1","unstructured":"FusioIO. ioDrive2\/ioDrive2 Duo Datasheet. http:\/\/www.fusionio.com\/load\/-media-\/2rezss\/docsLibrary\/FIO DS ioDrive2.pdf 2014.  FusioIO. ioDrive2\/ioDrive2 Duo Datasheet. http:\/\/www.fusionio.com\/load\/-media-\/2rezss\/docsLibrary\/FIO DS ioDrive2.pdf 2014."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1687399.1687491"},{"volume-title":"Persistent memory block driver (pmbd) v0.9. https:\/\/github.com\/linux-pmbd\/pmbd","year":"2013","key":"e_1_2_1_18_1","unstructured":"Intel. Persistent memory block driver (pmbd) v0.9. https:\/\/github.com\/linux-pmbd\/pmbd , 2013 . Intel. Persistent memory block driver (pmbd) v0.9. https:\/\/github.com\/linux-pmbd\/pmbd, 2013."},{"key":"e_1_2_1_19_1","first-page":"489","volume-title":"11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14)","author":"Jeong E.","year":"2014","unstructured":"E. Jeong , S. Wood , M. Jamshed , H. Jeong , S. Ihm , D. Han , and K. Park . mtcp: a highly scalable user-level tcp stack for multicore systems . In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14) , pages 489 -- 502 , Seattle, WA , Apr. 2014 . USENIX Association. E. Jeong, S. Wood, M. Jamshed, H. Jeong, S. Ihm, D. Han, and K. Park. mtcp: a highly scalable user-level tcp stack for multicore systems. In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14), pages 489--502, Seattle, WA, Apr. 2014. USENIX Association."},{"key":"e_1_2_1_20_1","volume-title":"AMD Tutorial on ASPLOS","author":"Kegel A.","year":"2016","unstructured":"A. Kegel , P. Blinzer , A. Basu , and M. Chan . IOMMU: Virtualizing IO through IO Memory Management Unit (IOMMU) . AMD Tutorial on ASPLOS 2016 . A. Kegel, P. Blinzer, A. Basu, and M. Chan. IOMMU: Virtualizing IO through IO Memory Management Unit (IOMMU). AMD Tutorial on ASPLOS 2016."},{"key":"e_1_2_1_21_1","volume-title":"An introduction to SR-IOV technology","author":"Kutch P.","year":"2011","unstructured":"P. Kutch . PCI-SIG SR-IOV primer : An introduction to SR-IOV technology , 2011 . Intel application note, 321211-002. P. Kutch. PCI-SIG SR-IOV primer: An introduction to SR-IOV technology, 2011. Intel application note, 321211-002."},{"key":"e_1_2_1_22_1","volume-title":"2016 USENIX Annual Technical Conference (USENIX ATC 16)","author":"Papagiannis A.","year":"2016","unstructured":"A. Papagiannis , G. Saloustros , P. Gonz\u00e1lez-F\u00e9rez , and A. Bilas . Tucana: Design and implementation of a fast and efficient scale-up key-value store . In 2016 USENIX Annual Technical Conference (USENIX ATC 16) , Denver, CO , June 2016 . USENIX Association. A. Papagiannis, G. Saloustros, P. Gonz\u00e1lez-F\u00e9rez, and A. Bilas. Tucana: Design and implementation of a fast and efficient scale-up key-value store. In 2016 USENIX Annual Technical Conference (USENIX ATC 16), Denver, CO, June 2016. USENIX Association."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/2696578.2696585"},{"key":"e_1_2_1_24_1","first-page":"1","volume-title":"11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14)","author":"Peter S.","year":"2014","unstructured":"S. Peter , J. Li , I. Zhang , D. R. K. Ports , D. Woos , A. Krishnamurthy , T. Anderson , and T. Roscoe . Arrakis: The operating system is the control plane . In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14) , pages 1 -- 16 , Broomfield, CO , Oct. 2014 . USENIX Association. S. Peter, J. Li, I. Zhang, D. R. K. Ports, D. Woos, A. Krishnamurthy, T. Anderson, and T. Roscoe. Arrakis: The operating system is the control plane. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), pages 1--16, Broomfield, CO, Oct. 2014. USENIX Association."},{"key":"e_1_2_1_25_1","author":"Raoux S.","year":"2008","unstructured":"S. Raoux , G. Burr , M. Breitwisch , C. Rettner , Y. Chen , R. Shelby , M. Salinga , D. Krebs , S.-H. Chen , H. Lung , and C. Lam . Phase-change random access memory: A scalable technology. IBM Journal of Research and Development, 52(4.5):465--479 , July 2008 . S. Raoux, G. Burr, M. Breitwisch, C. Rettner, Y. Chen, R. Shelby, M. Salinga, D. Krebs, S.-H. Chen, H. Lung, and C. Lam. Phase-change random access memory: A scalable technology. IBM Journal of Research and Development, 52(4.5):465--479, July 2008.","journal-title":"Phase-change random access memory: A scalable technology. IBM Journal of Research and Development, 52(4.5):465--479"},{"key":"e_1_2_1_26_1","first-page":"101","volume-title":"2012 USENIX Annual Technical Conference (USENIX ATC 12)","author":"Rizzo L.","year":"2012","unstructured":"L. Rizzo . netmap : A novel framework for fast packet i\/o . In 2012 USENIX Annual Technical Conference (USENIX ATC 12) , pages 101 -- 112 , Boston, MA , June 2012 . USENIX Association. L. Rizzo. netmap: A novel framework for fast packet i\/o. In 2012 USENIX Annual Technical Conference (USENIX ATC 12), pages 101--112, Boston, MA, June 2012. USENIX Association."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1326542.1326544"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2501620.2501623"},{"key":"e_1_2_1_29_1","first-page":"33","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI'10","author":"Soares L.","year":"2010","unstructured":"L. Soares and M. Stumm . Flexsc: Flexible system call scheduling with exception-less system calls . In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI'10 , pages 33 -- 46 , Berkeley, CA, USA , 2010 . USENIX Association. L. Soares and M. Stumm. Flexsc: Flexible system call scheduling with exception-less system calls. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI'10, pages 33--46, Berkeley, CA, USA, 2010. USENIX Association."},{"key":"e_1_2_1_30_1","volume-title":"http:\/\/www.spdk.io\/","author":"SPDK.","year":"2016","unstructured":"SPDK. Storage performance development kit. http:\/\/www.spdk.io\/ , 2016 . SPDK. Storage performance development kit. http:\/\/www.spdk.io\/, 2016."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2005.163"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103799.2103813"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592810"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950379"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063436"},{"key":"e_1_2_1_36_1","volume-title":"CA","author":"Xu J.","year":"2016","unstructured":"J. Xu and S. Swanson . Nova: A log-structured file system for hybrid volatile\/non-volatile main memories.In 14th USENIX Conference on File and Storage Technologies (FAST 16), pages 323--338, Santa Clara , CA , Feb. 2016 .USENIX Association. J. Xu and S. Swanson. Nova: A log-structured file system for hybrid volatile\/non-volatile main memories.In 14th USENIX Conference on File and Storage Technologies (FAST 16), pages 323--338, Santa Clara, CA, Feb. 2016.USENIX Association."}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3041710.3041713","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3041710.3041713","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:23:52Z","timestamp":1750220632000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3041710.3041713"}},"subtitle":["An optimized I\/O stack for low-latency storage devices"],"short-title":[],"issued":{"date-parts":[[2017,1,30]]},"references-count":36,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2017,1,30]]}},"alternative-id":["10.1145\/3041710.3041713"],"URL":"https:\/\/doi.org\/10.1145\/3041710.3041713","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2017,1,30]]},"assertion":[{"value":"2017-01-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}