{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,6,19]],"date-time":"2024-06-19T14:32:43Z","timestamp":1718807563147},"reference-count":47,"publisher":"Association for Computing Machinery (ACM)","issue":"2","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[1995,3]]},"abstract":"Compiling for distributed-memory machines has been a very active research area in recent years. Much of this work has concentrated on programs that use arrays as their primary data structures. To date, little work has been done to address the problem of supporting programs that use pointer-based dynamic data structures. The techniques developed for supporting SPMD execution of array-based programs rely on the fact that arrays are statically defined and directly addressable. Recursive data structures do not have these properties, so new techniques must be developed. In this article, we describe an execution model for supporting programs that use pointer-based dynamic data structures. This model uses a simple mechanism for migrating a thread of control based on the layout of heap-allocated data and introduces parallelism using a technique based on futures and lazy task creation. We intend to exploit this execution model using compiler analyses and automatic parallelization techniques. We have implemented a prototype system, which we callOlden<\/jats:italic>, that runs on the Intel iPSC\/860 and the Thinking Machines CM-5. We discuss our implementation and report on experiments with five benchmarks.<\/jats:p>","DOI":"10.1145\/201059.201065","type":"journal-article","created":{"date-parts":[[2002,10,7]],"date-time":"2002-10-07T13:52:47Z","timestamp":1033998767000},"page":"233-263","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":197,"title":["Supporting dynamic data structures on distributed-memory machines"],"prefix":"10.1145","volume":"17","author":[{"given":"Anne","family":"Rogers","sequence":"first","affiliation":[{"name":"Princeton Univ., Princeton, NJ"}]},{"given":"Martin C.","family":"Carlisle","sequence":"additional","affiliation":[{"name":"Princeton Univ., Princeton, NJ"}]},{"given":"John H.","family":"Reppy","sequence":"additional","affiliation":[{"name":"AT&T Bell Labs, Murray Hill, NJ"}]},{"given":"Laurie J.","family":"Hendren","sequence":"additional","affiliation":[{"name":"McGill Univ., Montreal, P.Q., Canada"}]}],"member":"320","published-online":{"date-parts":[[1995,3]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/29873.29875"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/0743-7315(88)90015-9"},{"key":"e_1_2_1_3_1","first-page":"126","volume-title":"M 1993. Communication optimization and code generation for distributed memory machines. In Proceedings of the SIGPLAN '93 Conference on Programming Language Design and Implementation. ACM","author":"AMARASINGHE S."},{"key":"e_1_2_1_4_1","first-page":"112","volume-title":"Proceedings of the SIGPLAN '93 Conference on Programming Language Deszgn and Implementation. ACM","author":"AND N~ J","year":"1993"},{"key":"e_1_2_1_5_1","first-page":"96","volume-title":"Proceedings of the ~th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM","author":"APPEL A.","year":"1991"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.126768"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1137\/0218014"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/362375.362379"},{"key":"e_1_2_1_9_1","doi-asserted-by":"crossref","first-page":"2","DOI":"10.1007\/BF00128175","article-title":"Compiling programs for distributed-memory multiprocessors","volume":"2","author":"CALLAHAN D.","year":"1988","journal-title":"J. Supercomput."},{"key":"e_1_2_1_10_1","first-page":"1","volume-title":"Eds. Lecture Notes in Computer Science","volume":"768","author":"CARLISLE M.","year":"1994"},{"key":"e_1_2_1_11_1","first-page":"236","volume-title":"Conference Record of the 13th Annual A CM Symposium on Principles of Programming Languages. ACM","author":"CARRIERO IN.","year":"1986"},{"key":"e_1_2_1_12_1","doi-asserted-by":"crossref","first-page":"147","DOI":"10.1145\/74850.74865","volume-title":"Proceedings of the 12th ACM Symposium on Operating Systems Principles. ACM","author":"CHASE J.","year":"1989"},{"key":"e_1_2_1_14_1","unstructured":"CORMEN W. LEISERSON C. AND RIVEST R. 1989. Introduction to Algorithms. McGraw-Hill New York. CORMEN W. LEISERSON C. AND RIVEST R. 1989. Introduction to Algorithms. McGraw-Hill New York."},{"key":"e_1_2_1_15_1","first-page":"262","volume-title":"Proceedings of Supercomputing 93","author":"CULLER D. E.","year":"1993"},{"key":"e_1_2_1_16_1","unstructured":"FRASER C. W. AND HANSON D. R. 1995. A Retargetable C Compiler: Design and Implementation. Benjamin\/Cummings Redwood City Ca. FRASER C. W. AND HANSON D. R. 1995. A Retargetable C Compiler: Design and Implementation. Benjamin\/Cummings Redwood City Ca."},{"key":"e_1_2_1_17_1","unstructured":"GERNDT M. 1990. Automatic parallelization for distributed-memory multiprocessing systems. Ph. D. thesis University of Bonn. GERNDT M. 1990. Automatic parallelization for distributed-memory multiprocessing systems. Ph. D. thesis University of Bonn."},{"key":"e_1_2_1_18_1","first-page":"74","article-title":"General subdivisions and voronoi diagrams. A CM","volume":"2","author":"STOLFI J.","year":"1985","journal-title":"Trans. Graph. g"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 1992 International Conference on Computer Languages. IEEE Computer Society Press, Los Alamitos, Ca., 232-241","author":"GUPTA R.","year":"1992"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/4472.4478"},{"key":"e_1_2_1_21_1","doi-asserted-by":"crossref","unstructured":"HENDREN L. J. 1990. Parallelizing programs with recursive data structures. Ph.D. thesis Cornell University Ithaca N.Y. HENDREN L. J. 1990. Parallelizing programs with recursive data structures. Ph.D. thesis Cornell University Ithaca N.Y.","DOI":"10.1145\/318789.318812"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.80123"},{"key":"e_1_2_1_23_1","first-page":"249","volume-title":"Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation. ACM","author":"HENDREN L. J.","year":"1992"},{"key":"e_1_2_1_24_1","first-page":"86","volume-title":"Proceedings of Supercomputing 91","author":"HIRANANDANI S.","year":"1991"},{"key":"e_1_2_1_26_1","first-page":"101","volume-title":"Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation. ACM","author":"HORWAT W.","year":"1989"},{"key":"e_1_2_1_27_1","first-page":"239","volume-title":"Proceedings of the gth A CM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM","author":"SIEH W.","year":"1993"},{"key":"e_1_2_1_28_1","first-page":"243","volume-title":"Conference Record of the 13th Annual ACM Symposium on PmnczpIes of Programm~?zg Languages. ACM","author":"UDAK P.","year":"1986"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/35037.42182"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/169627.169806"},{"key":"e_1_2_1_31_1","first-page":"3","article-title":"Probabilistic analysis of partitioning algorithms for the traveling-saleman problem in the plane","volume":"2","author":"I~ARP","year":"1977","journal-title":"Math. Oper. Res."},{"key":"e_1_2_1_32_1","unstructured":"KOELBEL C. 1990. Compiling programs for nonshared memory machines. Ph.D. thesis Purdue University West Lafayette Ind. KOELBEL C. 1990. Compiling programs for nonshared memory machines. Ph.D. thesis Purdue University West Lafayette Ind."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01806061"},{"key":"e_1_2_1_34_1","unstructured":"LARU$ J. R. 1989. Restructuring symbolic programs for concurrent execution on multiprocessors. Ph. D. thesis University of California Berkeley. LARU$ J. R. 1989. Restructuring symbolic programs for concurrent execution on multiprocessors. Ph. D. thesis University of California Berkeley."},{"key":"e_1_2_1_35_1","first-page":"21","volume-title":"Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation. ACM","author":"LARUS J. R.","year":"1988"},{"key":"e_1_2_1_36_1","first-page":"100","volume-title":"Proceedings of the ACM\/SIGPLAN PPEALS 1988 Parallel Programming\" Expemencs with Applications, Languages and Systems. ACM","author":"ARUS~ J. R.","year":"1988"},{"issue":"3","key":"e_1_2_1_37_1","doi-asserted-by":"crossref","first-page":"219","DOI":"10.1007\/BF00977785","article-title":"Two algorighms for constructing a delaunay triangulation","volume":"9","author":"LEE D. W.","year":"1980","journal-title":"Int. J. Comput. Inf. Sci."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/169627.169718"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.86103"},{"key":"e_1_2_1_40_1","unstructured":"M\/JLLER J. 1993. Parallelverarbeitung auf workstation-clustern mlttels express und networklinda. Diplomarbeit in Elektrotedanik RWTH-Aachen. M\/JLLER J. 1993. Parallelverarbeitung auf workstation-clustern mlttels express und networklinda. Diplomarbeit in Elektrotedanik RWTH-Aachen."},{"key":"e_1_2_1_41_1","volume-title":"Proeeed~ngs of the 7th Ann~aI Workshop on Languages and Compilers for Parallel Computzng, Dept. of Computer Science","author":"NIK L, R","year":"1994"},{"key":"e_1_2_1_42_1","unstructured":"ROBERTS E. S. AND VANDEVOORDE ~I. T. 1989. WorkCrews: An abstraction for controlling parallelism. Tech. Rap. 42 DEC Systems Research Center Palo Alto Ca. April. ROBERTS E. S. AND VANDEVOORDE ~I. T. 1989. WorkCrews: An abstraction for controlling parallelism. Tech. Rap. 42 DEC Systems Research Center Palo Alto Ca. April."},{"key":"e_1_2_1_43_1","first-page":"69","volume-title":"Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementatzon. ACM","author":"ROGERS A.","year":"1989"},{"key":"e_1_2_1_44_1","volume-title":"Languages and Compzlers for Parallel Machines: 5th InternatzonaI WorJcshop, U. BANEI:IJEE, D. (~ELERNTER, x~","author":"ROGERS A"},{"key":"e_1_2_1_45_1","first-page":"297","volume-title":"Proceedings of the 6th Internatzonal Conference on Architectural Support for Programming Languages and Operatzng Systems. ACM","author":"SCHO~NAS I.","year":"1994"},{"key":"e_1_2_1_46_1","first-page":"256","volume-title":"N. E 1992. Active messages: A mechanism for integrating communication and computation. In Proceedings of the 19~h Annual International Symposium on Computer ArchitectrLre. ACM","author":"VON F~ICKEN T"},{"key":"e_1_2_1_47_1","unstructured":"WEII-m W. BREWER E. COLBROOK A. DELLAROCAS C. HSIEH W. JOSEPH A. WALD- SPURGER C. AND \\~ANG t}. 1991. Prelude: A system for portable parallel software. MIT\/LCS 519 Massachusetts Institute of Technology Cambridge Mass. WEII-m W. BREWER E. COLBROOK A. DELLAROCAS C. HSIEH W. JOSEPH A. WALD- SPURGER C. AND \\~ANG t}. 1991. Prelude: A system for portable parallel software. MIT\/LCS 519 Massachusetts Institute of Technology Cambridge Mass."},{"key":"e_1_2_1_48_1","volume-title":"M 1989. Optimizing Supercompilers :for Supercomputers. Pitman Publishing","author":"WOLFE"},{"issue":"1","key":"e_1_2_1_49_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/0167-8191(88)90002-6","article-title":"SUPERB: A tool for semi-automatic MIMD\/SIMD parallelizatlon","volume":"6","author":"ZIMA H.","year":"1988","journal-title":"Parallel Comput."}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/201059.201065","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,4,24]],"date-time":"2023-04-24T20:08:28Z","timestamp":1682366908000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/201059.201065"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1995,3]]},"references-count":47,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1995,3]]}},"alternative-id":["10.1145\/201059.201065"],"URL":"https:\/\/doi.org\/10.1145\/201059.201065","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"value":"0164-0925","type":"print"},{"value":"1558-4593","type":"electronic"}],"subject":[],"published":{"date-parts":[[1995,3]]},"assertion":[{"value":"1995-03-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}