{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:07:13Z","timestamp":1750306033738,"version":"3.41.0"},"reference-count":18,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2018,1,4]],"date-time":"2018-01-04T00:00:00Z","timestamp":1515024000000},"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":[[2018,1,4]]},"abstract":"<jats:p>We present the design of Go-RealTime, a lightweight framework for real-time parallel programming based on Go language. Go-RealTime is implemented in user space with portability and efficiency as important design goals. It takes the advantage of Go language's ease of programming and natural model of concurrency. Goroutines are adapted to provide scheduling for real-time tasks, with resource reservation enabled by exposing Linux APIs to Go. We demonstrate nearly full utilization on 32 processors scheduling periodic heavy tasks using Least Laxity First (LLF) algorithm. With its abstraction and system support, Go-RealTime greatly simplifies the set up of sequential and parallel real-time programs on multiprocessor systems.<\/jats:p>","DOI":"10.1145\/3177803.3177811","type":"journal-article","created":{"date-parts":[[2018,1,4]],"date-time":"2018-01-04T16:27:31Z","timestamp":1515083251000},"page":"46-52","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Go-realtime"],"prefix":"10.1145","volume":"14","author":[{"given":"Zhou","family":"Fang","sequence":"first","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mulong","family":"Luo","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fatima M.","family":"Anwar","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hao","family":"Zhuang","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rajesh K.","family":"Gupta","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,1,4]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"261","volume-title":"Proceedings of the 19th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)","author":"Agrawal K.","year":"2013","unstructured":"K. Agrawal , C. Gill , J. Li , M. Mahadevan , D. Ferry , and C. Lu . A Real-Time Scheduling Service for Parallel Tasks . In Proceedings of the 19th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS) , pages 261 -- 272 , 2013 . K. Agrawal, C. Gill, J. Li, M. Mahadevan, D. Ferry, and C. Lu. A Real-Time Scheduling Service for Parallel Tasks. In Proceedings of the 19th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 261--272, 2013."},{"doi-asserted-by":"publisher","key":"e_1_2_1_3_1","DOI":"10.1145\/167088.167194"},{"doi-asserted-by":"publisher","key":"e_1_2_1_4_1","DOI":"10.1109\/TPDS.2008.129"},{"doi-asserted-by":"publisher","key":"e_1_2_1_5_1","DOI":"10.1145\/324133.324234"},{"doi-asserted-by":"publisher","key":"e_1_2_1_6_1","DOI":"10.1109\/RTSS.2009.23"},{"key":"e_1_2_1_7_1","first-page":"111","volume-title":"Proceedings of the 27th IEEE International Real-Time Systems Symposium (RTSS)","author":"Calandrino J. M.","year":"2006","unstructured":"J. M. Calandrino , H. Leontyev , A. Block , U. C. Devi , and J. H. Anderson . LITMUSRT: A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers . In Proceedings of the 27th IEEE International Real-Time Systems Symposium (RTSS) , pages 111 -- 126 , 2006 . J. M. Calandrino, H. Leontyev, A. Block, U. C. Devi, and J. H. Anderson. LITMUSRT: A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers. In Proceedings of the 27th IEEE International Real-Time Systems Symposium (RTSS), pages 111--126, 2006."},{"doi-asserted-by":"publisher","key":"e_1_2_1_8_1","DOI":"10.1109\/ECRTS.2007.14"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.1023\/A:1025120124771"},{"doi-asserted-by":"publisher","key":"e_1_2_1_10_1","DOI":"10.1007\/3-540-45414-4_21"},{"doi-asserted-by":"publisher","key":"e_1_2_1_11_1","DOI":"10.1109\/RTSS.2010.42"},{"doi-asserted-by":"publisher","key":"e_1_2_1_12_1","DOI":"10.1109\/TSE.2012.75"},{"doi-asserted-by":"publisher","key":"e_1_2_1_13_1","DOI":"10.1007\/BF01553887"},{"doi-asserted-by":"publisher","key":"e_1_2_1_14_1","DOI":"10.1145\/1281700.1281702"},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1145\/321738.321743"},{"key":"e_1_2_1_16_1","volume-title":"Structured Parallel Programming: Patterns for Efficient Computation","author":"McCool M.","year":"2012","unstructured":"M. McCool , A. D. Robison , and J. Reinders . Structured Parallel Programming: Patterns for Efficient Computation . Morgan Kaufmann Publishers , 2012 . M. McCool, A. D. Robison, and J. Reinders. Structured Parallel Programming: Patterns for Efficient Computation. Morgan Kaufmann Publishers, 2012."},{"key":"e_1_2_1_17_1","first-page":"31","volume-title":"Yang. A Modified Least-Laxity-First Scheduling Algorithm for Real-Time Tasks. In Proceedings of the 15th International Conference on Real-Time Computing Systems and Applications (RTAS)","author":"Oh S.-H.","year":"1998","unstructured":"S.-H. Oh and S.- M. Yang. A Modified Least-Laxity-First Scheduling Algorithm for Real-Time Tasks. In Proceedings of the 15th International Conference on Real-Time Computing Systems and Applications (RTAS) , pages 31 -- 36 , 1998 . S.-H. Oh and S.-M. Yang. A Modified Least-Laxity-First Scheduling Algorithm for Real-Time Tasks. In Proceedings of the 15th International Conference on Real-Time Computing Systems and Applications (RTAS), pages 31--36, 1998."},{"doi-asserted-by":"publisher","key":"e_1_2_1_18_1","DOI":"10.5555\/2120959.2121134"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 1st International Conference on Advanced Computing and Communications","author":"Tang P.","year":"2010","unstructured":"P. Tang . Multi-core Parallel Programming in Go . In Proceedings of the 1st International Conference on Advanced Computing and Communications , 2010 . P. Tang. Multi-core Parallel Programming in Go. In Proceedings of the 1st International Conference on Advanced Computing and Communications, 2010."}],"container-title":["ACM SIGBED Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3177803.3177811","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3177803.3177811","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:02:54Z","timestamp":1750215774000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3177803.3177811"}},"subtitle":["a lightweight framework for multiprocessor real-time system in user space"],"short-title":[],"issued":{"date-parts":[[2018,1,4]]},"references-count":18,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2018,1,4]]}},"alternative-id":["10.1145\/3177803.3177811"],"URL":"https:\/\/doi.org\/10.1145\/3177803.3177811","relation":{},"ISSN":["1551-3688"],"issn-type":[{"type":"electronic","value":"1551-3688"}],"subject":[],"published":{"date-parts":[[2018,1,4]]},"assertion":[{"value":"2018-01-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}