home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / compiler / 2072 < prev    next >
Encoding:
Internet Message Format  |  1992-12-31  |  34.1 KB

  1. Path: sparky!uunet!spool.mu.edu!wupost!emory!ogicse!das-news.harvard.edu!spdcc!iecc!compilers-sender
  2. From: paster@dna.lth.se (Christian S. Collberg)
  3. Newsgroups: comp.compilers
  4. Subject: Parallelizing Compilers (Summary)
  5. Keywords: parallel, architecture, bibliography, summary
  6. Message-ID: <92-12-105@comp.compilers>
  7. Date: 31 Dec 92 10:32:26 GMT
  8. Article-I.D.: comp.92-12-105
  9. References: <92-11-118@comp.compilers>
  10. Sender: compilers-sender@iecc.cambridge.ma.us
  11. Reply-To: paster@dna.lth.se (Christian S. Collberg)
  12. Organization: Department of Computer Science, Lund University
  13. Lines: 1013
  14. Approved: compilers@iecc.cambridge.ma.us
  15.  
  16. Here is a (belated) summary of the replies I received to my request for
  17. information on parallelizing compilers. Thanks to the following people who
  18. provided information:
  19.  
  20.       Simon N Smith <Simon.N.Smith@computing-maths.cardiff.ac.uk>
  21.       nadkarni@cse.uta.edu (Sachit R. Nadkarni)
  22.       Qiang Alex Zhao <azhao@cs.arizona.edu>
  23.       maniattb@cs.rpi.edu
  24.       lorie@cs.rice.edu (Lorie Liebrock)
  25.       subhas@cs.wm.edu (Subhas Roy)
  26.       Christian Lengauer <lengauer@fmi.uni-passau.de>
  27.       Joe Hummel <jhummel@esp.ICS.UCI.EDU>
  28.       dcp79807@csie.nctu.edu.tw
  29.       good@enuxha.eas.asu.edu (David R. Good)
  30.       Jean-Louis.Pazat@irisa.fr (Jean Louis Pazat)
  31.       kremer@cs.rice.edu (Uli Kremer)
  32.       kumar@cat.syr.edu (Pankaj Kumar)
  33.       <J.C.Highfield@lut.ac.uk>
  34.       lilja@everest.ee.umn.edu (David Lilja)
  35.       chialing@iti.gov.sg (Lee Chia Ling)
  36.       Rudi Hackenberg <hackenbe@informatik.tu-muenchen.de>
  37.       Gholamali Hedayat (JRG ra) <gholam@cs.man.ac.uk>
  38.       cch@dcs.edinburgh.ac.uk
  39.       Suresh Damodaran Kamal <skd@cacs.usl.edu>
  40.       Steven Collins <scollins@lookout.it.uswc.uswest.com>
  41.       paco@cs.rice.edu (Paul Havlak)
  42.       Ramakumar Kosuru <kosuru@point.cs.uwm.edu>
  43.       wismuell@Informatik.TU-Muenchen.DE (Roland Wismueller)
  44.       Roger Peel <R.Peel@ee.surrey.ac.uk>
  45.  
  46. Here's the original request:
  47.  
  48. |> I have found lots of articles on vectorizing compilers. I have not, 
  49. |> however, been able to find any information on compilers which try to
  50. |> discover parallelizable code and then attempt to map it to processes 
  51. |> on a distributed memory machine. Can someone help me to find the
  52. |> relevant references?
  53.  
  54. And here are the replies. The first section contains concrete
  55. bibliographic references, mostly in BibTeX format. I have not checked for
  56. duplicates. The subsequent sections contain general comments. They have
  57. been edited down for brevity.
  58.  
  59. ---------------------------------------------------------------------------
  60.  
  61. "Compile Time Techniques for Data Distribution in Distributed Memory
  62. Machines," Ramanujam and Sadayappan, IEEE PDS, vol2,No.4, October 1991.
  63.  
  64. /A/ Chapman, B. M.
  65. /A/ Herbeck, H.
  66. /A/ Zima, H. P.
  67. Automatic Support for Data Distribution
  68. Proceedings of the Sixth Distributed Memory Computing Conference, April 28 -
  69. May 1, 1991, Portland, Oregon, IEEE Computer Society Press, 51-57
  70.  
  71.  
  72. /A/ Zima, H. P.
  73. /A/ Bast, H. J.
  74. /A/ Gerndt M.
  75. SUPERB: A tool for semi-automatic MIMD/SIMD parallelization
  76. Parallel Computing, No. 6, 1988, 1-18
  77.  
  78.  
  79. /A/ Gerndt, M.
  80. Parallelization of Multigrid Programs in SUPERB
  81. Proc. of the International Workshop on Compilers for Parallel Computers,
  82. Dec. 3-5, 1990, Paris, France, 347 - 356
  83.  
  84. On the Serialisation of Parallel Programs
  85. P.H. Welch & G.R.R. Justo,
  86. in "Occam and the Transputer - Current Developments",
  87. (proceedings of the 14th World Occam and Transputer User Group 
  88. Technical Meeting, Loughborough, September 1991).
  89. J. Edwards (ed),
  90. IOS Press (Amsterdam) 1991.
  91. ISBN 90 5199 063 4
  92.  
  93.     @InProceedings{Parafrase2,
  94.         Author = {C. Polychronopoulos and M. Girkar and M. Haghighat
  95.                 and C. Lee and B. Leung and D. Schouten},
  96.         Title = {The structure of {Parafrase-2}:  An advanced
  97.                 parallelizing compiler for {C} and {Fortran}},
  98.         BookTitle = LCPC,
  99.         Editor = {D. Gelernter and A. Nicolau and D. Padua},
  100.         Year = 1990,
  101.         Publisher = MIT-P}
  102.  
  103.     @InCollection{ABCC:Overview,
  104.         Author={F. Allen and M. Burke and P. Charles and R. Cytron and 
  105.         J. Ferrante},
  106.         Title={An Overview of the {PTRAN} Analysis System for Multiprocessing},
  107.         BookTitle={Proceedings of the First
  108.                 International Conference on Supercomputing},
  109.         Publisher={Springer-Verlag},
  110.         Address={Athens, Greece},
  111.         Year={1987}}
  112.  
  113.     @Article{AlKe:Automatic,
  114.         Author = {J. R. Allen and K. Kennedy},
  115.         Title = {Automatic Translation of {Fortran} Programs to Vector Form},
  116.         Journal = TOPLAS,
  117.         Volume = 9,
  118.         Number = 4,
  119.         Pages = {491--542},
  120.         Month = Oct,
  121.         Year = 1987}
  122.  
  123.     @InProceedings{AlCK:Automatic,
  124.         Author = {J. R. Allen and D. Callahan and K. Kennedy},
  125.         Title = {Automatic Decomposition of Scientific
  126.                 Programs for Parallel Execution},
  127.         BookTitle = POPL87,
  128.         Address = {Munich, Germany},
  129.         Month = Jan,
  130.         Year = 1987}
  131.  
  132.     @string {JOS = "The Journal of Supercomputing"}
  133.  
  134.     @Article{Hend:PTOOL,
  135.         Author = {L. Henderson and R. Hiromoto and O. Lubeck and M. Simmons},
  136.         Title = {On The Use of Diagnostic Dependency-Analysis Tools in
  137.         Parallel Programming: Experiences Using {PTOOL}},
  138.         Journal = JOS,
  139.         Volume = 4,
  140.         Pages = {83-96},
  141.         Year = 1990}
  142.  
  143.     @string {TOPDS = "{IEEE} Transactions on Parallel and 
  144.         Distributed Systems"}
  145.  
  146.     @Article{PEDJ2,
  147.         Author = {K. Kennedy and K. S. McKinley and C. Tseng},
  148.         Title = {Interactive Parallel Programming Using the
  149.         {ParaScope Editor}},
  150.         Journal = TOPDS,
  151.         Volume = 2,
  152.         Number = 3,
  153.         Pages = {329--341},
  154.         Month = Jul,
  155.         Year = 1991}
  156.  
  157.     @string {ICS91 = "Proceedings of the 1991 ACM International Conference
  158.                 on Supercomputing"}
  159.  
  160.     @InProceedings{KMT:A+T2,
  161.         Author = {K. Kennedy and K. S. McKinley and C. Tseng},
  162.         Title = {Analysis and Transformation in the {ParaScope Editor}},
  163.         BookTitle = ICS91,
  164.         Address = Cologne,
  165.         Month = Jun,
  166.         Year = 1991}
  167.  
  168.     @string {LCPC91 = "Proceedings of the Fourth Workshop on Languages
  169.                 and Compilers for Parallel Computing"}
  170.  
  171.     @InProceedings{HKK:Overview,
  172.         Author = {S. Hiranandani and K. Kennedy and C. Koelbel
  173.                 and U. Kremer and C. Tseng},
  174.         Title = {An Overview of the {Fortran D} Programming System},
  175.         BookTitle = LCPC91,
  176.         Address = SC,
  177.         Month = Aug,
  178.         Year = 1991}
  179.  
  180.     @InCollection{HKT:icase,
  181.         Author = {S. Hiranandani and K. Kennedy and C. Tseng},
  182.         Title = {Compiler Support for Machine-Independent Parallel
  183.                 Programming in {Fortran D}},
  184.         BookTitle = {Compilers and Runtime Software for Scalable 
  185.         Multiprocessors},
  186.         Editor = {J. Saltz and P. Mehrotra},
  187.         Publisher = {Elsevier},
  188.         Address = Amsterdam,
  189.         Year = {to appear 1991}}
  190.  
  191.     @string {SC91 = "Proceedings of Supercomputing '91"}
  192.  
  193.     Proceedings{HKT:SC91,
  194.     Author = {S. Hiranandani and K. Kennedy and C. Tseng},
  195.     Title = {Compiler Optimizations for {Fortran D} on {MIMD}
  196.             Distributed-Memory Machines},
  197.     BookTitle = SC91,
  198.     Address = Albuquerque,
  199.     Month = Nov,
  200.     Year = 1991}
  201.  
  202. @Article{Nickhil89,
  203.   author =     "A. S. Nickhil and R. S. Nickhil and K. K. Pingali",
  204.   title =     "{I}-structures: Data Structures for Parallel Computing",
  205.   journal =     "ACM trans. on Programming Languages and Systems",
  206.   year =     "1989",
  207.   volume =      "11",
  208.   number =     "4",
  209.   pages =     "598--632"
  210. }
  211. @InProceedings{Rogers89,
  212.   author =     "A. Rogers and K. Pingali",
  213.   title =     "Process Decomposition Through Locality of Reference",
  214.   booktitle =     "Conference on Programming Language Design
  215.       and Implementation",
  216.   year =     "1989",
  217.   pages =     "69--80",
  218.   organization =     "ACM",
  219.   month =     "June 21--23"
  220. }
  221.  
  222. @TechReport{Reeves89,
  223.   author =     "A. P. Reeves",
  224.   title =     "Paragon: A Programming Paradigm for Multicomputer Systems",
  225.   institution =     "Cornell University",
  226.   year =     "1989",
  227.   number =     "EE-CEG-89-3",
  228.   month =     "January"
  229. }
  230. @TechReport{Reeves89b,
  231.   author =     "A. L. Cheung and A. P. Reeves",
  232.   title =  "The Paragon Multicomputer Environment: A First Implementation",
  233.   institution =     "Cornell University",
  234.   year =     "1989",
  235.   number =     "EE-CEG-89-9",
  236.   month =     "July"
  237. }
  238. @TechReport{Reeves90,
  239.   author =     "A. P. Reeves",
  240.   title =     "The Paragon Programming Paradigm and Distributed
  241.          Memory Multicomputers",
  242.   institution =     "Cornell University",
  243.   year =     "1990",
  244.   number =     "EE-CEG-90-7",
  245.   month =     "June"
  246. }
  247.  
  248. @article{Hatcher88,
  249.     AUTHOR=    "M. J. Quinn and P. J. Hatcher and K. C. Jourdenais",    
  250.     TITLE =    "Compiling {C}$^*$ Programs for a Hypercube Multicomputer",
  251.         BOOKTITLE="ICCL90",
  252.     YEAR=    1990
  253.     }
  254. @InProceedings{Hatcher90,
  255.   author =     "M. J. Quinn and P. J. Hatcher",    
  256.   title =     "Compiling {SIMD} Programs for {MIMD} Architectures",
  257.   booktitle =     "ACM Sigplan (PPEALS)",
  258.   year =     "1990",
  259.   OPTpages =     "57--65"
  260.   }
  261. @article{Hatcher90b,
  262.     AUTHOR=    "M. J. Quinn and P. J. Hatcher",    
  263.     TITLE =    "Data Parallel Programming on Multicomputers",
  264.     JOURNAL="IEEE Trans. on Software Engineering",
  265.         volume= " ",
  266.         number= " ",
  267.     YEAR=    1990,
  268.         month=  "September"
  269.     }
  270.  
  271. @InProceedings{Rosing88,
  272.   author =      "M. Rosing and R. B. Schnabel and R. Weaver",
  273.   title =       "Dino: Summary and Examples",
  274.   booktitle =   "3' Conference on Hypercubes Concurrent Computers and 
  275.                  Applications",
  276.   year =        "1988",
  277.   pages =       "472--481"
  278. }
  279. @inproceedings{Rosing90,
  280.     AUTHOR=    "M. Rosing and R. P. Weaver",
  281.     TITLE =    "Mapping Data to Processors in Distributed Memory
  282.         Computations",
  283.     BOOKTITLE= "5' International Conference on Distributed Memory
  284.         Computing", 
  285.     YEAR=    1990,    
  286.     month=    "April"
  287.     }
  288. @techreport{Rosing90b,
  289.     AUTHOR=    "M. Rosing and R. B. Schnabel and R. P. Weaver",
  290.     TITLE =    "The {DINO} Parallel Programming Language",        
  291.     INSTITUTION=    "University of Colorado at Boulder",
  292.     YEAR=        1990,
  293.     number=        "CU-CS-457-90"
  294.     }
  295. @techreport{Rosing92,
  296.     AUTHOR=    "M. Rosing and R. B. Schnabel",
  297.     TITLE =    "Efficient Language Constructs for Large Parallel
  298.          Programs - An Overview of Dino2",        
  299.     INSTITUTION=    "University of Colorado at Boulder",
  300.     YEAR=        1992,
  301.     number=        "CU-CS-578-92"
  302.     }
  303.  
  304. @techreport{Mehrotra89,
  305.     AUTHOR=    "P. Mehrotra and J. {Van Rosendale}",    
  306.     TITLE =    "Parallel Language Constructs for Tensor Product
  307.         Computations on Loosely Coupled Architectures",
  308.     INSTITUTION= "ICASE",
  309.     YEAR=    1989,
  310.     number=    "89-41",
  311.     month=    "September"
  312.     }
  313. %KALI90a
  314. @Techreport{Koelbel90, 
  315.   author =    "C. Koelbel and P. Mehrotra",
  316.   title =    "Supporting Shared Data Structures on Distributed Memory
  317.         Architectures", 
  318.   institution=    "Department of Computer Science, Purdue University",
  319.   year=        1990,
  320.   number=    "csd-tr 915"
  321. }
  322. % KALI90b
  323. @inproceedings{Koelbel90b,
  324.     AUTHOR=    "C. Koelbel and P. Mehrotra and J. Saltz and H. Berryman",
  325.     TITLE =    "Parallel Loops on Distributed Machines",
  326.     BOOKTITLE= "5' International Conference on Distributed Memory
  327.         Computing", 
  328.     YEAR=    1990,    
  329.     month=    "April"
  330.     }
  331. % KALI90c
  332. @techreport{Mehrotra90,
  333.     AUTHOR=    "P. Mehrotra, J. {Van Rosendale}",
  334.     TITLE =    "Programming Distributed Memory Architectures Using Kali",
  335.     INSTITUTION= "ICASE",
  336.     YEAR=    "1990",
  337.     number=    " ",
  338.     note=    "Draft"
  339.     }
  340. @article{Saltz90,
  341.     AUTHOR=    "J. Saltz and K. Crowley and R. Mirchandaney and H.
  342.         Berryman", 
  343.     TITLE =    "Run-Time Scheduling and Execution of Loops on Message
  344.         Passing Machines"    ,
  345.     JOURNAL="Journal of Parallel and Distributed Computing",
  346.     YEAR=    "1990",
  347.     volume=    8,
  348.     month=    "April"    
  349.     }
  350.  
  351. %Kennedy88,
  352. @article{Callahan88,
  353.     AUTHOR=    "D. Callahan and K. Kennedy",    
  354.     TITLE =    "Compiling Programs for Distributed-Memory Multiprocessors", 
  355.     JOURNAL="Journal of Supercomputing",
  356.     YEAR=    "1988",    
  357.     volume=    2,    
  358.     pages=    "151--169"
  359.     }
  360. @TechReport{FortranD91,
  361.   author =     "S. Hirananandani and K. Kennedy and C. Koelbel and U.Kremer
  362.                  and C-W. Tseng",
  363.   title =     "{An Overview of Fortran D Programming System}",
  364.   year =     "1991",
  365.   number =     "TR91121",
  366.   institution = "CRPC",
  367.   address =     "RICE University",
  368.   month =     "March"
  369. }
  370.  
  371. %SUPERB88,
  372. @Article{Zima88,
  373.   author =     "H. P. Zima and H.-J. Bast and M. Gerndt",
  374.   title =     "{SUPERB}: A Tool for Semi-Automatic {MIMD/SIMD}
  375.          Parallelization",
  376.   journal =     "Parallel Computing",
  377.   year =     "1988",
  378.   volume =      " ",
  379.   number =     "6",
  380.   pages =     "1-18"
  381. }
  382. @article{Gerndt90b,
  383.    author = {Michael Gerndt},
  384.    journal = {Concurrency Practice and Experience},
  385.    title = {Updating Distributed Variables in Local Computations},
  386.    year = {1990}
  387. }
  388. @TechReport{Vienna91,
  389.   author =     "B. Chapman and P. Mehrotra and H. Zima",
  390.   title =     "{Vienna Fortran: A Fortran Language Extension for
  391.          Distributed Memory Multiprocessors}",
  392.   institution = "ICASE",
  393.   year =     "1991",
  394.   number =     "91-72",
  395.   month =     "September"
  396. }
  397.  
  398. %BOOSTER90,
  399. @inproceedings{Paalvast90,
  400.     AUTHOR=    "E. M. Paalvast and A. J. {Van Gemund}",
  401.     TITLE =    "A Method for Parallel Program Generation with an
  402.         Application to the {\sl Booster} Language",
  403.     BOOKTITLE="International Conference on Supercomputing",
  404.     pages= "457--469",
  405.     YEAR=    1990,    
  406.     month=    "June"
  407.     }
  408. %Booster90b,
  409. @techreport{Paalvast90b,
  410.    author = "Edwin M.R. Paalvast and Leo C. Breebaart and Henk J. Sips",
  411.    address = "Delft University of Tecnology -- The Netherlands",
  412.    institution = "TNO Institute of applied science",
  413.    number = "90 ITI 1864",
  414.    title = "The {\sc {Booster}} Language: a User Language Reference",
  415.    year = "1990"
  416. }
  417.  
  418. @Misc{poster-ifip89,
  419.   author =     "Fran{\c c}oise Andr{\'e} and Henry Thomas",
  420.   title =     "{The Pandore System}",
  421.   howpublished =     "IFIP working conference on Decentralized Systems",
  422.   year =     "1989",
  423.   month =     "December",
  424.   note =     "Poster Presentation"
  425. }
  426.  
  427. @InProceedings{dmcc5-90,
  428.   author =     "Fran{\c c}oise Andr{\'e} and Jean-Louis Pazat and
  429.          Henry Thomas",
  430.   title =     "{Data Distribution with Pandore}",
  431.   booktitle =     "The Fifth Distributed Memory Computing Conference",
  432.   year =     "1990",
  433.   month =     "April"
  434. }
  435.  
  436. @TechReport{publi-inria90,
  437.   author =     "Fran{\c c}oise Andr\'{e} and Jean-Louis Pazat and
  438.          Henry Thomas",
  439.   title =     "{Pandore: A System to Manage Data Distribution}",
  440.   institution =     "INRIA",
  441.   year =     "1990",
  442.   type =     "Rapport de Recherche",
  443.   number =     "1195",
  444.   month =     "March"
  445. }
  446.  
  447. @TechReport{publi-interne90,
  448.   author =     "Fran{\c c}oise Andr\'{e} and Jean-Louis Pazat and
  449.          Henry Thomas",
  450.   title =     "{Pandore: A System to Manage Data Distribution}",
  451.   institution =     "IRISA",
  452.   year =     "1990",
  453.   number =     "519",
  454.   month =     "February"
  455. }
  456.  
  457.  
  458. @InProceedings{amsterdam90,
  459.   author =     "Fran{\c c}oise Andr\'{e} and Jean-Louis Pazat and
  460.          Henry Thomas",
  461.   title =     "{Pandore: A System to Manage Data Distribution}",
  462.   booktitle =     "International Conference on Supercomputing",
  463.   year =     "1990",
  464.   organization =     "ACM",
  465.   month =     "June 11-15"
  466. }
  467.  
  468. @InProceedings{amsterdam90b,
  469.   author =     "F. Andr\'{e} and J.L. Pazat and
  470.          H. Thomas",
  471.   title =     "{Pandore: A System to Manage Data Distribution}",
  472.   booktitle =     "International Conference on Supercomputing",
  473.   year =     "1990",
  474.   organization =     "ACM",
  475.   month =     "June 11-15"
  476. }
  477.  
  478.  
  479. @InProceedings{icase90,
  480.   author =     "Fran\c{c}oise Andr\'e and Jean-Louis Pazat and Henry Thomas",
  481.   title =     "{PANDORE}: A System to Manage Data Distribution",
  482.   booktitle =     "Workshop on Compiler for Distributed Memory Machines",
  483.   year =     "1990",
  484.   organization =     "ICASE (NASA Langley Research Center)",
  485.   month =     "May"
  486. }
  487.  
  488.  
  489. @InProceedings{paris90,
  490.   author =     "Fran\c{c}oise Andr\'e and Claude Jard and Jean-Louis Pazat 
  491.         and Henry Thomas", 
  492.   title =     "Data-driven Distribution of Programs",
  493.   booktitle =     "International Workshop on Compiler for Parallel Computers",
  494.   year =     "1990",
  495.   organization =     "Ecoles des Mines de Paris",
  496.   month =     "December"
  497. }
  498.  
  499.  
  500. @InProceedings{munich91,
  501.   author =     "Jean-Louis Pazat",
  502.   title =     "Code Generation for Data Parallel Programs on DMPCs",
  503.   booktitle =     "European Distributed Memory Computers Conference",
  504.   year =     "1991",
  505.   OPTorganization =     "",
  506.   OPTpublisher =     "",
  507.   OPTaddress =     "",
  508.   OPTmonth =     "April",
  509.   OPTnote =     ""
  510. }
  511.  
  512. @PhdThesis{hthomas91,
  513.   author =     "H. Thomas",
  514.   title =     "Une approche de la compilation de programmes
  515.          s\'{e}quentiels pour machines \`{a} m\'{e}moire
  516.          distribu\'{e}e",
  517.   school =     "IFSIC/Universit\'{e} de Rennes I",
  518.   year =     "1991",
  519.   month =     "June"
  520. }
  521.  
  522. @TechReport{publi-interne91,
  523.   author =     "Fran{\c c}oise Andr\'{e} and Olivier Ch\'{e}ron and
  524.                  Jean-Louis Pazat and Henry Thomas",
  525.   title =     "Efficient Code Generation for Distributed Memory Machines",
  526.   institution =     "IRISA",
  527.   year =     "1991",
  528.   number =     "596",
  529.   month =     "July"
  530. }
  531.  
  532.  
  533. @InProceedings{londres91,
  534.   author =      "Fran{\c c}oise Andr\'{e} and Olivier Ch\'{e}ron and
  535.                   Jean-Louis Pazat and Henry Thomas",
  536.   title =      "Efficient Code Generation for Distributed Memory Machines",
  537.   booktitle =      "Parallel Computing '91",
  538.   year =      "1992",
  539.   organization = "Parallel Computing Society",
  540.   publisher =    "Elsevier Science Publishers B.V.",
  541.   month =      "September"
  542. }
  543.  
  544. @TechReport{publi-interne92,
  545.   author =      "Fran{\c c}oise Andr\'{e} and Olivier Ch\'{e}ron and
  546.                  Jean-Louis Pazat",
  547.   title =       "Compiling Sequential Programs for Distributed Memory
  548.                  Parallel Computers with Pandore II",
  549.   institution = "IRISA/INRIA",
  550.   year =        "1992",
  551.   number =      "651",
  552.   month =       "April"
  553. }
  554.  
  555.  
  556. @phdthesis{Tseng89,
  557.     AUTHOR=    "P.-S. Tseng",
  558.     TITLE="A Parallelizing Compiler for Distributed-Memory Parallel
  559.            Computers",    
  560.     SCHOOL=    "CMU",    
  561.     YEAR=    1989    
  562.     }
  563. %POSC90,
  564. @inproceedings{Sarkar90,
  565.     AUTHOR=    "V. Sarkar and D. Cann",
  566.     TITLE =    "A Partitioning and Optimizing {{\large S}ISAL} Compiler",
  567.     BOOKTITLE="Int. Conf. on Supercomputing",
  568.     YEAR=    1990,    
  569.     pages=    "148--163",
  570.     month=    "June"
  571.     }
  572. %OXYGEN90,
  573. @inproceedings{Ruhl90,
  574.     AUTHOR=    "R. Ruhl and M. Annaratone",
  575.     TITLE =    "Parallelization of {FORTRAN} {C}ode on Distributed
  576.          Memory Parallel Processors",
  577.     BOOKTITLE="Int. Conf. on Supercomputing",
  578.     pages= "342--353",
  579.     YEAR=    1990,    
  580.     month=    "June"
  581.     }
  582. %ASPAR90,
  583. @inproceedings{Ikudome90,
  584.     AUTHOR=    "K. Ikudome and G. C. Fox and A. Kolawa and J. W. Flower",
  585.     TITLE =    "An Automatic and Symbolic Parallelization System for
  586.         Distributed Memory Parallel Computers",
  587.     BOOKTITLE="5' Distributed Memory Computing Conference",
  588.     YEAR=    1990,    
  589.     month=    "April"
  590.     }
  591. %SPOT90,
  592. @inproceedings{Socha90,
  593.     AUTHOR=    "D. G. Socha",
  594.     TITLE =    "An Approach to Compiling Single-point Iterative Programs
  595.         for Distributed Memory Computers",
  596.     BOOKTITLE="5' Distributed Memory Computing Conference",
  597.     YEAR=    1990,    
  598.     month=    "April"
  599.     }
  600. %HYPERTASKING90,
  601. @inproceedings{Barber90,
  602.     AUTHOR=    "M. Barber",
  603.     TITLE =    "Hypertasking: Automatic Data Parallel Domain Decomposition
  604.         on the Intel Supercomputer",
  605.     BOOKTITLE="5' Distributed Memory Computing Conference",
  606.     YEAR=    1990,    
  607.     month=    "April"
  608.     }
  609. %MIMDIZER90,
  610. @inproceedings{Sawdayi90,
  611.     AUTHOR=    "R. Sawdayi and G. Wagenbreth and J. Williamson",
  612.     TITLE =    "{MIMD}izer: Functional and Data Decomposition; Creating
  613.         Parallel Programs from Scratch, Transforming Existing Fortran
  614.          Programs to Parallel ",
  615.     BOOKTITLE="Icase Workshop",
  616.     YEAR=    1990,
  617.     month=    "May"
  618.     }
  619.  
  620.  
  621. @InProceedings{pri92a,
  622.   author =      "T. Priol and Z. Lahjomri",
  623.   title =       "Experiments With Shared Virtual Memory and
  624.                  Message-Passing on iPSC/2 Hypercube",
  625.   booktitle =   "International Conference on Parallel Processing",
  626.   year =        "1992",
  627.   pages =       "To appear",
  628.   month =       "August"
  629. }
  630.  
  631. @InProceedings{lah92,
  632.   author =      "Z. Lahjomri and T. Priol",
  633.   title =       "KOAN: a Shared Virtual Memory for the iPSC/2 hypercube",
  634.   booktitle =   "CONPAR/VAPP92",
  635.   year =        "1992",
  636.   month =       "September"
  637. }
  638.  
  639. @InProceedings{bod92,
  640.   author =      "F. Bodin and T. Priol",
  641.   title =       "Overview of the KOAN Programming Environment for the
  642.       iPSC/2 and Performance evaluation of the BECAUSE Test Program 2.5.1",
  643.   booktitle =   "Because Workshop",
  644.   year =        "1992",
  645.   month =       "October"
  646. }
  647.  
  648. @book{zima:compilers,
  649.    author = "Barbara Chapman and Hans Zima",
  650.    publisher = "Addison-{W}esley",
  651.    series = "Frontier Series",
  652.    title = "Supercompilers for {P}arallel and {V}ector {C}omputers",
  653.    year = "1990",
  654.    isbn = "0-201-17560-6"
  655. }
  656.  
  657. @Book{szymanski:91,
  658.   editor =      "B. K. Szymanski",
  659.   title =       "Parallel Functional Programming Languages and Environments",
  660.   publisher =   "ACM Press",
  661.   address =     "New York",
  662.   year =         1991
  663. }
  664.  
  665.  
  666. @Unpublished{mckenney:szymanski,
  667.   author =    "B. McKenney and B. K. Szymanski",
  668.   title =    "Generating Parallel Code for SIMD Machines",
  669.   note =    "Submitted to ACM LOPAS" % may be published by now, check
  670. }
  671.  
  672.  
  673. @Article{szymanski:prywes:88,
  674.   author =    "Szymanski, B. and Prywes, N.",
  675.   title =    "Efficient Handling of Data Structures in
  676.          Definitional Languages",
  677.   journal =    "Science of Computer Programming",
  678.   number =    3,
  679.   year =    1988,
  680.   pages =    "221-45"
  681. }
  682.  
  683.  
  684. @TechReport{sinharoy:szymanski:91,
  685.   author =    "B. Sinharoy and B. K. Szymanski",
  686.   title =    "Complexity Issues of the Alignment Problem and the
  687.         Closest Vectors in a Lattice",
  688.   institution =    "Dept. of Comp. Sc., Rensselaer Polytechnic Institute",
  689.   number =    "91-10",
  690.   month =    "May",
  691.   year =     1991
  692. }
  693.  
  694. @Book{szymanski:91,
  695.   editor =    "B. K. Szymanski",
  696.   title =    "Parallel Functional Programming Languages and Environments",
  697.   publisher =    "ACM Press",
  698.   address =    "New York",
  699.   year =      1991
  700. }
  701.  
  702. @InProceedings{lu:chen:90,
  703.   author =     "Lee-Chung Lu and Marina C. Chen",
  704.   title =     "Subdomain Dependence Test for Massive Parallelism",
  705.   booktitle =     "Proceedings of the Supercomputing '90 Conference",
  706.   year =     1990,
  707.   publisher =     "IEEE Computer Society Press",
  708.   address =     "Los Alamitos, CA"
  709. }
  710.  
  711. @Article{li:chen:91a,
  712.   author =     "Jinke Li and Marina Chen",
  713.   title =     "The Data Alignment Phase in Compiling Programs for
  714.          Distributed Memory Machines",
  715.   journal =     "J. of Parallel and Distributed Computing",
  716.   year =     1991,
  717.   volume =     13,
  718.   pages =     "213--221"
  719. }
  720.  
  721. @Article{le:chen:91b,
  722.   author =     "Jinke Li and Marina Chen",
  723.   title =     "Compiling Communication-Efficient Programs for
  724.          Massively Parallel Machines",
  725.   journal =     "IEEE Transactions on Parallel and Distributed Systems",
  726.   year =     1991,
  727.   volume =     2,
  728.   number =     3,
  729.   pages =     "361--376",
  730.   month =     "July"
  731. }
  732.  
  733. @InBook{chen:choo:li,
  734.   author =     "Marina Chen and Young-il Choo and Jingke Li",
  735.   title =     "Parallel Functional Programming Languages and Environments",
  736.   chapter =     "Crystal: Theory and Pragmatics of Compiling Efficient
  737.          Parallel Code",
  738.   publisher =     "ACM Press",
  739.   year =     1991,
  740.   editor =     "B. Szymanski"
  741. }
  742.  
  743. @InProceedings{yang:choo:91,
  744.   author =     "Allan Yang and Young-il Choo",
  745.   title =     "Parallel-Program Transformation Using a Metalanguage",
  746.   booktitle =     "Proc.~of the Third ACM SIGPLAN Symposium on Principles and
  747.          Practice of Parallel Programming",
  748.   year =     1991
  749. }
  750.  
  751. @InProceedings{chen:choo:91,
  752.   author =     "Marina Chen and Young-il Choo",
  753.   title =     "Compiling Crystal for Massively Parallel Machines",
  754.   booktitle =     "Proceedings of the Workshop on Compilation of (Symbolic)
  755.          Languages for Parallel Computers",
  756.   year =     1991,
  757.   publisher =     "Argonne National Laboratory Report ANL-91/34",
  758.   month =     "November"
  759. }
  760.  
  761. @InProceedings{yang:choo:92a,
  762.   author =     "Allan Yang and Young-il Choo",
  763.   title =     "Formal Derivation of an Efficient Parallel Gauss-Seidel
  764.          Method on a Mesh of Processors",
  765.   booktitle =     "Proceedings of the 6th International Parallel Processing
  766.          Symposium",
  767.   year =     1992,
  768.   publisher =     "IEEE Computer Society Press",
  769.   month =     "March"
  770. }
  771.   
  772. @InProceedings{yang:choo:92b,
  773.   author =     "Allan Yang and Young-il Choo",
  774.   title =     "Metalinguistic Features for Formal Parallel-Program
  775.          Transformation", 
  776.   booktitle =     "Proceedings of the 4th IEEE International Conference on
  777.          Computer Languages",
  778.   year =     1992,
  779.   publisher =     "IEEE Computer Society Press",
  780.   month =     "April"
  781. }
  782.  
  783. @TechReport{li:chen:89,
  784.   author =    "J. Li and M. Chen",
  785.   title =     "Index Domain Alignment: Minimizing Cost of Cross-Referencing
  786.             Between Distributed Arrays",
  787.   institution =    "Dept. of Comp. Sc., Yale, Univ.",
  788.   number =    "YALEU/DCS/TR-725",
  789.   month =    "Nov.",
  790.   year =     1989
  791. }
  792.  
  793. @TechReport{gilbert:schreiber:90,
  794.   author =    "J. R. Gilbert and R. Schreiber", 
  795.   title =    "Optimal Expression Evaluation for Data parallel
  796.       Architectures",
  797.   institution =    "RIACS",
  798.   number =     "90.15",
  799.   month =    "April",
  800.   year =    1990
  801. }
  802.  
  803. @Article{knobe:lukas:steele:90,
  804.   author =    "K. Knobe, J. D. Lukas and G. L. Steele Jr.",
  805.   title =    "Data Optimization: Allocation of Arrays to Reduce
  806.         Communication on SIMD Machines",
  807.   journal =     "Journal of Parallel and Distributed Computing",
  808.   volume =    8,
  809.   year =    1990,
  810.   pages =    "102-118"
  811. }
  812.  
  813. -------------------------------------------------------------------------------
  814.  
  815. From lorie@cs.rice.edu Fri Nov 20 23:05:24 1992
  816.  
  817. What you probably need to look for is automatic alignment and distribution
  818. for distributed memory architectures.
  819.  
  820. There are a number of parallel compilers that require alignment and
  821. distribution information then convert the program to SPMD form.  For
  822. example the Rice distributed memory compiler does this.  If you want a
  823. reference on this compiler send email to tlc@cs.rice.edu and ask for the
  824. tech reports CRPC-TR91121 and CRPC-TR91132.
  825.  
  826. My dissertation deals with automatic alignment and distribution in Fortran
  827. D for a large class of applications.  An early description of the work
  828. (before we really started into the guts of the research) is available in
  829. CRPC-TR91166 from the above source.
  830.  
  831. You will find in these references pointers to other related work.
  832.  
  833. -------------------------------------------------------------------------------
  834.  
  835. >From jhummel@esp.ICS.UCI.EDU Sun Nov 22 00:35:08 1992
  836.   
  837.   1.  Look at Fortran D work by Kennedy, et al., at Rice University.
  838.       This is fortran for distributed memory machines (now called
  839.       high-performance fortran or HPF).
  840.   2.  Rogers and Pingali at Cornell did some compiler work.
  841.   3.  A system called Kali, authors ?.
  842.   4.  A system called Pandore, authors ?.
  843.  
  844. You should be able to look in ICPP, Supercomputing, or Sigplan
  845. PLDI conferences for this and related stuff. 
  846.  
  847. -------------------------------------------------------------------------------
  848.  
  849. From Jean-Louis.Pazat@irisa.fr Mon Nov 23 17:06:15 1992
  850.  
  851. There are many projects  about "parallelizing compilers" for distributed
  852. memory machines. Ther are two kinds of compilers:
  853. Data distribution directed compilers (DDD): FortranD, Pandore, Vienna Fortran,
  854.      HPF compilers
  855. Code distribution directed compilers:  (CDD)
  856.  
  857. DDD Compilers parallelize and distribute sequential code according to a
  858. data distribution specified by the user; CDD compilers try to distribute
  859. independent iterations among processors, most of them use a global memory;
  860. but this memory can be a virtual memory (see KOAN for example).
  861.  
  862. At IRISA, we are working on a DDD Compiler PANDORE II (see the bib. part of
  863. this message)
  864.  
  865.  
  866. 2) About profiling information:
  867.  
  868. We are also working in this area. Yves MAHEO (PhD student),
  869. (maheo@irisa.fr) is working with me in this field.  We have used profiling
  870. techniques to find why in some cases the parallelization is not efficient.
  871. Informations are collected by the run-time designed for our compiler
  872. (PANDORE II -> C (NX/2) ) on an iPSC/2.
  873.  
  874. We also use a sophisticated trace analysis system (ECHIDNA) wich uses the
  875. ESTELLE language. (We also have a code generator for the ESTELLE
  876. language).  Theses informations are of interest to find where are tight
  877. synchronizations in the generated code. Cyrille Bareau (PhD student),
  878. (bareau@irisa.fr)is working with Claude Jard (jard@irisa.fr) on this
  879. subject.
  880.  
  881. We think that it seems very difficult to have a precise enough feed back
  882. from theses tools to drive a compiler. Work is in progress to show some
  883. global information to the user, driving the compiler is the next step.
  884.  
  885. -------------------------------------------------------------------------------
  886.  
  887. From kremer@cs.rice.edu Mon Nov 23 19:00:24 1992
  888.  
  889.   you might want to look at work done here at Rice in the
  890.   context of the Fortran D programming system. 
  891.  
  892.   Several other groups are/have been looking at the problem of compiling 
  893.   programs for distributed memory multiprocessors. Just go 
  894.   through the Proceedings of the following conferences:
  895.     - International Conference of Supercomputing (ICS)
  896.     - Supercomputing
  897.     - HCCA4, DMCC5, DMCC6, ...
  898.     - Sigplan PLDI
  899.     - Sigplan PPOPP
  900. -------------------------------------------------------------------------------
  901.  
  902. From kumar@cat.syr.edu Mon Nov 23 20:36:10 1992
  903.  
  904. In the most recent conference on supercomputing "SUPERCOMPUTING 92" just
  905. held in Minnesota, USA there was a paper on compiling fortran programs for
  906. distributed memory machines. The paper is from NPAC, Syracuse University,
  907. Syracuse NY 13210 USA. 
  908.  
  909. We at Syracuse University are developing a Fortran compiler for MIMD
  910. machines. There are lot of technical reports, and you should get in touch
  911. with Lisa Deo (lsd@nova.npac.syr.edu) to get the technical reports and
  912. their listings.
  913.  
  914. Other places which are also working is CRPC, Rice University, Houston,
  915. Texax, USA. Contact Ken Kennedy or Charles Koelbel.
  916.  
  917. Also, you can contact Piyush Mehrotra or Joel Saltz at ICASE, NASA Langley
  918. Research Center, Hampton, VA 23665, USA.
  919.  
  920. Most of the papers for compiling techniques for MIMD parallel computers
  921. are from these people only.
  922.  
  923. -------------------------------------------------------------------------------
  924.  
  925. From J.C.Highfield@lut.ac.uk Mon Nov 23 21:36:58 1992
  926.  
  927.    I suggest you try looking at stuff relating to the SUPRENUM (spelling?)
  928. machine - I think it is a parallel vector-processor machine. Hence its
  929. compilers need just about every technique you can think of.
  930.    I recall there is a book by H. Zima and B. Chapman on the subject of
  931. vector and parallel compilers (Supercompilers for parallel and vector
  932. computers??), so you could start searching on their names. The book is
  933. heavily into dependence relations etc., covers vector machines, but for
  934. parallel machines I think it only considers loop-parallelism.
  935.  
  936. -------------------------------------------------------------------------------
  937. Reply-To: paco@cs.rice.edu (Paul Havlak)
  938.  
  939.     Parafrase is a vectorizing/parallelizing Fortran-to-Fortran compiler
  940. developed at the University of Illinois CSRD.  Subsequent projects at CSRD
  941. include Parafrase-2 (an interactive programming environment), Cedar (a
  942. parallel computer with shared-memory clusters, with its own KAP-based
  943. compiler), and several Lisp-oriented projects.
  944.     Parafrase-2 (at least) has some PDG-based intermediate
  945. representations.
  946.  
  947.     The PTRAN group at IBM Watson Research Center also uses a PDG-based
  948. representation for partitioning.
  949.  
  950.     Of the two major projects at Rice, PFC did not use control
  951. dependences, but ParaScope uses the PDG and additional information.
  952.     In the early-to-mid 1980s, Kennedy and Allen's group at Rice developed
  953. a vectorizing/parallelizing Fortran-to-Fortran compiler (Parallel Fortan
  954. Converter == PFC) and a dependence browser (PTOOL), running on IBM
  955. mainframes.  PTOOL is now defunct.  PFC relied on IF-conversion to convert
  956. control dependences to data dependences.
  957.     The ParaScope programming environment builds control and data
  958. dependences for interactive transformation of sequential and parallel
  959. Fortran.  The ParaScope editor can use dependence graphs from PFC/PSERVE.
  960.     Recent work at Rice on compilation of Fortran D (a precursor to High
  961. Performance Fortran) uses the same ParaScope infrastructure.
  962. -------------------------------------------------------------------------------
  963.  
  964. From kosuru@point.cs.uwm.edu Fri Dec  4 01:04:44 1992
  965.  
  966.  IEEE transactions on Distributed Systems is a good starting place to look
  967.  for articles on parallel Comp on Distributed architectures. There are
  968.  several articles on this topic.
  969.  
  970.  There exists good books:
  971.     Parallel Programming and Compilers (Polychronopolous)
  972.     SuperCompilers for Parallel and Vector Computers 
  973.            (Hans Zima and Barbara Chapman)
  974.  Both are good Summary books.
  975.  
  976. -------------------------------------------------------------------------------
  977. Reply-To: "Qiang Alex Zhao" <azhao@cs.arizona.edu>
  978.  
  979. Have you tried SR? Here's a description of SR:
  980.  
  981. SR (Synchronizing Resources) is a language for writing concurrent
  982. programs.  It is described in "The SR Programming Language: Concurrency in
  983. Practice" by Gregory R. Andrews and Ronald A. Olsson (Benjamin/Cummings,
  984. 1993, ISBN 0-8053-0088-0).  An overview of Version 1 of the language and
  985. implementation appeared in the January, 1988, issue of TOPLAS (ACM
  986. Transactions on Programming Languages and Systems 10,1, 51-86).
  987.  
  988. The main language constructs are resources and operations.  Resources
  989. encapsulate processes and variables they share; operations provide the
  990. primary mechanism for process interaction.  SR provides a novel
  991. integration of the mechanisms for invoking and servicing operations.
  992. Consequently, all of local and remote procedure call, rendezvous, message
  993. passing, dynamic process creation, multicast, and semaphores are
  994. supported.
  995.  
  996. New features in Version 2 include shared global variables and operations,
  997. circular imports, real numbers and math functions, formatted I/O, a more
  998. general syntax with fewer special cases, a more robust system with better
  999. error checking, true multiprocessing when run on a Silicon Graphics Iris
  1000. or Sequent Symmetry, and many additional enhancements.
  1001.  
  1002. SR has been used at a number of universities and labs for course work and
  1003. research projects involving concurrent programming.  It has been used in
  1004. concurrent programming courses to reinforce concepts with small
  1005. programming projects and with larger projects such as experiments with
  1006. parallel algorithms, replicated databases, distributed simulations, and
  1007. parts of distributed operating systems such as file systems and command
  1008. interpreters.  SR has also been used as a tool in several masters theses
  1009. and doctoral dissertations to conduct experiments in parallel and
  1010. distributed programming and to implement larger systems such as a system
  1011. for mixed language programming, one for distributed implementation of
  1012. graph algorithms, experiments with load balancing algorithms, and
  1013. experiments with upcall program structures.
  1014.  
  1015. Version 2 is tested on Sun4, Sun3, DECstation, SGI Iris, HP RISC and
  1016. 9000/300, NeXT, and Sequent Symmetry platforms.  Code is also included for
  1017. the DG AViiON, IBM RS/6000, DEC VAX, Encore Multimax, Apollo DN, and
  1018. others.
  1019.  
  1020. FTP: cs.arizona.edu: /sr
  1021.  
  1022. -- 
  1023. Christian.Collberg@dna.lth.se
  1024. Department of Computer Science,
  1025. Lund University, BOX 118, S-221 00 LUND, Sweden
  1026. -- 
  1027. Send compilers articles to compilers@iecc.cambridge.ma.us or
  1028. {ima | spdcc | world}!iecc!compilers.  Meta-mail to compilers-request.
  1029.