{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,8,8]],"date-time":"2024-08-08T19:40:07Z","timestamp":1723146007091},"reference-count":0,"publisher":"Wiley","issue":"2","license":[{"start":{"date-parts":[[2000,1,1]],"date-time":"2000-01-01T00:00:00Z","timestamp":946684800000},"content-version":"vor","delay-in-days":1376,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Scientific Programming"],"published-print":{"date-parts":[[1997,1]]},"abstract":"<jats:p>Research on programming distributed memory multiprocessors has resulted in a well\u2010understood programming model, namely data\u2010parallel programming. However, data\u2010parallel programming in a multithreaded environment is far less understood. For example, if multiple threads within the same process belong to different data\u2010parallel computations, then the architecture, compiler, or run\u2010time system must ensure that relative indexing and collective operations are handled properly and efficiently. We introduce a run\u2010time\u2010based solution for data\u2010parallel programming in a distributed memory environment that handles the problems of relative indexing and collective communications among thread groups. As a result, the data\u2010parallel programming model can now be executed in a multithreaded environment, such as a system using threads to support both task and data parallelism.<\/jats:p>","DOI":"10.1155\/1997\/901027","type":"journal-article","created":{"date-parts":[[2015,1,12]],"date-time":"2015-01-12T14:15:20Z","timestamp":1421072120000},"page":"187-200","source":"Crossref","is-referenced-by-count":0,"title":["Data\u2010Parallel Programming in a Multithreaded Environment"],"prefix":"10.1155","volume":"6","author":[{"given":"Matthew","family":"Haines","sequence":"first","affiliation":[]},{"given":"Piyush","family":"Mehrotra","sequence":"additional","affiliation":[]},{"given":"David","family":"Cronk","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[1996,3,26]]},"container-title":["Scientific Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/downloads.hindawi.com\/journals\/sp\/1997\/901027.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1155\/1997\/901027","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,8,8]],"date-time":"2024-08-08T18:55:43Z","timestamp":1723143343000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1155\/1997\/901027"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1996,3,26]]},"references-count":0,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1997,1]]}},"alternative-id":["10.1155\/1997\/901027"],"URL":"https:\/\/doi.org\/10.1155\/1997\/901027","archive":["Portico"],"relation":{},"ISSN":["1058-9244","1875-919X"],"issn-type":[{"type":"print","value":"1058-9244"},{"type":"electronic","value":"1875-919X"}],"subject":[],"published":{"date-parts":[[1996,3,26]]}}}