{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T16:01:57Z","timestamp":1740153717433,"version":"3.37.3"},"reference-count":38,"publisher":"Association for Computing Machinery (ACM)","issue":"2","funder":[{"DOI":"10.13039\/100000149","name":"Division of Engineering Education and Centers","doi-asserted-by":"publisher","award":["EEC-0642422"],"id":[{"id":"10.13039\/100000149","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Reconfigurable Technol. Syst."],"published-print":{"date-parts":[[2012,6]]},"abstract":"Heterogeneous computing systems comprised of accelerators such as FPGAs, GPUs, and manycore processors coupled with standard microprocessors are becoming an increasingly popular solution for future computing systems due to their higher performance and energy efficiency. Although programming languages and tools are evolving to simplify device-level design, programming such systems is still difficult and time-consuming largely due to system-wide challenges involving communication between heterogeneous devices, which currently require ad hoc solutions. Most communication frameworks and APIs which have dominated parallel application development for decades were developed for homogeneous systems, and hence cannot be directly employed for hybrid systems. To solve this problem, this article presents the System Coordination Framework (SCF), which employs message passing to transparently enable communication between tasks described using different programming tools (and languages), and running on heterogeneous processing devices of systems from domains ranging from embedded systems to High-Performance Computing (HPC) systems. By hiding low-level architectural details of the underlying communication from an application designer, SCF can improve application development productivity, provide higher levels of application portability, and offer rapid design-space exploration of different task\/device mappings. In addition, SCF enables custom communication synthesis that exploits mechanisms specific to different devices and platforms, which can provide performance improvements over generic solutions employed previously. Our results indicate a performance improvement of 28\u00d7 and 682\u00d7 by employing FPGA devices for two applications presented in this article, while simultaneously improving the developer productivity by approximately 2.5 to 5 times by using SCF.<\/jats:p>","DOI":"10.1145\/2209285.2209286","type":"journal-article","created":{"date-parts":[[2012,6,15]],"date-time":"2012-06-15T15:31:37Z","timestamp":1339774297000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["SCF"],"prefix":"10.1145","volume":"5","author":[{"given":"Vikas","family":"Aggarwal","sequence":"first","affiliation":[{"name":"University of Florida"}]},{"given":"Greg","family":"Stitt","sequence":"additional","affiliation":[{"name":"University of Florida"}]},{"given":"Alan","family":"George","sequence":"additional","affiliation":[{"name":"University of Florida"}]},{"given":"Changil","family":"Yoon","sequence":"additional","affiliation":[{"name":"University of Florida"}]}],"member":"320","published-online":{"date-parts":[[2012,6]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1646461.1646464"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1646461.1646467"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000832.2000838"},{"volume-title":"Proceedings of the 2nd International Workshop on Real-Time Computing Systems and Applications. 134--141","author":"Bhat P.","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_5_1","unstructured":"Carlson W. W. Draper J. M. Culler D. E. Yelick K. Brooks E. and Warren K. 1999. Introduction to UPC and language specification. Tech. rep. University of California-Berkeley Berkeley CA. Carlson W. W. Draper J. M. Culler D. E. Yelick K. Brooks E. and Warren K. 1999. Introduction to UPC and language specification. Tech. rep. University of California-Berkeley Berkeley CA."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2010.62"},{"key":"e_1_2_1_7_1","unstructured":"Culler D. Singh J. and Gupta A. 1998. Parallel Computer Architecture: A Hardware\/Software Approach. Morgan Kaufmann Chapter 2.3. Culler D. Singh J. and Gupta A. 1998. Parallel Computer Architecture: A Hardware\/Software Approach . Morgan Kaufmann Chapter 2.3."},{"key":"e_1_2_1_8_1","unstructured":"Eclipse. 2011. Eclipse classic 3.4.1. http:\/\/www.eclipse.org\/downloads\/packages\/eclipse-classic-341\/ganymedesr1. Eclipse . 2011. Eclipse classic 3.4.1. http:\/\/www.eclipse.org\/downloads\/packages\/eclipse-classic-341\/ganymedesr1."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2008.65"},{"key":"e_1_2_1_10_1","unstructured":"El-Ghazawi T. A. Carlson W. W. and Draper J. M. 2001. UPC language specifications v1.0. http:\/\/upc.gwu.edu\/docs\/upc_spec_1.1.1.pdf. El-Ghazawi T. A. Carlson W. W. and Draper J. M. 2001. UPC language specifications v1.0. http:\/\/upc.gwu.edu\/docs\/upc_spec_1.1.1.pdf."},{"volume-title":"Proceedings of the IEEE Workshop on Signal Processing Systems (SIPS). 310--315","author":"Erbas C.","key":"e_1_2_1_11_1"},{"volume-title":"Proceedings of the Workshop on Asynchrony in the PGAS Programming Model.","author":"Farreras M.","key":"e_1_2_1_12_1"},{"volume-title":"Proceedings of the 20th International Parallel and Distributed Processing Symposium.","author":"Franklin M.","key":"e_1_2_1_13_1"},{"volume-title":"Proceedings of the IEEE International Conference on Cluster Computing. 1--9.","author":"Graham R.","key":"e_1_2_1_14_1"},{"key":"e_1_2_1_15_1","unstructured":"Group K. 2011. OpenCL 1.0 specification. http:\/\/www.khronos.org\/registry\/cl\/specs\/opencl-1.0.43.pdf. Group K. 2011. OpenCL 1.0 specification. http:\/\/www.khronos.org\/registry\/cl\/specs\/opencl-1.0.43.pdf."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2005.08.002"},{"volume-title":"Proceedings of the Conference on Information, Communications and Signal Processing (ICICS). 1243--1247","author":"Lee C.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","unstructured":"Lig H. T. Hylands C. Lee E. Liu J. Liu X. Neuendorffer S. Xiong Y. Zhao Y. and Zheng H. 2003. Overview of the Ptolemy project. Lig H. T. Hylands C. Lee E. Liu J. Liu X. Neuendorffer S. Xiong Y. Zhao Y. and Zheng H. 2003. Overview of the Ptolemy project."},{"volume-title":"Proceedings of the IEEE International SOC Conference. 9--18","author":"Luk W.","key":"e_1_2_1_19_1"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/11745693_32"},{"key":"e_1_2_1_21_1","unstructured":"MPI. 2011. MPI standard. http:\/\/www.mcs.anl.gov\/research\/projects\/mpi\/. MPI. 2011. MPI standard. http:\/\/www.mcs.anl.gov\/research\/projects\/mpi\/."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095408.1095418"},{"key":"e_1_2_1_23_1","unstructured":"OpenArchitectureWare. 2011. Xtext reference documentation. http:\/\/www.openarchitectureware.org\/pub\/documentation\/4.1\/\/r80_xtextReference.pdf. OpenArchitectureWare . 2011. Xtext reference documentation. http:\/\/www.openarchitectureware.org\/pub\/documentation\/4.1\/\/r80_xtextReference.pdf."},{"key":"e_1_2_1_24_1","unstructured":"OpenFPGA. 2011. OpenFPGA GenAPI version 0.4 draft for comment. http:\/\/www.openfpga.org\/Standards%20Documents\/OpenFPGA-GenAPIv0.4.pdf. OpenFPGA . 2011. OpenFPGA GenAPI version 0.4 draft for comment. http:\/\/www.openfpga.org\/Standards%20Documents\/OpenFPGA-GenAPIv0.4.pdf."},{"key":"e_1_2_1_25_1","unstructured":"OpenMP. 2011. The OpenMP API specification for parallel programming. http:\/\/openmp.org\/wp\/. OpenMP . 2011. The OpenMP API specification for parallel programming. http:\/\/openmp.org\/wp\/."},{"volume-title":"Proceedings of the Symposium on Application Accelerators in High-Performance Computing (SAAHPC).","author":"Pascoe C.","key":"e_1_2_1_26_1"},{"key":"e_1_2_1_27_1","unstructured":"Pellerin D. and Thibault S. 2005. Practical FPGA Programming in C 1st Ed. Prentice Hall Press Upper Saddle River NJ. Pellerin D. and Thibault S. 2005. Practical FPGA Programming in C 1st Ed. Prentice Hall Press Upper Saddle River NJ."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2331147.2331153"},{"volume-title":"Proceedings of the 3rd International Workshop on High-Performance Reconfigurable Computing Technology and Applications (HPRCTA\u201908)","author":"Saldana M.","key":"e_1_2_1_29_1"},{"key":"e_1_2_1_30_1","volume-title":"Example: An Introduction to General-Purpose GPU Programming","author":"Sanders J.","year":"2010","edition":"1"},{"key":"e_1_2_1_31_1","unstructured":"SGI. 2011. Introduction to the SHMEM programming model. SGI . 2011. Introduction to the SHMEM programming model."},{"volume-title":"Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms.","author":"Shih K.","key":"e_1_2_1_32_1"},{"volume-title":"Proceedings of the Many-Core and Reconfigurable Supercomputing Conference (MRSC).","year":"2008","author":"Storaasli O.","key":"e_1_2_1_33_1"},{"key":"e_1_2_1_34_1","unstructured":"Subramanian N. 2009. A C-to-FPGA solution for accelerating tomographic reconstruction. M.S. thesis University of Washington. Subramanian N. 2009. A C-to-FPGA solution for accelerating tomographic reconstruction. M.S. thesis University of Washington."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.4330020404"},{"key":"e_1_2_1_36_1","unstructured":"Tilera Corp. 2008. TILE64 processor product brief. Tilera Corp. Tilera Corp. 2008. TILE64 processor product brief. Tilera Corp."},{"key":"e_1_2_1_37_1","doi-asserted-by":"crossref","unstructured":"Tsui B. M. W. and Frey E. C. 2006. Analytic image reconstruction methods in emission computed tomography. In Quantitative Analysis in Nuclear Medicine Imaging Springer 82--106. Tsui B. M. W. and Frey E. C. 2006. Analytic image reconstruction methods in emission computed tomography. In Quantitative Analysis in Nuclear Medicine Imaging Springer 82--106.","DOI":"10.1007\/0-387-25444-7_3"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1862648.1862649"}],"container-title":["ACM Transactions on Reconfigurable Technology and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2209285.2209286","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,30]],"date-time":"2022-12-30T09:31:08Z","timestamp":1672392668000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2209285.2209286"}},"subtitle":["A Framework for Task-Level Coordination in Reconfigurable, Heterogeneous Systems"],"short-title":[],"issued":{"date-parts":[[2012,6]]},"references-count":38,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2012,6]]}},"alternative-id":["10.1145\/2209285.2209286"],"URL":"https:\/\/doi.org\/10.1145\/2209285.2209286","relation":{},"ISSN":["1936-7406","1936-7414"],"issn-type":[{"type":"print","value":"1936-7406"},{"type":"electronic","value":"1936-7414"}],"subject":[],"published":{"date-parts":[[2012,6]]},"assertion":[{"value":"2011-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2011-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}