{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:34:32Z","timestamp":1750221272150,"version":"3.41.0"},"reference-count":49,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2017,9,6]],"date-time":"2017-09-06T00:00:00Z","timestamp":1504656000000},"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. Archit. Code Optim."],"published-print":{"date-parts":[[2017,9,30]]},"abstract":"<jats:p>SWITCHES is a task-based dataflow runtime that implements a lightweight distributed triggering system for runtime dependence resolution and uses static scheduling and compile-time assignment policies to reduce runtime overheads. Unlike other systems, the granularity of loop-tasks can be increased to favor data-locality, even when having dependences across different loops. SWITCHES introduces explicit task resource allocation mechanisms for efficient allocation of resources and adopts the latest OpenMP Application Programming Interface (API), as to maintain high levels of programming productivity. It provides a source-to-source tool that automatically produces thread-based code. Performance on an Intel Xeon-Phi shows good scalability and surpasses OpenMP by an average of 32%.<\/jats:p>","DOI":"10.1145\/3127068","type":"journal-article","created":{"date-parts":[[2017,9,7]],"date-time":"2017-09-07T13:02:09Z","timestamp":1504789329000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["SWITCHES"],"prefix":"10.1145","volume":"14","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7139-4444","authenticated-orcid":false,"given":"Andreas","family":"Diavastos","sequence":"first","affiliation":[{"name":"University of Cyprus"}]},{"given":"Pedro","family":"Trancoso","sequence":"additional","affiliation":[{"name":"University of Cyprus and Chalmers University of Technology"}]}],"member":"320","published-online":{"date-parts":[[2017,9,6]]},"reference":[{"key":"e_1_2_2_1_1","unstructured":"2007. Cray XMT platforrm. (2007). http:\/\/www.cray.com\/products\/xmt\/index.html. {Online}.  2007. Cray XMT platforrm. (2007). http:\/\/www.cray.com\/products\/xmt\/index.html. {Online}."},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1137\/0201008"},{"volume-title":"International Conference on Embedded Computer Systems (SAMOS). 152--161","author":"Arandi S.","key":"e_1_2_2_3_1"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/2388996.2389086"},{"volume-title":"Proceedings of the 3rd Workshop on Memory Performance Issues: In Conjunction with the 31st International Symposium on Computer Architecture (WMPI\u201904)","author":"Brockman Jay B.","key":"e_1_2_2_5_1"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/125826.125976"},{"key":"e_1_2_2_7_1","unstructured":"Transaction Processing Council. 2006. TPC Benchmark H (Decision Support). Standard Specification Revision 2.6.1. (2006).  Transaction Processing Council. 2006. TPC Benchmark H (Decision Support). Standard Specification Revision 2.6.1. (2006)."},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/99.660313"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/647323.721501"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/642089.642111"},{"key":"e_1_2_2_11_1","doi-asserted-by":"crossref","unstructured":"Andreas Diavastos. 2017. SWITCHES Platform. Retrieved from https:\/\/github.com\/diavastos\/SWITCHES. {Online}.  Andreas Diavastos. 2017. SWITCHES Platform. Retrieved from https:\/\/github.com\/diavastos\/SWITCHES. {Online}.","DOI":"10.1145\/3127068"},{"volume-title":"Proceedings of the 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP). 296--300","author":"Diavastos A.","key":"e_1_2_2_12_1"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/PDP.2015.69"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2015.05.335"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626411000151"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2009.64"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277725"},{"volume-title":"1976 Summer Computer Simulation Conference. 57--62","author":"Gilliland M. C.","key":"e_1_2_2_18_1"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.micpro.2014.04.001"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-8191(96)00024-5"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2465.2468"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/331532.331589"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/PDCAT.2008.38"},{"key":"e_1_2_2_24_1","unstructured":"Intel. 2016. Intel Many Integrated Core Architecture. Retrieved from http:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/many-integrated-core.  Intel. 2016. Intel Many Integrated Core Architecture. Retrieved from http:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/many-integrated-core."},{"key":"e_1_2_2_25_1","unstructured":"Intel. 2016. The Intel Xeon Phi coprocessor. Retrieved from http:\/\/www.intel.com\/content\/www\/us\/en\/processors\/xeon\/xeon-phi-detail.html.  Intel. 2016. The Intel Xeon Phi coprocessor. Retrieved from http:\/\/www.intel.com\/content\/www\/us\/en\/processors\/xeon\/xeon-phi-detail.html."},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1013208.1013209"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1137\/0114108"},{"volume-title":"Frontiers\u201996 Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computing. 88--97","author":"Kogge P. M.","key":"e_1_2_2_28_1"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1535\/itj.1104.05"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2006.136"},{"volume-title":"SWARM: A unified framework for parallel-for, task dataflow, and distributed graph traversal","year":"2013","author":"Lauderdale C.","key":"e_1_2_2_31_1"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/PROC.1987.13876"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2014.162"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2686874"},{"volume-title":"Proceedings of the 2016 IEEE High Performance Extreme Computing Conference (HPEC). 1--7.","author":"Mattson T. G.","key":"e_1_2_2_35_1"},{"key":"e_1_2_2_36_1","unstructured":"OpenMP Architecture Review Board. 2015. OpenMP 4.5 API C\/C++ Syntax Reference Guide. Retrieved from http:\/\/www.openmp.org\/wp-content\/uploads\/openmp-4.5.pdf.  OpenMP Architecture Review Board. 2015. OpenMP 4.5 API C\/C++ Syntax Reference Guide. Retrieved from http:\/\/www.openmp.org\/wp-content\/uploads\/openmp-4.5.pdf."},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/325164.325117"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/PDP.2013.14"},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1177\/1094342009106195"},{"volume-title":"What is new in OpenMP 4.5.","author":"Developer Program Red Hat","key":"e_1_2_2_40_1"},{"volume-title":"The Native POSIX Thread Library for Linux","author":"Red Hat Inc. 2003.","key":"e_1_2_2_41_1"},{"key":"e_1_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2008.74"},{"key":"e_1_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2011.7"},{"volume-title":"Proceedings of the 10th International Workshop on OpenMP (IWOMP\u201914)","author":"Virouleau P.","key":"e_1_2_2_44_1"},{"volume-title":"Proceedings of the 15th Annual International Symposium on Computer Architecture (ISCA\u201988)","author":"Watson I.","key":"e_1_2_2_45_1"},{"volume-title":"Proceedings of the 2008 IEEE International Symposium on Parallel and Distributed Processing. 1--8.","author":"Wheeler K. B.","key":"e_1_2_2_46_1"},{"key":"e_1_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.2514\/3.10007"},{"volume-title":"Proceedings of the 2nd USENIX Workshop on Hot Topics in Parallelism (Poster Paper).","author":"Zhou X.","key":"e_1_2_2_48_1"},{"key":"e_1_2_2_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000417.2000424"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3127068","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3127068","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:11:07Z","timestamp":1750212667000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3127068"}},"subtitle":["A Lightweight Runtime for Dataflow Execution of Tasks on Many-Cores"],"short-title":[],"issued":{"date-parts":[[2017,9,6]]},"references-count":49,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2017,9,30]]}},"alternative-id":["10.1145\/3127068"],"URL":"https:\/\/doi.org\/10.1145\/3127068","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2017,9,6]]},"assertion":[{"value":"2017-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-09-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}