{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:16:48Z","timestamp":1750306608062,"version":"3.41.0"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2015,6,8]],"date-time":"2015-06-08T00:00:00Z","timestamp":1433721600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["1054693"],"award-info":[{"award-number":["1054693"]}],"id":[{"id":"10.13039\/100000001","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":[[2015,6,8]]},"abstract":"<jats:p>Mobile System-on-Chips (SoC) that incorporate heterogeneous coherence domains promise high energy efficiency to a wide range of mobile applications, yet are difficult to program. To exploit the architecture, a desirable, yet missing capability is to replicate operating system (OS) services over multiple coherence domains with minimum inter-domain communication. In designing such an OS, we set three goals: to ease application development, to simplify OS engineering, and to preserve the current OS performance. To this end, we identify a shared-most OS model for multiple coherence domains: creating per-domain instances of core OS services with no shared state, while enabling other extended OS services to share state across domains. To test the model, we build K2, a prototype OS on the TI OMAP4 SoC, by reusing most of the Linux 3.4 source. K2 presents a single system image to applications with its two kernels running on top of the two coherence domains of OMAP4. The two kernels have independent instances of core OS services, such as page allocation and interrupt management, as coordinated by K2; the two kernels share most extended OS services, such as device drivers, whose state is kept coherent transparently by K2. Despite platform constraints and unoptimized code, K2 improves energy efficiency for light OS workloads by 8x-10x, while incurring less than 9% performance overhead for two device drivers shared between kernels. Our experiences with K2 show that the shared-most model is promising.<\/jats:p>","DOI":"10.1145\/2699676","type":"journal-article","created":{"date-parts":[[2015,6,12]],"date-time":"2015-06-12T18:26:28Z","timestamp":1434133588000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":11,"title":["K2"],"prefix":"10.1145","volume":"33","author":[{"given":"Felix Xiaozhu","family":"Lin","sequence":"first","affiliation":[{"name":"Purdue University\/Rice University, West Lafayette, IN"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhen","family":"Wang","sequence":"additional","affiliation":[{"name":"Google\/Rice University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lin","family":"Zhong","sequence":"additional","affiliation":[{"name":"Rice University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,6,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Somniloquy: Augmenting network interfaces to reduce PC energy usage. In Proc","author":"Agarwal Yuvraj","year":"2009","unstructured":"Yuvraj Agarwal , Steve Hodges , Ranveer Chandra , James Scott , Paramvir Bahl , and Rajesh Gupta . 2009 . Somniloquy: Augmenting network interfaces to reduce PC energy usage. In Proc . USENIX NSDI. USENIX Association , Berkeley, CA , 365--380. Yuvraj Agarwal, Steve Hodges, Ranveer Chandra, James Scott, Paramvir Bahl, and Rajesh Gupta. 2009. Somniloquy: Augmenting network interfaces to reduce PC energy usage. In Proc. USENIX NSDI. USENIX Association, Berkeley, CA, 365--380."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1254810.1254817"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1275517.1275518"},{"key":"e_1_2_1_4_1","unstructured":"ARM. 2010. ARM v7-M Architecture Reference Manual. Retrieved from http:\/\/infocenter.arm.com\/help\/index.jsp&quest;topic&equals;\/com.arm.doc.subset.architecture.reference\/index.html.  ARM. 2010. ARM v7-M Architecture Reference Manual. Retrieved from http:\/\/infocenter.arm.com\/help\/index.jsp&quest;topic&equals;\/com.arm.doc.subset.architecture.reference\/index.html."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1002\/bltj.21543"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629579"},{"key":"e_1_2_1_7_1","first-page":"43","article-title":"Corey: An operating system for many cores","volume":"8","author":"Boyd-Wickizer Silas","year":"2008","unstructured":"Silas Boyd-Wickizer , Haibo Chen , Rong Chen , Yandong Mao , M. Frans Kaashoek , Robert Morris , 2008 . Corey: An operating system for many cores . In Proc. USENIX OSDI , Vol. 8. 43 -- 57 . Silas Boyd-Wickizer, Haibo Chen, Rong Chen, Yandong Mao, M. Frans Kaashoek, Robert Morris, et al. 2008. Corey: An operating system for many cores. In Proc. USENIX OSDI, Vol. 8. 43--57.","journal-title":"Proc. USENIX OSDI"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265930"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224059"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/42392.42400"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151004"},{"key":"e_1_2_1_12_1","unstructured":"eLinux.org. 2012. PandaBoard Power Measurements. Retrieved from http:\/\/elinux.org\/PandaBoard&lowbar;Power&lowbar;Measurements.  eLinux.org. 2012. PandaBoard Power Measurements. Retrieved from http:\/\/elinux.org\/PandaBoard&lowbar;Power&lowbar;Measurements."},{"key":"e_1_2_1_13_1","first-page":"87","article-title":"Tornado: Maximizing locality and concurrency in a shared memory multiprocessor operating system","volume":"99","author":"Gamsa Benjamin","year":"1999","unstructured":"Benjamin Gamsa , Orran Krieger , Jonathan Appavoo , and Michael Stumm . 1999 . Tornado: Maximizing locality and concurrency in a shared memory multiprocessor operating system . In Proc. USENIX OSDI , Vol. 99. 87 -- 100 . Benjamin Gamsa, Orran Krieger, Jonathan Appavoo, and Michael Stumm. 1999. Tornado: Maximizing locality and concurrency in a shared memory multiprocessor operating system. In Proc. USENIX OSDI, Vol. 99. 87--100.","journal-title":"Proc. USENIX OSDI"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736059"},{"key":"e_1_2_1_15_1","unstructured":"Peter Greenhalgh. 2011. Big.LITTLE Processing with ARM Cortex-A15 and Cortex-A7. Technical Report.  Peter Greenhalgh. 2011. Big.LITTLE Processing with ARM Cortex-A15 and Cortex-A7. Technical Report."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/75104.75105"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150979"},{"volume-title":"Proc. Workshp. Power-Aware Computing and Systems (HotPower\u201912)","author":"Lin F. X.","key":"e_1_2_1_18_1","unstructured":"F. X. Lin , Z. Wang , and L. Zhong . 2012a. Supporting distributed execution of smartphone workloads on loosely coupled heterogeneous processors . In Proc. Workshp. Power-Aware Computing and Systems (HotPower\u201912) . F. X. Lin, Z. Wang, and L. Zhong. 2012a. Supporting distributed execution of smartphone workloads on loosely coupled heterogeneous processors. In Proc. Workshp. Power-Aware Computing and Systems (HotPower\u201912)."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451167"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2010.53"},{"key":"e_1_2_1_21_1","unstructured":"NICTA. 2012. Linux-Panda Project. Retrieved from http:\/\/www.ertos.nicta.com.au\/downloads\/linux-panda-m3.tbz2.  NICTA. 2012. Linux-Panda Project. Retrieved from http:\/\/www.ertos.nicta.com.au\/downloads\/linux-panda-m3.tbz2."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629597"},{"key":"e_1_2_1_23_1","unstructured":"NVIDIA. 2011. Tegra2 Family: Technical Reference Manual. Retrieved from https:\/\/developer.nvidia.com\/tegra-2-technical-reference-manual.  NVIDIA. 2011. Tegra2 Family: Technical Reference Manual. Retrieved from https:\/\/developer.nvidia.com\/tegra-2-technical-reference-manual."},{"key":"e_1_2_1_24_1","unstructured":"NVIDIA. 2012. Tegra3 HD mobile processors: Technical Reference Manual. Retrieved from https:\/\/developer.nvidia.com\/tegra-3-technical-reference-manual.  NVIDIA. 2012. Tegra3 HD mobile processors: Technical Reference Manual. Retrieved from https:\/\/developer.nvidia.com\/tegra-3-technical-reference-manual."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950399"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/MPRV.2011.28"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2370216.2370218"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519095"},{"key":"e_1_2_1_29_1","unstructured":"Samsung. 2012. Exynos 4210 Application Processor. Retrieved from http:\/\/www.samsung.com\/global\/business\/semiconductor\/product\/application\/detail&quest;productId&equals;7644&iaId&equals;&equals;844.  Samsung. 2012. Exynos 4210 Application Processor. Retrieved from http:\/\/www.samsung.com\/global\/business\/semiconductor\/product\/application\/detail&quest;productId&equals;7644&iaId&equals;&equals;844."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/248208.237179"},{"key":"e_1_2_1_31_1","unstructured":"SGI. 1998. Cellular IRIX 6.4 Technical Report. Retrieved from http:\/\/www.sgistuff.net\/software\/irixintro\/documents\/irix6.4TR.html.  SGI. 1998. Cellular IRIX 6.4 Technical Report. Retrieved from http:\/\/www.sgistuff.net\/software\/irixintro\/documents\/irix6.4TR.html."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISOCC.2013.6864006"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(199805)28:6%3C611::AID-SPE169%3E3.0.CO;2-F"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1067170.1067198"},{"key":"e_1_2_1_35_1","volume-title":"Synthesis Lectures on Computer Architecture","volume":"6","author":"Sorin Daniel J.","year":"2011","unstructured":"Daniel J. Sorin , Mark D. Hill , and David A. Wood . 2011. A Primer on Memory Consistency and Cache Coherence . Synthesis Lectures on Computer Architecture , Vol. 6 . Morgan &amp; Claypool. DOI:http:\/\/dx.doi.org\/10.2200\/S00346ED1V01Y 2011 04CAC016 10.2200\/S00346ED1V01Y201104CAC016 Daniel J. Sorin, Mark D. Hill, and David A. Wood. 2011. A Primer on Memory Consistency and Cache Coherence. Synthesis Lectures on Computer Architecture, Vol. 6. Morgan &amp; Claypool. DOI:http:\/\/dx.doi.org\/10.2200\/S00346ED1V01Y201104CAC016"},{"key":"e_1_2_1_36_1","unstructured":"Texas Instruments. 2010a. OMAP4 Applications Processor: Technical Reference Manual. Retrieved from http:\/\/www.ti.com\/product\/OMAP4470.  Texas Instruments. 2010a. OMAP4 Applications Processor: Technical Reference Manual. Retrieved from http:\/\/www.ti.com\/product\/OMAP4470."},{"key":"e_1_2_1_37_1","unstructured":"Texas Instruments. 2010b. OMAP543x: Technical Reference Manual. Retrieved from http:\/\/www.ti.com\/litv\/pdf\/swpu249v.  Texas Instruments. 2010b. OMAP543x: Technical Reference Manual. Retrieved from http:\/\/www.ti.com\/litv\/pdf\/swpu249v."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01245400"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/844128.844146"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1531793.1531805"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2462456.2464444"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/TMC.2006.167"}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2699676","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2699676","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:16:59Z","timestamp":1750227419000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2699676"}},"subtitle":["A Mobile Operating System for Heterogeneous Coherence Domains"],"short-title":[],"issued":{"date-parts":[[2015,6,8]]},"references-count":42,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2015,6,8]]}},"alternative-id":["10.1145\/2699676"],"URL":"https:\/\/doi.org\/10.1145\/2699676","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"type":"print","value":"0734-2071"},{"type":"electronic","value":"1557-7333"}],"subject":[],"published":{"date-parts":[[2015,6,8]]},"assertion":[{"value":"2014-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-06-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}