{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:52:04Z","timestamp":1750308724021,"version":"3.41.0"},"reference-count":43,"publisher":"Association for Computing Machinery (ACM)","issue":"1s","license":[{"start":{"date-parts":[[2013,11,1]],"date-time":"2013-11-01T00:00:00Z","timestamp":1383264000000},"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":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2013,11]]},"abstract":"<jats:p>\n            This article presents the design of user-level scheduling hierarchies in the C\n            <jats:sc>omposite<\/jats:sc>\n            component-based system. The motivation for this is centered around the design of a system that is both dependable and predictable, and which is configurable to the needs of specific applications. Untrusted application developers can safely develop services and policies, that are isolated in protection domains outside the kernel. To ensure predictability, C\n            <jats:sc>omposite<\/jats:sc>\n            enforces timing control over user-space services. Moreover, it must provide a means by which asynchronous events, such as interrupts, are handled in a timely manner without jeopardizing the system. Towards this end, we describe the features of C\n            <jats:sc>omposite<\/jats:sc>\n            that allow user-defined scheduling policies to be composed for the purposes of combined interrupt and task management. A significant challenge arises from the need to synchronize access to shared data structures (e.g., scheduling queues), without allowing untrusted code to disable interrupts. Additionally, efficient upcall mechanisms are needed to deliver asynchronous event notifications in accordance with policy-specific priorities, without undue recourse to schedulers. We show how these issues are addressed in C\n            <jats:sc>omposite<\/jats:sc>\n            , by comparing several hierarchies of scheduling polices, to manage both tasks and the interrupts on which they depend. Studies show how it is possible to implement guaranteed differentiated services as part of the handling of I\/O requests from a network device while diminishing livelock. Microbenchmarks indicate that the costs of implementing and invoking user-level schedulers in C\n            <jats:sc>omposite<\/jats:sc>\n            are on par with, or less than, those in other systems, with thread switches more than twice as fast as in Linux.\n          <\/jats:p>","DOI":"10.1145\/2536747.2536754","type":"journal-article","created":{"date-parts":[[2013,12,10]],"date-time":"2013-12-10T13:28:12Z","timestamp":1386682092000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Predictable and configurable component-based scheduling in the C\n            <scp>omposite<\/scp>\n            OS"],"prefix":"10.1145","volume":"13","author":[{"given":"Gabriel","family":"Parmer","sequence":"first","affiliation":[{"name":"The George Washington University, Washington, DC"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Richard","family":"West","sequence":"additional","affiliation":[{"name":"Boston University, Boston, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2013,12,6]]},"reference":[{"volume-title":"USENIX Summer Conference. 93--113","author":"Accetta M. J.","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/253145.253159"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/121132.121151"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2005.17"},{"volume-title":"Proceedings of the 10th International Conference on Real-Time Systems (RTS'02)","author":"Barreto L. P.","key":"e_1_2_1_5_1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/143365.143523"},{"volume-title":"Proceedings of the. USENIX Workshop on Embedded Systems. 55--65","author":"Bruno J.","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1023\/B:TIME.0000048932.30002.d9"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2006.34"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/238721.238786"},{"volume-title":"Proceedings of the USENIX Technical Conference and Exhibition. 97--114","author":"Ford B.","key":"e_1_2_1_11_1"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/238721.238765"},{"volume-title":"Proceedings of the Ottawa Linux Symposium.","author":"Franke H.","key":"e_1_2_1_13_1"},{"volume-title":"Proceedings of the International Conference on Embedded Systems & Applications. 83--90","author":"Fry G.","key":"e_1_2_1_14_1"},{"volume-title":"Proceedings of the 13th IEEE Euromicro Conference on Real-Time Systems.","author":"Gai P.","key":"e_1_2_1_15_1"},{"volume-title":"Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI'99)","author":"Gamsa B.","key":"e_1_2_1_16_1"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/238721.238766"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference. 217--230","author":"Hohmuth M.","key":"e_1_2_1_18_1"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224075"},{"volume-title":"Proceedings of the 23rd IEEE Real-Time Systems Symposium.","author":"Mehnert F.","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/41457.37505"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/263326.263335"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/647911.740481"},{"volume-title":"Proceedings of the Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT'10)","year":"2010","author":"Parmer G.","key":"e_1_2_1_24_1"},{"volume-title":"Proceedings of the International Conference on Embedded Systems and Applications.","author":"Parmer G.","key":"e_1_2_1_25_1"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2007.14"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2007.31"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2008.13"},{"key":"e_1_2_1_29_1","unstructured":"Parmer G. A. 2009. Composite: A component-based operating system for predictable and dependable computing. Ph.D. thesis Boston University Boston MA.   Parmer G. A. 2009. Composite: A component-based operating system for predictable and dependable computing. Ph.D. thesis Boston University Boston MA."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2005.27"},{"key":"e_1_2_1_31_1","doi-asserted-by":"crossref","unstructured":"Rajkumar R. Juvva K. Molano A. and Oikawa S. 2001. Readings in Multimedia Computing and Networking. Morgan Kaufmann Publishers Inc. San Francisco CA 476--490.   Rajkumar R. Juvva K. Molano A. and Oikawa S. 2001. Readings in Multimedia Computing and Networking. Morgan Kaufmann Publishers Inc. San Francisco CA 476--490.","DOI":"10.1016\/B978-155860651-7\/50127-3"},{"volume-title":"Proceedings of the 22nd IEEE Real-Time Systems Symposium (RTSS'01)","author":"Regehr J.","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","unstructured":"RTLinux. Real-Time Linux: http:\/\/www.rtlinux.org.  RTLinux. Real-Time Linux: http:\/\/www.rtlinux.org."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2006.50"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/1361151.1387980"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.57058"},{"volume-title":"Proceedings of the Real Time Systems Symposium.","author":"Shin I.","key":"e_1_2_1_37_1"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2005.16"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1278901.1278910"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.368008"},{"volume-title":"Protocols for High-Speed Networks. North Holland","author":"Tennenhouse D.","key":"e_1_2_1_41_1"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945471"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2006.37"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2536747.2536754","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2536747.2536754","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:14:42Z","timestamp":1750277682000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2536747.2536754"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,11]]},"references-count":43,"journal-issue":{"issue":"1s","published-print":{"date-parts":[[2013,11]]}},"alternative-id":["10.1145\/2536747.2536754"],"URL":"https:\/\/doi.org\/10.1145\/2536747.2536754","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2013,11]]},"assertion":[{"value":"2010-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2011-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-12-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}