{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,1]],"date-time":"2026-05-01T22:43:31Z","timestamp":1777675411287,"version":"3.51.4"},"reference-count":27,"publisher":"SAGE Publications","issue":"5","license":[{"start":{"date-parts":[[2017,12,20]],"date-time":"2017-12-20T00:00:00Z","timestamp":1513728000000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.sagepub.com\/licence-information-for-chorus"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CNS-0751212"],"award-info":[{"award-number":["CNS-0751212"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CNS-0905368"],"award-info":[{"award-number":["CNS-0905368"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000051","name":"National Human Genome Research Institute","doi-asserted-by":"publisher","award":["R42 HG003225"],"award-info":[{"award-number":["R42 HG003225"]}],"id":[{"id":"10.13039\/100000051","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2017,9]]},"abstract":"<jats:p>Stream computing is a popular paradigm for parallel and distributed computing, where compute nodes are connected by first-in first-out data channels. Each channel can be considered as a concatenation of several data buffers, including an output buffer for the sender and an input buffer for the receiver. The configuration of buffer sizes impacts the performance as well as the correctness of the application. In this article, we focus on application deadlocks that are caused by incorrect configuration of buffer sizes. We describe three types of deadlock in streaming applications, categorized by how they can be created. To avoid them, we first prove necessary and sufficient conditions for deadlock-free computations; then based on the theorems, we propose both compile-time and runtime solutions for deadlock avoidance.<\/jats:p>","DOI":"10.1177\/1094342016675679","type":"journal-article","created":{"date-parts":[[2017,8,23]],"date-time":"2017-08-23T05:59:24Z","timestamp":1503467964000},"page":"441-450","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":3,"title":["Deadlock-free buffer configuration for stream computing"],"prefix":"10.1177","volume":"31","author":[{"given":"Peng","family":"Li","sequence":"first","affiliation":[{"name":"Deptartment of Computer Science and Engineering, Washington University in St Louis, St Louis, MO, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jonathan C","family":"Beard","sequence":"additional","affiliation":[{"name":"Deptartment of Computer Science and Engineering, Washington University in St Louis, St Louis, MO, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jeremy D","family":"Buhler","sequence":"additional","affiliation":[{"name":"Deptartment of Computer Science and Engineering, Washington University in St Louis, St Louis, MO, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"179","published-online":{"date-parts":[[2016,12,20]]},"reference":[{"key":"bibr1-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2013.49"},{"key":"bibr2-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/ICASSP.1993.319147"},{"key":"bibr3-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/ACSSC.1994.471505"},{"key":"bibr4-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/2145816.2145846"},{"key":"bibr5-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/800220.806693"},{"key":"bibr6-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/357360.357365"},{"key":"bibr7-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/71.219761"},{"key":"bibr8-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1987.1676939"},{"key":"bibr9-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/71.250114"},{"key":"bibr10-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/367766.368168"},{"key":"bibr11-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807139"},{"key":"bibr12-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/2528412"},{"key":"bibr13-1094342016675679","first-page":"471","volume-title":"IFIP Congress","author":"Kahn G","year":"1974"},{"key":"bibr14-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1007\/BF01150855"},{"key":"bibr15-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1987.5009446"},{"key":"bibr16-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/PROC.1987.13876"},{"key":"bibr17-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/PADSW.2014.7097925"},{"key":"bibr18-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/1810479.1810526"},{"key":"bibr19-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2010.5540957"},{"key":"bibr20-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/2712386.2712403"},{"key":"bibr21-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/DFM.2013.11"},{"key":"bibr22-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1007\/BF01245327"},{"key":"bibr23-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/2287076.2287117"},{"key":"bibr24-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1109\/ASPDAC.2004.1337553"},{"key":"bibr25-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/321105.321107"},{"key":"bibr26-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1080\/00401706.1962.10490022"},{"key":"bibr27-1094342016675679","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522737"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342016675679","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/full-xml\/10.1177\/1094342016675679","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342016675679","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342016675679","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T08:15:28Z","timestamp":1777450528000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342016675679"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,12,20]]},"references-count":27,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2017,9]]}},"alternative-id":["10.1177\/1094342016675679"],"URL":"https:\/\/doi.org\/10.1177\/1094342016675679","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"value":"1094-3420","type":"print"},{"value":"1741-2846","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,12,20]]}}}