{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,3]],"date-time":"2022-04-03T02:10:43Z","timestamp":1648951843322},"reference-count":52,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2011,8,2]],"date-time":"2011-08-02T00:00:00Z","timestamp":1312243200000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2012,7]]},"DOI":"10.1007\/s11227-011-0656-7","type":"journal-article","created":{"date-parts":[[2011,8,1]],"date-time":"2011-08-01T13:45:08Z","timestamp":1312206308000},"page":"118-140","source":"Crossref","is-referenced-by-count":4,"title":["StreamPI: a stream-parallel programming extension for object-oriented programming languages"],"prefix":"10.1007","volume":"61","author":[{"given":"Jingun","family":"Hong","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kirak","family":"Hong","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bernd","family":"Burgstaller","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Johann","family":"Blieberger","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2011,8,2]]},"reference":[{"issue":"2","key":"656_CR1","doi-asserted-by":"crossref","first-page":"261","DOI":"10.1007\/s10766-005-3590-6","volume":"33","author":"S Amarasinghe","year":"2005","unstructured":"Amarasinghe S, Gordon MI, Karczmarek M, Lin J, Maze D, Rabbah RM, Thies W (2005) Language and compiler design for streaming applications. Int J Parallel Program 33(2):261\u2013278","journal-title":"Int J Parallel Program"},{"issue":"2","key":"656_CR2","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1109\/MM.2006.45","volume":"26","author":"J Andrews","year":"2006","unstructured":"Andrews J, Baker N (2006) Xbox 360 system architecture. IEEE MICRO 26(2):25\u201337","journal-title":"IEEE MICRO"},{"key":"656_CR3","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4613-1389-2","volume-title":"Software synthesis from dataflow graphs","author":"SS Battacharyya","year":"1996","unstructured":"Battacharyya SS, Lee EA, Murthy PK (1996) Software synthesis from dataflow graphs. Kluwer Academic, Norwell"},{"key":"656_CR4","first-page":"311","volume":"16","author":"F Belina","year":"1989","unstructured":"Belina F, Hogrefe D (1989) The CCITT-specification and description language SDL. Comput Netw 16:311\u2013341","journal-title":"Comput Netw"},{"issue":"2","key":"656_CR5","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1016\/0167-6423(92)90005-V","volume":"19","author":"G Berry","year":"1992","unstructured":"Berry G, Gonthier G (1992) The Esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2):87\u2013152","journal-title":"Sci Comput Program"},{"key":"656_CR6","volume-title":"Computer systems: a programmer\u2019s perspective","author":"RE Bryant","year":"2003","unstructured":"Bryant RE, O\u2019Halloran DR (2003) Computer systems: a programmer\u2019s perspective. Prentice-Hall, New York"},{"key":"656_CR7","volume-title":"PThreads programming","author":"D Buttlar","year":"1996","unstructured":"Buttlar D, Farrell J, Nichols B (1996) PThreads programming. O\u2019Reilly, Sebastopol"},{"key":"656_CR8","doi-asserted-by":"crossref","first-page":"57","DOI":"10.1145\/1629395.1629406","volume-title":"CASES \u201909: proceedings of the 2009 international conference on compilers, architecture, and synthesis for embedded systems","author":"PM Carpenter","year":"2009","unstructured":"Carpenter PM, Ramirez A, Ayguade E (2009) Mapping stream programs onto heterogeneous multiprocessor systems. In: CASES \u201909: proceedings of the 2009 international conference on compilers, architecture, and synthesis for embedded systems. ACM Press, New York, pp 57\u201366"},{"key":"656_CR9","first-page":"178","volume-title":"Proceedings of the 14th ACM conference on principles of programming languages","author":"P Caspi","year":"1987","unstructured":"Caspi P, Pilaud D, Halbwachs N, Plaice J (1987) Lustre: a declarative language for programming synchronous systems. In: Proceedings of the 14th ACM conference on principles of programming languages, pp 178\u2013188"},{"key":"656_CR10","volume-title":"PLDI \u201905: proceedings of the 2005 ACM SIGPLAN conference on programming language design and implementation","author":"MK Chen","year":"2005","unstructured":"Chen MK, Li XF, Lian R, Lin JH, Liu L, Liu T, Ju R (2005) Shangri-la: Achieving high performance from compiled network applications while enabling ease of programming. In: PLDI \u201905: proceedings of the 2005 ACM SIGPLAN conference on programming language design and implementation. ACM Press, New York"},{"key":"656_CR11","doi-asserted-by":"crossref","first-page":"357","DOI":"10.1145\/1950365.1950406","volume-title":"Proceedings of the sixteenth international conference on architectural support for programming languages and operating systems, ASPLOS \u201911, New York, NY, USA","author":"SM Farhad","year":"2011","unstructured":"Farhad SM, Ko Y, Burgstaller B, Scholz B (2011) Orchestration by approximation: mapping stream programs onto multicore architectures. In: Proceedings of the sixteenth international conference on architectural support for programming languages and operating systems, ASPLOS \u201911, New York, NY, USA. ACM Press, New York, pp 357\u2013368"},{"key":"656_CR12","unstructured":"Google (2009) The Go programming language specification, retrieved Nov 2009. http:\/\/golang.org"},{"key":"656_CR13","volume-title":"International conference on architectural support for programming languages and operating systems","author":"MI Gordon","year":"2006","unstructured":"Gordon MI, Thies W, Amarasinghe S (2006) Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. In: International conference on architectural support for programming languages and operating systems, San Jose, CA"},{"key":"656_CR14","doi-asserted-by":"crossref","first-page":"343","DOI":"10.1109\/MICRO.2005.32","volume-title":"MICRO 38: proceedings of the 38th annual IEEE\/ACM international symposium on microarchitecture","author":"J Gummaraju","year":"2005","unstructured":"Gummaraju J, Rosenblum M (2005) Stream programming on general-purpose processors. In: MICRO 38: proceedings of the 38th annual IEEE\/ACM international symposium on microarchitecture. IEEE Computer Society Press, Los Alamitos, pp 343\u2013354"},{"key":"656_CR15","doi-asserted-by":"crossref","first-page":"161","DOI":"10.1007\/BF01407897","volume":"18","author":"R Gupta","year":"1990","unstructured":"Gupta R, Hill CR (1990) A scalable implementation of barrier synchronization using an adaptive combining tree. Int J Parallel Program 18:161\u2013180","journal-title":"Int J Parallel Program"},{"key":"656_CR16","volume-title":"DAC \u201909: proceedings of the 2009 design automation conference","author":"A Hagiescu","year":"2009","unstructured":"Hagiescu A, Wong W, Bacon DF, Rabbah R (2009) A computing origami: folding streams in FPGAs. In: DAC \u201909: proceedings of the 2009 design automation conference. ACM Press, New York"},{"key":"656_CR17","volume-title":"The art of multiprocessor programming","author":"M Herlihy","year":"2008","unstructured":"Herlihy M, Shavit N (2008) The art of multiprocessor programming. Morgan Kaufmann, San Mateo"},{"key":"656_CR18","first-page":"258","volume-title":"HPCA \u201905: proceedings of the 2005 international symposium on high-performance computer architecture","author":"HP Hofstee","year":"2005","unstructured":"Hofstee HP (2005) Power efficient processor architecture and the Cell processor. In: HPCA \u201905: proceedings of the 2005 international symposium on high-performance computer architecture. IEEE Computer Society Press, Los Alamitos, pp 258\u2013262"},{"key":"656_CR19","doi-asserted-by":"crossref","first-page":"214","DOI":"10.1109\/PACT.2009.39","volume-title":"PACT \u201909: proceedings of the 2009 18th international conference on parallel architectures and compilation techniques","author":"AH Hormati","year":"2009","unstructured":"Hormati AH, Choi Y, Kudlur M, Rabbah R, Mudge T, Mahlke S (2009) Flextream: Adaptive compilation of streaming applications for heterogeneous architectures. In: PACT \u201909: proceedings of the 2009 18th international conference on parallel architectures and compilation techniques, Washington, DC, USA. IEEE Computer Society Press, Los Alamitos, pp 214\u2013223"},{"key":"656_CR20","unstructured":"IBM Redbooks (2008) Programming the cell broadband engine architecture: examples and best practices. http:\/\/www.redbooks.ibm.com"},{"key":"656_CR21","unstructured":"IDC (2008) PC semiconductor market briefing: re-architecting the PC and the migration of value, June 2008, http:\/\/www.idc.com"},{"key":"656_CR22","unstructured":"ISO\/IEC 8652:2007 (2006) Ada reference manual, 3rd edn"},{"key":"656_CR23","first-page":"471","volume-title":"Information processing","author":"G Kahn","year":"1974","unstructured":"Kahn G (1974) The semantics of a simple language for parallel programming. In: Rosenfeld JL (ed) Information processing, Stockholm, Sweden, Aug. North Holland, Amsterdam, pp 471\u2013475"},{"key":"656_CR24","first-page":"282","volume-title":"Computer design, international conference on","author":"UJ Kapasi","year":"2002","unstructured":"Kapasi UJ, Dally WJ, Rixner S, Owens JD, Khailany B (2002) The imagine stream processor. In: Computer design, international conference on, p 282"},{"key":"656_CR25","unstructured":"Karczmarek M (2002) Constrained and phased scheduling of synchronous data flow graphs for the StreamIt language. Master\u2019s thesis, Massachusetts Institute of Technology"},{"issue":"7","key":"656_CR26","doi-asserted-by":"crossref","first-page":"103","DOI":"10.1145\/780731.780747","volume":"38","author":"M Karczmarek","year":"2003","unstructured":"Karczmarek M, Thies W, Amarasinghe S (2003) Phased scheduling of stream programs. ACM SIGPLAN Not 38(7):103\u2013112","journal-title":"ACM SIGPLAN Not"},{"key":"656_CR27","first-page":"1235","volume-title":"LCTES \u201903: proceedings of the 2003 ACM SIGPLAN\/SIGBED conference on languages, compilers, and tools for embedded systems","author":"M Karczmarek","year":"2003","unstructured":"Karczmarek M, Thies W, Amarasinghe S (2003) Phased scheduling of stream programs. In: LCTES \u201903: proceedings of the 2003 ACM SIGPLAN\/SIGBED conference on languages, compilers, and tools for embedded systems, vol 38, pp 1235\u20131245"},{"issue":"6","key":"656_CR28","doi-asserted-by":"crossref","first-page":"1390","DOI":"10.1137\/0114108","volume":"14","author":"RM Karp","year":"1966","unstructured":"Karp RM, Miller RE (1966) Properties of a model for parallel computations: determinacy, termination, queueing. SIAM J Appl Math 14(6):1390\u20131411","journal-title":"SIAM J Appl Math"},{"key":"656_CR29","volume-title":"PLDI \u201908: proceedings of the 2008 ACM SIGPLAN conference on programming language design and implementation","author":"M Kudlur","year":"2008","unstructured":"Kudlur M, Mahlke S (2008) Orchestrating the execution of stream programs on multicore platforms. In: PLDI \u201908: proceedings of the 2008 ACM SIGPLAN conference on programming language design and implementation. ACM Press, New York"},{"issue":"1","key":"656_CR30","doi-asserted-by":"crossref","first-page":"24","DOI":"10.1109\/TC.1987.5009446","volume":"36","author":"EA Lee","year":"1987","unstructured":"Lee EA, Messerschmitt DG (1987) Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans Comput 36(1):24\u201335","journal-title":"IEEE Trans Comput"},{"issue":"9","key":"656_CR31","doi-asserted-by":"crossref","first-page":"1235","DOI":"10.1109\/PROC.1987.13876","volume":"75","author":"EA Lee","year":"1987","unstructured":"Lee EA, Messerschmitt DG (1987) Synchronous data flow. Proc IEEE 75(9):1235\u20131245","journal-title":"Proc IEEE"},{"key":"656_CR32","unstructured":"Leung M-K, Liu I, Zou J (2008) Code generation for process network models onto parallel architectures. Technical Report UCB\/EECS-2008-139, EECS Department, University of California, Berkeley"},{"key":"656_CR33","volume-title":"Principles of parallel programming","author":"C Lin","year":"2008","unstructured":"Lin C, Snyder L (2008) Principles of parallel programming. Addison-Wesley, Reading"},{"key":"656_CR34","doi-asserted-by":"crossref","first-page":"10","DOI":"10.1109\/ICSAMOS.2008.4664841","volume-title":"SAMOS \u201908: proceedings of the 2008 international conference on embedded computer systems: architectures, modeling, and simulation","author":"Y Lin","year":"2008","unstructured":"Lin Y, Choi Y, Mahlke SA, Mudge TN, Chakrabarti C (2008) A parameterized dataflow language extension for embedded streaming systems. In: SAMOS \u201908: proceedings of the 2008 international conference on embedded computer systems: architectures, modeling, and simulation, pp 10\u201317"},{"key":"656_CR35","volume-title":"Patterns for parallel programming","author":"TG Mattson","year":"2007","unstructured":"Mattson TG, Sanders BA, Massingill BL (2007) Patterns for parallel programming, 3rd edn. Addison-Wesley, Reading","edition":"3"},{"key":"656_CR36","first-page":"86","volume":"30","author":"EW Michael","year":"1997","unstructured":"Michael EW, Taylor M, Sarkar V, Lee W, Lee V, Kim J, Frank M, Finch P, Devabhaktuni S, Barua R, Babb J, Amarasinghe S, Agarwal A (1997) Baring it all to software: the Raw machine. Computer 30:86\u201393","journal-title":"Computer"},{"key":"656_CR37","volume-title":"Parallel programming with MPI","author":"PS Pacheco","year":"1996","unstructured":"Pacheco PS (1996) Parallel programming with MPI. Morgan Kaufmann, San Francisco"},{"key":"656_CR38","volume-title":"Intel threading building blocks","author":"J Reinders","year":"2007","unstructured":"Reinders J (2007) Intel threading building blocks. O\u2019Reilly, Sebastopol"},{"key":"656_CR39","volume-title":"Algorithms in C++","author":"R Sedgewick","year":"2002","unstructured":"Sedgewick R (2002) Algorithms in C++, 3rd edn. Addison-Wesley-Longman, Reading","edition":"3"},{"key":"656_CR40","doi-asserted-by":"crossref","first-page":"115","DOI":"10.1145\/1065910.1065927","volume-title":"LCTES \u201905: proceedings of the 2005 ACM SIGPLAN\/SIGBED conference on languages, compilers, and tools for embedded systems","author":"J Sermulins","year":"2005","unstructured":"Sermulins J, Thies W, Rabbah R, Amarasinghe S (2005) Cache aware optimization of stream programs. In: LCTES \u201905: proceedings of the 2005 ACM SIGPLAN\/SIGBED conference on languages, compilers, and tools for embedded systems. ACM Press, New York, pp 115\u2013126"},{"key":"656_CR41","volume-title":"OOPSLA \u201907: proceedings of the 2007 ACM SIGPLAN conference on object-oriented programming systems and applications","author":"JH Spring","year":"2007","unstructured":"Spring JH, Privat J, Guerraoui R, Vitek J (2007) StreamFlex: High-throughput stream programming in Java. In: OOPSLA \u201907: proceedings of the 2007 ACM SIGPLAN conference on object-oriented programming systems and applications"},{"key":"656_CR42","doi-asserted-by":"crossref","first-page":"491","DOI":"10.1007\/s002360050095","volume":"34","author":"R Stephens","year":"1997","unstructured":"Stephens R (1997) A survey of stream processing. Acta Inform 34:491\u2013541","journal-title":"Acta Inform"},{"key":"656_CR43","unstructured":"StreamIt research group (2006) StreamIt Cookbook. Online reference manual. Massachusetts Institute of Technology"},{"key":"656_CR44","unstructured":"StreamIt Web Site (2010) http:\/\/groups.csail.mit.edu\/cag\/streamit\/ , retrieved Dec 2010"},{"key":"656_CR45","unstructured":"Thies W (2009) Language and compiler support for stream programs. PhD thesis, Massachusetts Institute of Technology"},{"key":"656_CR46","volume-title":"PACT \u201910 proceedings of the 2010 conference on parallel architectures and compilation techniques","author":"W Thies","year":"2010","unstructured":"Thies W, Amarasinghe S (2010) An empirical characterization of stream programs and its implications for language and compiler design. In: PACT \u201910 proceedings of the 2010 conference on parallel architectures and compilation techniques. ACM Press, New York"},{"key":"656_CR47","series-title":"LNCS","first-page":"179","volume-title":"CC \u201902: proceedings of the 11th international conference on compiler construction","author":"W Thies","year":"2002","unstructured":"Thies W, Karczmarek M, Amarasinghe SP (2002) StreamIt: A Language for Streaming Applications. In: CC \u201902: proceedings of the 11th international conference on compiler construction, London, UK, LNCS. Springer, Berlin, pp 179\u2013196"},{"key":"656_CR48","volume-title":"CGO \u201909: proceedings of the 7th Annual IEEE\/ACM international symposium on code generation and optimization","author":"A Udupa","year":"2009","unstructured":"Udupa A, Govindarajan R, Thazhuthaveetil MJ (2009) Software pipelined execution of stream programs on GPUs. In: CGO \u201909: proceedings of the 7th Annual IEEE\/ACM international symposium on code generation and optimization. IEEE Computer Society Press, Los Alamitos"},{"key":"656_CR49","volume-title":"LCTES \u201909: proceedings of the 2009 ACM SIGPLAN\/SIGBED conference on languages, compilers, and tools for embedded systems","author":"A Udupa","year":"2009","unstructured":"Udupa A, Govindarajan R, Thazhuthaveetil MJ (2009) Synergistic execution of stream programs on multicores with accelerators. In: LCTES \u201909: proceedings of the 2009 ACM SIGPLAN\/SIGBED conference on languages, compilers, and tools for embedded systems"},{"key":"656_CR50","doi-asserted-by":"crossref","first-page":"210","DOI":"10.1145\/1772954.1772984","volume-title":"CGO \u201910: proceedings of the 8th annual IEEE\/ACM international symposium on code generation and optimization","author":"H Wei","year":"2010","unstructured":"Wei H, Yu J, Yu H, Gao GR (2010) Minimizing communication in rate-optimal software pipelining for stream programs. In: CGO \u201910: proceedings of the 8th annual IEEE\/ACM international symposium on code generation and optimization. ACM Press, New York, pp 210\u2013217"},{"issue":"2","key":"656_CR51","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1145\/1399972.1399978","volume":"36","author":"D Zhang","year":"2008","unstructured":"Zhang D, Li QJ, Rabbah R, Amarasinghe S (2008) A lightweight streaming layer for multicore execution. SIGARCH Comput Archit News 36(2):18\u201327","journal-title":"SIGARCH Comput Archit News"},{"key":"656_CR52","series-title":"LNCS","volume-title":"SAMOS \u201905: proceedings of the 2005 international conference on embedded computer systems: architectures, modeling, and simulation","author":"D Zhang","year":"2005","unstructured":"Zhang D, Li Z, Song H, Liu L (2005) A programming model for an embedded media processing architecture. In: SAMOS \u201905: proceedings of the 2005 international conference on embedded computer systems: architectures, modeling, and simulation, LNCS. Springer, Berlin"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-011-0656-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11227-011-0656-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-011-0656-7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,13]],"date-time":"2019-06-13T16:44:00Z","timestamp":1560444240000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11227-011-0656-7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011,8,2]]},"references-count":52,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2012,7]]}},"alternative-id":["656"],"URL":"https:\/\/doi.org\/10.1007\/s11227-011-0656-7","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"value":"0920-8542","type":"print"},{"value":"1573-0484","type":"electronic"}],"subject":[],"published":{"date-parts":[[2011,8,2]]}}}