{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:22:15Z","timestamp":1750220535049,"version":"3.41.0"},"reference-count":35,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2020,7,27]],"date-time":"2020-07-27T00:00:00Z","timestamp":1595808000000},"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":["SIGBED Rev."],"published-print":{"date-parts":[[2020,7,27]]},"abstract":"<jats:p>As system complexity grows, embedded operating systems increasingly face the challenge to adhere to various non-functional constraints, such as response times and power limits. These requirements sometimes contradict and, often, no solution satisfies all constraints under all conditions. Changes in environmental conditions, application-level requirements, and user response time expectation hence demand for system-wide adaptions to resource management. We find that process synchronization constitutes a simple yet effective leverage point to balance between timing-related and energy-related constraints. This paper presents Earl, an implementation of reconfigurable locks in Linux that enables seamless transitions between high-performance and low-power operating modes.<\/jats:p>","DOI":"10.1145\/3412821.3412825","type":"journal-article","created":{"date-parts":[[2020,7,27]],"date-time":"2020-07-27T15:58:23Z","timestamp":1595865503000},"page":"24-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Earl"],"prefix":"10.1145","volume":"17","author":[{"given":"Stefan","family":"Reif","sequence":"first","affiliation":[{"name":"Friedrich-Alexander University Erlangen-N\u00fcrnberg"}]},{"given":"Phillip","family":"Raffeck","sequence":"additional","affiliation":[{"name":"Friedrich-Alexander University Erlangen-N\u00fcrnberg"}]},{"given":"Heiko","family":"Janker","sequence":"additional","affiliation":[{"name":"Friedrich-Alexander University Erlangen-N\u00fcrnberg"}]},{"given":"Luis","family":"Gerhorst","sequence":"additional","affiliation":[{"name":"Friedrich-Alexander University Erlangen-N\u00fcrnberg"}]},{"given":"Timo","family":"H\u00f6nig","sequence":"additional","affiliation":[{"name":"Friedrich-Alexander University Erlangen-N\u00fcrnberg"}]},{"given":"Wolfgang","family":"Schr\u00f6der-Preikschat","sequence":"additional","affiliation":[{"name":"Friedrich-Alexander University Erlangen-N\u00fcrnberg"}]}],"member":"320","published-online":{"date-parts":[[2020,7,27]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2988336.2988357"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2016.036"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2008.21"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1278480.1278667"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2626401.2626411"},{"key":"e_1_2_1_6_1","unstructured":"The GLIBC community. 2019. [GLIBC] Tunables. https:\/\/www.gnu.org\/software\/libc\/manual\/html_node\/Tunables.html. Acc. 2019-08-01.  The GLIBC community. 2019. [GLIBC] Tunables. https:\/\/www.gnu.org\/software\/libc\/manual\/html_node\/Tunables.html. Acc. 2019-08-01."},{"key":"e_1_2_1_7_1","unstructured":"Yocto Project Community. 2019. Poky. https:\/\/www.yoctoproject.org\/software-item\/poky\/. Acc. 2019-08-01.  Yocto Project Community. 2019. Poky. https:\/\/www.yoctoproject.org\/software-item\/poky\/. Acc. 2019-08-01."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522714"},{"key":"e_1_2_1_9_1","unstructured":"Analog Devices. 2019. LTC2991. https:\/\/www.analog.com\/en\/products\/ltc2991.html\/. Acc. 2019-08-01.  Analog Devices. 2019. LTC2991. https:\/\/www.analog.com\/en\/products\/ltc2991.html\/. Acc. 2019-08-01."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/363095.363143"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000064.2000108"},{"volume-title":"Unlocking Energy. In Proceedings of the USENIX Annual Technical Conference (ATC","year":"2016","author":"Falsafi Babak","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250662.1250665"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESSCIRC.2016.7598234"},{"key":"e_1_2_1_15_1","unstructured":"Raspberry Pi Foundation. 2019. Raspberry Pi 4. https:\/\/www.raspberrypi.org\/products\/raspberry-pi-4-model-b\/. Acc. 2019-08-01.  Raspberry Pi Foundation. 2019. Raspberry Pi 4. https:\/\/www.raspberrypi.org\/products\/raspberry-pi-4-model-b\/. Acc. 2019-08-01."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2005.160"},{"key":"e_1_2_1_17_1","unstructured":"The glibc community. 2019. The GNU C Library (glibc). https:\/\/www.gnu.org\/software\/libc\/. Acc. 2019-08-01.  The glibc community. 2019. The GNU C Library (glibc). https:\/\/www.gnu.org\/software\/libc\/. Acc. 2019-08-01."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2688500.2688501"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC","year":"2016","author":"Guiroux Hugo","key":"e_1_2_1_19_1"},{"volume-title":"Proceedings of the 6th Workshop on Power-Aware Computing and Systems (HotPower","year":"2014","author":"H\u00e4hnel Marcus","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/IGCC.2013.6604521"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/358818.358824"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/MAES.2017.160182"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/103727.103729"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1217935.1217974"},{"key":"e_1_2_1_26_1","first-page":"4","article-title":"Scaling Synchronization in Multicore Programs","volume":"14","author":"Morrison Adam","year":"2016","journal-title":"ACM Queue"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.917539"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2017.7995256"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISORC.2017.18"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2656075.2661648"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3167132.3167198"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2013.90"},{"volume-title":"Proceedings of the 24th Euromicro Conference on Real-Time Systems (ECRTS","year":"2012","author":"Ward Bryan","key":"e_1_2_1_33_1"},{"volume-title":"Proceedings of the 2002 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES","year":"2002","author":"Weissel Andreas","key":"e_1_2_1_34_1"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2015.8"}],"container-title":["ACM SIGBED Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3412821.3412825","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3412821.3412825","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:25:02Z","timestamp":1750195502000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3412821.3412825"}},"subtitle":["energy-aware reconfigurable locks"],"short-title":[],"issued":{"date-parts":[[2020,7,27]]},"references-count":35,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2020,7,27]]}},"alternative-id":["10.1145\/3412821.3412825"],"URL":"https:\/\/doi.org\/10.1145\/3412821.3412825","relation":{},"ISSN":["1551-3688"],"issn-type":[{"type":"electronic","value":"1551-3688"}],"subject":[],"published":{"date-parts":[[2020,7,27]]},"assertion":[{"value":"2020-07-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}