{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,20]],"date-time":"2026-03-20T20:33:26Z","timestamp":1774038806886,"version":"3.50.1"},"reference-count":52,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2024,9,14]],"date-time":"2024-09-14T00:00:00Z","timestamp":1726272000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Key-Area R&D Program of Guangdong","award":["2021B0101310002"],"award-info":[{"award-number":["2021B0101310002"]}]},{"DOI":"10.13039\/501100001809","name":"NSFC","doi-asserted-by":"crossref","award":["62072432"],"award-info":[{"award-number":["62072432"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2024,9,30]]},"abstract":"<jats:p>\n            This article proposes\n            <jats:italic>iSwap<\/jats:italic>\n            , a new memory page swap mechanism that reduces the ineffective I\/O swap operations and improves the QoS for applications with a high priority in cloud environments. iSwap works in the OS kernel. iSwap accurately learns the reuse patterns for memory pages and makes the swap decisions accordingly to avoid ineffective operations. In the cases where memory pressure is high, iSwap compresses pages that belong to the latency-critical (LC) applications (or high-priority applications) and keeps them in main memory, avoiding I\/O operations for these LC applications to ensure QoS, and iSwap evicts low-priority applications\u2019 pages out of main memory. iSwap has a low overhead and works well for cloud applications with large memory footprints. We evaluate iSwap on Intel x86 and ARM platforms. The experimental results show that iSwap can significantly reduce ineffective swap operations (8.0%\u201319.2%) and improve the QoS for LC applications (36.8%\u201391.3%) in cases where memory pressure is high, compared with the latest LRU-based approach widely used in modern OSes.\n          <\/jats:p>","DOI":"10.1145\/3653302","type":"journal-article","created":{"date-parts":[[2024,3,23]],"date-time":"2024-03-23T09:40:22Z","timestamp":1711186822000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["iSwap: A New Memory Page Swap Mechanism for Reducing Ineffective I\/O Operations in Cloud Environments"],"prefix":"10.1145","volume":"21","author":[{"ORCID":"https:\/\/orcid.org\/0009-0008-4449-8732","authenticated-orcid":false,"given":"Zhuohao","family":"Wang","sequence":"first","affiliation":[{"name":"Beihang University, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4854-7382","authenticated-orcid":false,"given":"Lei","family":"Liu","sequence":"additional","affiliation":[{"name":"Beihang University, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9438-9181","authenticated-orcid":false,"given":"Limin","family":"Xiao","sequence":"additional","affiliation":[{"name":"Beihang University, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,9,14]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"J. Corbett. 2010. Cleancache and Frontswap. Retrieved April 1 2024 from https:\/\/lwn.net\/Articles\/386090\/"},{"key":"e_1_3_2_3_2","volume-title":"n.d. Crypto API. Retrieved","author":"Mueller S.","year":"2024","unstructured":"S. Mueller and M. Vasut. n.d. Crypto API. Retrieved April 1, 2024 from https:\/\/docs.kernel.org\/crypto"},{"key":"e_1_3_2_4_2","volume-title":"n.d. The FreeBSD Project. Retrieved","author":"BSD.","year":"2024","unstructured":"FreeBSD. n.d. The FreeBSD Project. Retrieved April 1, 2024 from https:\/\/www.freebsd.org"},{"key":"e_1_3_2_5_2","volume-title":"n.d. The Linux Kernel Archives. Retrieved","year":"2024","unstructured":"Kernel.org. n.d. The Linux Kernel Archives. Retrieved April 1, 2024 from https:\/\/www.kernel.org\/"},{"key":"e_1_3_2_6_2","volume-title":"n.d","year":"2024","unstructured":"Kernel.org. n.d. Chapter 3 Page Table Management. Retrieved April 1, 2024 from https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand006.html"},{"key":"e_1_3_2_7_2","volume-title":"Proceedings of PACT.","author":"Bienia C.","unstructured":"C. Bienia, S. Kumar, J. P. Singh, and K. Li. 2008. The PARSEC benchmark suite: Characterization and architectural implications. In Proceedings of PACT."},{"key":"e_1_3_2_8_2","volume-title":"n.d. The \/proc Filesystem. Retrieved","year":"2024","unstructured":"Kernel.org. n.d. The \/proc Filesystem. Retrieved April 1, 2024 from https:\/\/docs.kernel.org\/filesystems\/proc.html"},{"key":"e_1_3_2_9_2","unstructured":"S. Moriya. 2011. Tunable Watermark. Retrieved April 1 2024 from https:\/\/lwn.net\/Articles\/422291\/"},{"key":"e_1_3_2_10_2","volume-title":"The Zswap Compressed Swap Cache. Retrieved","author":"Jennings S.","year":"2024","unstructured":"S. Jennings. 2013. The Zswap Compressed Swap Cache. Retrieved April 1, 2024 from https:\/\/lwn.net\/Articles\/537422\/"},{"key":"e_1_3_2_11_2","volume-title":"Proceedings of NSDI.","author":"Ardelean D.","unstructured":"D. Ardelean, A. Diwan, and C. Erdman. 2018. Performance analysis of cloud applications. In Proceedings of NSDI."},{"key":"e_1_3_2_12_2","volume-title":"Proceedings of DAC.","author":"Bai S.","unstructured":"S. Bai, H. Wan, Y. Huang, X. Sun, F. Wu, C. Xie, H.-C. Hsieh, T.-W. Kuo, and C. J. Xue. 2022. Pipette: Efficient fine-grained reads for SSDs. In Proceedings of DAC."},{"key":"e_1_3_2_13_2","volume-title":"Parallel Algorithms for VLSI Computer-Aided Design","author":"Banerjee P.","unstructured":"P. Banerjee. 1994. Parallel Algorithms for VLSI Computer-Aided Design. Prentice Hall."},{"key":"e_1_3_2_14_2","volume-title":"Proceedings of USENIX ATC.","author":"Bergman S.","unstructured":"S. Bergman, N. Cassel, M. Bjorling, and M. Silberstein. 2022. ZNSwap: Un-block your swap. In Proceedings of USENIX ATC."},{"key":"e_1_3_2_15_2","volume-title":"Proceedings of ASPLOS.","author":"Chen S.","unstructured":"S. Chen, C. Delimitrou, and J. F. Mart\u00ednez. 2019. Parties: QoS-aware resource partitioning for multiple interactive services. In Proceedings of ASPLOS."},{"key":"e_1_3_2_16_2","unstructured":"Yahoo! Cloud Serving Benchmark. https:\/\/github.com\/branfrankcooper\/YCSB"},{"key":"e_1_3_2_17_2","volume-title":"Proceedings of SoCC.","author":"Cooper B. F.","unstructured":"B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of SoCC."},{"key":"e_1_3_2_18_2","article-title":"Distributed caching with Memcached","author":"Fitzpatrick B.","year":"2004","unstructured":"B. Fitzpatrick. 2004. Distributed caching with Memcached. Linux Journal. Retrieved April 1, 2024 from https:\/\/www.linuxjournal.com\/article\/7451","journal-title":"Linux Journal. Retrieved"},{"key":"e_1_3_2_19_2","volume-title":"Proceedings of FIMI.","author":"Grahne G.","unstructured":"G. Grahne and J. Zhu. 2003. Efficiently using prefix-trees in mining frequent itemsets. In Proceedings of FIMI."},{"key":"e_1_3_2_20_2","volume-title":"Proceedings of PERCOM.","author":"Han J.","unstructured":"J. Han, E. Haihong, G. Le, and J. Du. 2011. Survey on NoSQL database. In Proceedings of PERCOM."},{"key":"e_1_3_2_21_2","volume-title":"Proceedings of USENIX ATC.","author":"Jiang S.","unstructured":"S. Jiang, F. Chen, and X. Zhang. 2005. CLOCK-Pro: An effective improvement of the CLOCK replacement. In Proceedings of USENIX ATC."},{"key":"e_1_3_2_22_2","volume-title":"Proceedings of DAC.","author":"Kim S.","year":"2018","unstructured":"S. Kim and J.-S. Yang. 2018. Optimized I\/O determinism for emerging NVM-based NVMe SSD in an enterprise system. In Proceedings of DAC."},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.cognition.2013.02.002"},{"key":"e_1_3_2_24_2","volume-title":"Proceedings of USENIX ATC.","author":"Lebeck N.","unstructured":"N. Lebeck, A. Krishnamurthy, H. M. Levy, and I. Zhang. 2020. End the senseless killing: Improving memory management for mobile operating systems. In Proceedings of USENIX ATC."},{"key":"e_1_3_2_25_2","volume-title":"Proceedings of USENIX FAST.","author":"Liu L.","unstructured":"L. Liu, X. Dou, and Y. Chen. 2023. Intelligent resource scheduling for co-located latency-critical services: A multi-model collaborative learning approach. In Proceedings of USENIX FAST."},{"key":"e_1_3_2_26_2","doi-asserted-by":"crossref","unstructured":"L. Liu Y. Li Chen Ding H. Yang and C. Wu. 2016. Rethinking memory management in modern operating system: Horizontal vertical or random? In IEEE TC.","DOI":"10.1109\/TC.2015.2462813"},{"key":"e_1_3_2_27_2","doi-asserted-by":"crossref","unstructured":"L. Liu S. Yang L. Peng and X. Li. 2019. Hierarchical hybrid memory management in OS for tiered memory systems. In IEEE TPDS.","DOI":"10.1109\/TPDS.2019.2908175"},{"key":"e_1_3_2_28_2","volume-title":"Proceedings of HPCA.","author":"Maruf A.","unstructured":"A. Maruf, A. Ghosh, J. Bhimani, D. Campello, A. Rudoff, and R. Rangaswami. 2022. Multi-clock: Dynamic tiering for hybrid memory systems. In Proceedings of HPCA."},{"key":"e_1_3_2_29_2","volume-title":"Proceedings of SCA.","author":"M\u00fcller M.","unstructured":"M. M\u00fcller, D. Charypar, and M. H. Gross. 2003. Particle-based fluid simulation for interactive applications. In Proceedings of SCA."},{"key":"e_1_3_2_30_2","volume-title":"Proceedings of NSDI.","author":"Ousterhout A.","unstructured":"A. Ousterhout, J. Fried, J. Behrens, A. Belay, and H. Balakrishnan. 2019. Shenango: Achieving high CPU efficiency for latency-sensitive datacenter workloads. In Proceedings of NSDI."},{"key":"e_1_3_2_31_2","volume-title":"Proceedings of ICDE.","author":"O\u2019Callaghan L.","unstructured":"L. O\u2019Callaghan, N. Mishra, A. Meyerson, S. Guha, and R. Motwani. 2002. High-performance clustering of streams and large data sets. In Proceedings of ICDE."},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2022.102803"},{"key":"e_1_3_2_33_2","volume-title":"Proceedings of ASPLOS.","author":"Park J.","unstructured":"J. Park, M. Kim, M. Chun, L. Orosa, J. Kim, and O. Mutlu. 2021. Reducing solid-state drive read latency by optimizing read-retry. In Proceedings of ASPLOS."},{"key":"e_1_3_2_34_2","article-title":"Monitoring virtual memory with vmstat","author":"Tanaka B. K.","year":"2005","unstructured":"B. K. Tanaka. 2005. Monitoring virtual memory with vmstat. Linux Journal. Retrieved April 1, 2024 from https:\/\/www.linuxjournal.com\/article\/8178","journal-title":"Linux Journal. Retrieved"},{"key":"e_1_3_2_35_2","volume-title":"Operating Systems: Design and Implementation","author":"Tenenbaum A. S.","unstructured":"A. S. Tenenbaum. 1987. Operating Systems: Design and Implementation. Prentice Hall."},{"key":"e_1_3_2_36_2","volume-title":"Proceedings of ASPLOS.","author":"Xiang X.","unstructured":"X. Xiang, C. Ding, H. Luo, and B. Bao. 2013. HOTL: A higher order theory of locality. In Proceedings of ASPLOS."},{"key":"e_1_3_2_37_2","volume-title":"Proceedings of ICPP.","author":"Yang J.","unstructured":"J. Yang, Y. Wang, and Z. Wang. 2021. Efficient modeling of random sampling-based LRU. In Proceedings of ICPP."},{"key":"e_1_3_2_38_2","volume-title":"Proceedings of EuroSys.","author":"Zhang X.","unstructured":"X. Zhang, S. Dwarkadas, and K. Shen. 2009. Towards practical page coloring-based multicore cache management. In Proceedings of EuroSys."},{"key":"e_1_3_2_39_2","volume-title":"Proceedings of HPCA.","author":"Patel T.","unstructured":"T. Patel and D. Tiwari. 2020. Clite: Efficient and QoS-aware co-location of multiple latency-critical jobs for warehouse scale computers. In Proceedings of HPCA."},{"key":"e_1_3_2_40_2","volume-title":"n.d. MySQL Database. Retrieved","year":"2024","unstructured":"MySQL.com. n.d. MySQL Database. Retrieved April 1, 2024 from https:\/\/www.mysql.com"},{"key":"e_1_3_2_41_2","volume-title":"Computer Architecture: A Quantitative Approach","author":"Hennessy J. L.","year":"2011","unstructured":"J. L. Hennessy and D. A. Patterson. 2011. Computer Architecture: A Quantitative Approach. Elsevier."},{"key":"e_1_3_2_42_2","volume-title":"Operating Systems: Principles and Practice","author":"Anderson T.","year":"2014","unstructured":"T. Anderson and M. Dahlin. 2014. Operating Systems: Principles and Practice. Recursive Books."},{"key":"e_1_3_2_43_2","doi-asserted-by":"crossref","unstructured":"J. H. Saltzer and M. F. Kaashoek. 2009. Principles of Computer System Design: An Introduction. Morgan Kaufmann.","DOI":"10.1016\/B978-0-12-374957-4.00010-4"},{"key":"e_1_3_2_44_2","volume-title":"Proceedings of Middleware: Industrial Track.","author":"Park S.","unstructured":"S. Park, Y. Lee, and H. Y. Yeom. 2019. Profiling dynamic data access patterns with controlled overhead and quality. In Proceedings of Middleware: Industrial Track."},{"key":"e_1_3_2_45_2","volume-title":"Proceedings of ASPLOS.","author":"Lagar-Cavilla A.","unstructured":"A. Lagar-Cavilla, J. Ahn, S. Souhlal, N. Agarwal, R. Burny, S. Butt, J. Chang, A. Chaugule, N. Deng, J. Shahid, G. Thelen, K. A. Yurtsever, Y. Zhao, and P. Ranganathan. 2019. Software-defined far memory in warehouse-scale computers. In Proceedings of ASPLOS."},{"key":"e_1_3_2_46_2","volume-title":"Proceedings of ASPLOS.","author":"Weiner J.","unstructured":"J. Weiner, N. Agarwal, D. Schatzberg, L. Yang, H. Wang, B. Sanouillet, B. Sharma, T. Heo, M. Jain, C. Tang, and D. Skarlatos. 2022. TMO: transparent memory offloading in datacenters. In Proceedings of ASPLOS."},{"key":"e_1_3_2_47_2","volume-title":"V2: Idle Page Tracking\/Working Set Estimation. Retrieved","author":"Lespinasse M.","year":"2024","unstructured":"M. Lespinasse. 2011. V2: Idle Page Tracking\/Working Set Estimation. Retrieved April 1, 2024 from https:\/\/lwn.net\/Articles\/460762\/"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/1037187.1024415"},{"key":"e_1_3_2_49_2","volume-title":"n.d","year":"2024","unstructured":"Kernel.org. n.d. Zram: Compressed RAM Based BlockDevices. Retrieved April 1, 2024 from https:\/\/www.kernel.org\/doc\/Documentation\/blockdev\/zram.txt"},{"key":"e_1_3_2_50_2","volume-title":"Zcache: A Compressed File Page Cache. Retrieved","author":"Liu B.","year":"2013","unstructured":"B. Liu. 2013. Zcache: A Compressed File Page Cache. Retrieved April 1, 2024 from https:\/\/lwn.net\/Articles\/562254\/"},{"key":"e_1_3_2_51_2","volume-title":"Idle and Stale Page Tracking. Retrieved","author":"Corbet J.","year":"2024","unstructured":"J. Corbet. 2011. Idle and Stale Page Tracking. Retrieved April 1, 2024 from https:\/\/lwn.net\/Articles\/461461\/"},{"issue":"9","key":"e_1_3_2_52_2","first-page":"857","article-title":"Memory resource optimization method and apparatus","author":"Liu L.","year":"2018","unstructured":"L. Liu, C. Wu, and X. Feng. 2018. Memory resource optimization method and apparatus. Patent No. 9,857,980.","journal-title":"Patent"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11390-013-1409-2"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3653302","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3653302","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T23:44:25Z","timestamp":1750290265000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3653302"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,9,14]]},"references-count":52,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2024,9,30]]}},"alternative-id":["10.1145\/3653302"],"URL":"https:\/\/doi.org\/10.1145\/3653302","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,9,14]]},"assertion":[{"value":"2023-10-24","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-01-30","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-09-14","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}