{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,16]],"date-time":"2025-10-16T06:31:37Z","timestamp":1760596297484,"version":"3.41.0"},"reference-count":39,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2018,3,22]],"date-time":"2018-03-22T00:00:00Z","timestamp":1521676800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Natural Sciences and Engineering Research Council (NSERC) of Canada through Discovery Grants"},{"name":"NSERC Discovery Accelerator Supplement"},{"name":"University of Waterloo Cheriton Scholarship"},{"name":"OGS scholarship"},{"name":"NSERC graduate scholarships"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Model. Perform. Eval. Comput. Syst."],"published-print":{"date-parts":[[2018,6,30]]},"abstract":"<jats:p>Most video streaming traffic is delivered over HTTP using standard web servers. While traditional web server workloads consist of requests that are primarily for small files that can be serviced from the file system cache, HTTP video streaming workloads often service a long tail of large infrequently requested videos. As a result, optimizing disk accesses is critical to obtaining good server throughput.<\/jats:p>\n          <jats:p>In this article we explore serialized, aggressive disk prefetching, a technique that can be used to improve the throughput of HTTP streaming video web servers. We identify how serialization and aggressive prefetching affect performance, and, based on our findings, we construct and evaluate Libception, an application-level shim library that implements both techniques. By dynamically linking against Libception at runtime, applications are able to transparently obtain benefits from serialization and aggressive prefetching without needing to change their source code. In contrast to other approaches that modify applications, make kernel changes, or attempt to optimize kernel tuning, Libception provides a portable and relatively simple system in which techniques for optimizing I\/O in HTTP video streaming servers can be implemented and evaluated.<\/jats:p>\n          <jats:p>We empirically evaluate the efficacy of serialization and aggressive prefetching both with and without Libception, using three web servers (Apache, nginx, and the userver) running on two operating systems (FreeBSD and Linux). We find that, by using Libception, we can improve streaming throughput for all three web servers by at least a factor of 2 on FreeBSD and a factor of 2.5 on Linux. Additionally, we find that with significant tuning of Linux kernel parameters, we can achieve similar performance to Libception by globally modifying Linux\u2019s disk prefetch behaviour. Finally, we demonstrate Libception\u2019s ability to reduce the completion time of a microbenchmark involving two applications competing for disk resources.<\/jats:p>","DOI":"10.1145\/3164536","type":"journal-article","created":{"date-parts":[[2018,3,23]],"date-time":"2018-03-23T12:29:49Z","timestamp":1521808189000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Disk Prefetching Mechanisms for Increasing HTTP Streaming Video Server Throughput"],"prefix":"10.1145","volume":"3","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2401-5579","authenticated-orcid":false,"given":"Benjamin","family":"Cassell","sequence":"first","affiliation":[{"name":"University of Waterloo, Waterloo ON"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tyler","family":"Szepesi","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo ON"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jim","family":"Summers","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo ON"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tim","family":"Brecht","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo ON"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Derek","family":"Eager","sequence":"additional","affiliation":[{"name":"University of Saskatchewan, Saskatoon SK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bernard","family":"Wong","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo ON"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,3,22]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/INFCOM.2012.6195531"},{"key":"e_1_2_2_2_1","volume-title":"Proceedings of the Ottawa Linux Symposium (OLS\u201904)","author":"Axboe Jens","year":"2004","unstructured":"Jens Axboe . 2004 . Linux block IO\u2014present and future . In Proceedings of the Ottawa Linux Symposium (OLS\u201904) . 51--61. Jens Axboe. 2004. Linux block IO\u2014present and future. In Proceedings of the Ottawa Linux Symposium (OLS\u201904). 51--61."},{"key":"e_1_2_2_3_1","unstructured":"Jens Axboe. 2009. Linux kernel Git commit. Retrieved from http:\/\/git.kernel.org\/cgit\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=492af6350a5ccf087e4964104a276ed358811458.  Jens Axboe. 2009. Linux kernel Git commit. Retrieved from http:\/\/git.kernel.org\/cgit\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=492af6350a5ccf087e4964104a276ed358811458."},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/MIC.2010.155"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064212.1064231"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/235543.235544"},{"volume-title":"Proceedings of the IEEE International Conference on Circuits, Systems Communication and Information Technology Applications (CSCITA\u201914)","author":"Dhage Sudhir N.","key":"e_1_2_2_7_1","unstructured":"Sudhir N. Dhage , Smita K. Patil , and B. B. Meshram . 2014. Survey on: Interactive video-on-demand (VoD) systems . In Proceedings of the IEEE International Conference on Circuits, Systems Communication and Information Technology Applications (CSCITA\u201914) . 435--440. Sudhir N. Dhage, Smita K. Patil, and B. B. Meshram. 2014. Survey on: Interactive video-on-demand (VoD) systems. In Proceedings of the IEEE International Conference on Circuits, Systems Communication and Information Technology Applications (CSCITA\u201914). 435--440."},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2068816.2068849"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1009681521536"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1298306.1298310"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502046"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508010"},{"key":"e_1_2_2_13_1","unstructured":"Mangesh Kasbekar. 2010. On efficient delivery of web content. GreenMetrics Keynote Talk.  Mangesh Kasbekar. 2010. On efficient delivery of web content. GreenMetrics Keynote Talk."},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1272996.1273017"},{"key":"e_1_2_2_15_1","unstructured":"Microsoft. Detours. Retrieved from https:\/\/www.microsoft.com\/en-us\/research\/project\/detours\/.  Microsoft. Detours. Retrieved from https:\/\/www.microsoft.com\/en-us\/research\/project\/detours\/."},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/306225.306235"},{"key":"e_1_2_2_17_1","unstructured":"Netflix. 2017. Appliance hardware. Retrieved from https:\/\/openconnect.netflix.com\/en_gb\/hardware.  Netflix. 2017. Appliance hardware. Retrieved from https:\/\/openconnect.netflix.com\/en_gb\/hardware."},{"key":"e_1_2_2_18_1","unstructured":"Netflix. 2017. Appliance software. Retrieved from https:\/\/openconnect.netflix.com\/en_gb\/software.  Netflix. 2017. Appliance software. Retrieved from https:\/\/openconnect.netflix.com\/en_gb\/software."},{"key":"e_1_2_2_19_1","unstructured":"Netflix. 2017. Requirements for deploying embedded appliances. Retrieved from https:\/\/openconnect.netflix.com\/en_gb\/requirements-for-deploying.  Netflix. 2017. Requirements for deploying embedded appliances. Retrieved from https:\/\/openconnect.netflix.com\/en_gb\/requirements-for-deploying."},{"volume-title":"Proceedings of the USENIX.","author":"Pai V. S.","key":"e_1_2_2_20_1","unstructured":"V. S. Pai , P. Druschel , and W. Zwaenepoel . 1999. Flash: An efficient and portable web server . In Proceedings of the USENIX. V. S. Pai, P. Druschel, and W. Zwaenepoel. 1999. Flash: An efficient and portable web server. In Proceedings of the USENIX."},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2009.31"},{"volume-title":"Proceedings of the USENIX Workshop on Hot Topics in Operating Systems (HotOS\u201905)","author":"Athanasios","key":"e_1_2_2_22_1","unstructured":"Athanasios E. Papathanasiou and Michael L. Scott. 2005. Aggressive prefetching: An idea whose time has come . In Proceedings of the USENIX Workshop on Hot Topics in Operating Systems (HotOS\u201905) . Athanasios E. Papathanasiou and Michael L. Scott. 2005. Aggressive prefetching: An idea whose time has come. In Proceedings of the USENIX Workshop on Hot Topics in Operating Systems (HotOS\u201905)."},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1272996.1273021"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224064"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/251007.251012"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201904)","author":"Ruan Yaoping","key":"e_1_2_2_26_1","unstructured":"Yaoping Ruan and Vivek S. Pai . 2004. Making the \u201cBox\u201d transparent: System call performance as a first-class result . In Proceedings of the USENIX Annual Technical Conference (ATC\u201904) . Yaoping Ruan and Vivek S. Pai. 2004. Making the \u201cBox\u201d transparent: System call performance as a first-class result. In Proceedings of the USENIX Annual Technical Conference (ATC\u201904)."},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201906)","author":"Ruan Yaoping","key":"e_1_2_2_27_1","unstructured":"Yaoping Ruan and Vivek S. Pai . 2006. Understanding and addressing blocking-induced network server latency . In Proceedings of the USENIX Annual Technical Conference (ATC\u201906) . Yaoping Ruan and Vivek S. Pai. 2006. Understanding and addressing blocking-induced network server latency. In Proceedings of the USENIX Annual Technical Conference (ATC\u201906)."},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.268881"},{"key":"e_1_2_2_29_1","volume-title":"Proceedings of the USENIX Winter Conference. 405--420","author":"Ruemmler Chris","year":"1993","unstructured":"Chris Ruemmler and John Wilkes . 1993 . UNIX disk access patterns . In Proceedings of the USENIX Winter Conference. 405--420 . Chris Ruemmler and John Wilkes. 1993. UNIX disk access patterns. In Proceedings of the USENIX Winter Conference. 405--420."},{"key":"e_1_2_2_30_1","unstructured":"Sandvine. 2012. Global Internet phenomena report. Retrieved from http:\/\/www.sandvine.com\/downloads\/documents\/Phenomena_2H_2012\/Sandvine_Global_Internet_Phenomena_Report_2H_2012.pdf.  Sandvine. 2012. Global Internet phenomena report. Retrieved from http:\/\/www.sandvine.com\/downloads\/documents\/Phenomena_2H_2012\/Sandvine_Global_Internet_Phenomena_Report_2H_2012.pdf."},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/0140-3664(95)98537-F"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2016.7581265"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2611354.2611371"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2367589.2367602"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2229087.2229093"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3030207.3030231"},{"key":"e_1_2_2_38_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201909)","author":"VanDeBogart Steve","year":"2009","unstructured":"Steve VanDeBogart , Christopher Frost , and Eddie Kohler . 2009 . Reducing seek overhead with application-directed prefetching . In Proceedings of the USENIX Annual Technical Conference (ATC\u201909) . Steve VanDeBogart, Christopher Frost, and Eddie Kohler. 2009. Reducing seek overhead with application-directed prefetching. In Proceedings of the USENIX Annual Technical Conference (ATC\u201909)."},{"key":"e_1_2_2_39_1","volume-title":"Proceedings of the IEEE International Conference on Advanced Infocomm Technology (ICAIT\u201912)","author":"Varki Elizabeth","year":"2012","unstructured":"Elizabeth Varki , Allen Hubbe , and Arif Merchant . 2012 . Improve prefetch performance by splitting the cache replacement queue . In Proceedings of the IEEE International Conference on Advanced Infocomm Technology (ICAIT\u201912) . 98--108. Elizabeth Varki, Allen Hubbe, and Arif Merchant. 2012. Improve prefetch performance by splitting the cache replacement queue. In Proceedings of the IEEE International Conference on Advanced Infocomm Technology (ICAIT\u201912). 98--108."},{"volume-title":"Proceedings of the USENIX Workshop on Hot Topics in Cloud Computing (HotCloud\u201911)","author":"Wachs Matthew","key":"e_1_2_2_40_1","unstructured":"Matthew Wachs , Lianghong Xu , Arkady Kanevsky , and Gregory R. Ganger . 2011. Exertion-based billing for cloud storage access . In Proceedings of the USENIX Workshop on Hot Topics in Cloud Computing (HotCloud\u201911) . Matthew Wachs, Lianghong Xu, Arkady Kanevsky, and Gregory R. Ganger. 2011. Exertion-based billing for cloud storage access. In Proceedings of the USENIX Workshop on Hot Topics in Cloud Computing (HotCloud\u201911)."}],"container-title":["ACM Transactions on Modeling and Performance Evaluation of Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3164536","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3164536","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:13:38Z","timestamp":1750212818000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3164536"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,3,22]]},"references-count":39,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2018,6,30]]}},"alternative-id":["10.1145\/3164536"],"URL":"https:\/\/doi.org\/10.1145\/3164536","relation":{},"ISSN":["2376-3639","2376-3647"],"issn-type":[{"type":"print","value":"2376-3639"},{"type":"electronic","value":"2376-3647"}],"subject":[],"published":{"date-parts":[[2018,3,22]]},"assertion":[{"value":"2017-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-03-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}