home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / parallel / 2571 < prev    next >
Encoding:
Text File  |  1992-11-20  |  52.2 KB  |  1,424 lines

  1. Newsgroups: comp.parallel
  2. Path: sparky!uunet!gatech!hubcap!fpst
  3. From: skohn@cs.ucsd.edu (Scott Kohn)
  4. Subject: [long] summary of scientific parallel computing requests
  5. Message-ID: <1992Nov20.125947.25903@hubcap.clemson.edu>
  6. Followup-To: comp.parallel
  7. Keywords: parallel processing, scientific computing, models
  8. Sender: news@sdcc12.ucsd.edu
  9. Nntp-Posting-Host: picard.ucsd.edu
  10. Organization: UC-San Diego CSE Department
  11. Date: 19 Nov 92 21:33:54 GMT
  12. Approved: parallel@hubcap.clemson.edu
  13. Lines: 1409
  14.  
  15.  
  16.  
  17. Some time ago, I posted a request for information about parallel programming
  18. models for scientific computing.  (By models, I really meant the different types
  19. of abstractions presented to the programmer, so languages, environments, and
  20. libraries would also apply.)
  21.  
  22. Many thanks to all who responded:
  23.  
  24. "Chad O. Yoshikawa" <cy0q+@andrew.cmu.edu>
  25. "Christopher T. Faigle" <cfaigle@npac.syr.edu>
  26. "L. V. Kale'" <kale@cs.uiuc.edu>
  27. "Neelakantan Sundaresan" <nsundare@moose.cs.indiana.edu>
  28. "Robert J. Harrison (509-375-2037)" <d3g681@fermi.pnl.gov>
  29. Brian Wylie <bjnw@epcc.edinburgh.ac.uk>
  30. Carolyn Schauble <schauble@wilkinson.cs.colorado.edu>
  31. Gregory T. Byrd <gbyrd@ncsc.org>
  32. Jean-Louis.Pazat@irisa.fr (Jean Louis Pazat)
  33. Jeff Martens <martens@cis.ohio-state.edu>
  34. Mats Brorsson <matsbror@dit.lth.se>
  35. Monika Haerdtner <Haerdtner@informatik.uni-stuttgart.de>
  36. Roland Ruehl <ruehl@iis.ethz.ch>
  37. Steven Zenith <zenith@kai.com>
  38. Thomas Schnekenburger <schneken@informatik.tu-muenchen.de>
  39. angus@atc.boeing.com
  40. axk8773@usl.edu (Kalhan Ajay)
  41. brent@tazdevil.llnl.gov (brent)
  42. cchase@cs.cornell.edu (Craig Chase)
  43. conery@kiwanda.cs.uoregon.edu
  44. heinze@ira.uka.de
  45. heirich@cco.caltech.edu (Alan Bryant Heirich)
  46. kaminsky-david@CS.YALE.EDU (David Kaminsky)
  47. lazure@lifl.fr
  48. lusk@antares.mcs.anl.gov
  49. manu@CS.UCLA.EDU (Maneesh Dhagat)
  50. marc@sisters.cs.uoregon.edu
  51. mattson-timothy@CS.YALE.EDU ("Timothy G. Mattson")
  52. mccurley@cs.sandia.gov (Kevin McCurley)
  53. nbm@epcc.ed.ac.uk
  54. rbe@yrloc.ipsa.reuter.COM (Robert Bernecky)
  55. rsb@mcc.com (Richard S. Brice)
  56. skill@qucis.queensu.ca (David Skillicorn)
  57. slim@ocfkms.llnl.gov (Scott Whitman)
  58. sp@beta.lanl.gov (Stephen W Poole)
  59. twillis@npac.syr.edu (Thomas Willis)
  60. usimap@sneffels.usi.utah.edu (Michael Pernice)
  61. winney@dal.mobil.com (Randy Winney)
  62.  
  63. ********************************************************************************
  64.  
  65. From: Gregory T. Byrd <gbyrd@ncsc.org>
  66.  
  67. Sisal has been favored by some for scientific programming.
  68. (There is a Cray version...)
  69.  
  70. ...Greg Byrd             North Carolina Supercomputing Center
  71.    gbyrd@ncsc.org        P.O. Box 12889
  72.    (919)248-1439         Research Triangle Park, NC  27709-2889
  73.  
  74. ********************************************************************************
  75.  
  76. From: winney@dal.mobil.com (Randy Winney)
  77.  
  78. In the February issue of Supercomputing there was an article about
  79. the functional language Sisal that Lawrence Livermore is promoting
  80. to replace Fortran. Contact feo@LLNL.gov for more info.
  81.  
  82. -- 
  83. Randy Winney       winney@dal.mobil.com
  84. Mobil Exploration & Producing Technology Center
  85. Dallas, Texas
  86.  
  87. ********************************************************************************
  88.  
  89. From: Mats Brorsson <matsbror@dit.lth.se>
  90.  
  91. First I would like to say that I am intersted in all answers you get.
  92.  
  93. There is an article in the September 92 issue of IEEE Computer which deals
  94. with programming paradigms, some of which parallel. One of the references
  95. to this article deals with Linda which you might want to add to your list.
  96. Also don't forget the Single-Program-Multiple-Data (SPMD) model which 
  97. was first proposed by Darema-Rogers et al. [1] and has since
  98. been used for a variety of languages. The SPLASH suite [2] of parallel 
  99. benchmarks are written in this model using macros from ANL to express
  100. parallelism. 
  101.  
  102. I am particularly interested in if various paradigms for writing shared memory
  103. parallel programs result in different sharing behaviour. If you get any 
  104. answers reflecting this particular problem please let me know.
  105.  
  106. Regards,
  107.   /Mats
  108.  
  109. [1]  @article{Darema:EPEX,
  110.             author="Darema F., George D. A., Norton V. A., and 
  111.             Pfister G. F.",
  112.             title="A single-program-multiple-data computational model for
  113.                     EPEX/FORTRAN.",
  114.             journal="Parallel Computing",
  115.             volume=7,
  116.             number=1,
  117.             year=1988,
  118.             month="April",
  119.             pages="11-24"}
  120.  
  121. [2]  @Book{Boyle:ANL,
  122.             author="Boyle J., Butler R., Disz T., Glickfield B., 
  123.             Lusk E., Overbeek R., Patterson J., and Stevens R.,",
  124.             title="Portable Programs for Parallel Processors",
  125.             publisher="Holt, Rinehart and Winston inc.",
  126.             year=1987,
  127.         city="New York"}
  128.  
  129.  
  130. -- 
  131. ========================================================================
  132. Mats Brorsson                              internet: matsbror@dit.lth.se
  133. Dept. of Comp. Eng., Lund University       phone:    +46-46-104931
  134. P.O. Box 118, S-221 00 Lund, SWEDEN        fax:      +46-46-104714
  135.  
  136. ********************************************************************************
  137.  
  138. From: usimap@sneffels.usi.utah.edu (Michael Pernice)
  139.  
  140. Scott,
  141.  
  142. Your list does not include Compositional C++ (CC++) which is being
  143. developed by Carl Kesselman at CalTech.  It is an object-oriented
  144. approach that hides the details of message-passing inside the object.
  145. I don't have a pointer to a reference, but I believe you can contact
  146. him at carl@vlsi.cs.caltech.edu, or at (818) 356-6517.
  147.  
  148. Tony Skjellum at LLNL has been developing an interface called The
  149. Multicomputer Toolbox.  Again, this appears to be an object-oriented
  150. approach to achieving data distribution independence, portability,
  151. and a level of abstraction from the hardware.  You can contact him
  152. at skjellum@llnl.gov or (510) 422-1161.  He's published several
  153. papers in this area; the one I've read (which contains references to
  154. several other articles) is
  155.  
  156.   Falgout, Skjellum, Smith and Still, "The Multicomputer Toolbox
  157.      Approach to Concurrent BLAS and LACS", Proceedings of the
  158.      Scalable High Performance Computing Conference SHPCC-92,
  159.      IEEE Computer Society Press, Los Alamitos, CA.
  160.  
  161. I presume you regard Vienna Fortran to be a variant of Fortran D.
  162. It would be useful to find an elucidation of the relationships
  163. among these variants, and of what elements are included in HPF.
  164.  
  165. I'd be interested in seeing a summary of the references that you
  166. find.
  167.  
  168. ----------------------------------------+--------------------------------------
  169. Michael Pernice                         |    Utah Supercomputing Institute 
  170.                                         |    85 Student Services Building  
  171. Bell-net:  (801) 581-7708               |    University of Utah
  172. Internet:  usimap@sneffels.usi.utah.edu |    Salt Lake City, Utah 84112
  173. ----------------------------------------+--------------------------------------
  174.  
  175. ********************************************************************************
  176.  
  177. From: skill@qucis.queensu.ca (David Skillicorn)
  178.  
  179. You might be interested in my summary
  180. paper in IJPP (April 1991, really April
  181. 1992). There's no emphasis on scientific
  182. computation, but there are lots of
  183. references.
  184.  
  185. You can pick up a large bibliography
  186. from ftp.qucis.queensu.ca in directory
  187. pub/skill.
  188.  
  189.            -david skillicorn
  190.  
  191. ********************************************************************************
  192.  
  193. From: Jeff Martens <martens@cis.ohio-state.edu>
  194.  
  195. I'd include Sisal and Id.
  196. -- 
  197.  
  198. -- Jeff (martens@cis.ohio-state.edu)
  199.  
  200. ********************************************************************************
  201.  
  202. From: conery@kiwanda.cs.uoregon.edu
  203.  
  204. Scott --
  205.  
  206. I don't know enough about Fortran dialects to know how it relates
  207. to Fortran-D, but MasPar has a parallel version of Fortran-90.
  208. They also have a parallel C called MPL which is fairly distinct from
  209. C*.
  210.  
  211. Thinking Machines has a parallel Lisp -- last I heard (quite a while
  212. ago) it was called *Lisp.  An interesting article on a sizable
  213. parallel scientific application written in this language is by Zhao
  214. and Johnsson in SIAM J. Stat. Comput., Vol 12, Nov. 1991.
  215.  
  216. A language you definitely need to include is SISAL, a
  217. functional/dataflow language developed jointly be participants from
  218. MIT, Colorado State, Livermore Labs, and others.  Send e-mail to David
  219. Cann, cann@diego.llnl.gov, for more info.  You can FTP the manual, and
  220. they have lots of papers showing some nice performance compared to
  221. Fortran on real parallel machines.
  222.  
  223. Finally, Stephen Bevan of the University of Manchester
  224. (bevan@cs.man.ac.uk) has collected a bunch of numerical analysis
  225. programs written in the functional language ML.  As far as I know
  226. there are no high performance implementations of ML yet, but it's a
  227. good bet someone will develop a port for a parallel machine soon.
  228.  
  229. Good luck with the survey -- I'm definitely interested in the results.
  230.  
  231. JC
  232.  
  233. ********************************************************************************
  234.  
  235. From: lusk@antares.mcs.anl.gov
  236.  
  237. Although it is more of a "tool" than a "model", you might be interested in
  238. p4:
  239.  
  240.                       p4
  241.  
  242. p4 is a library of macros and subroutines developed at Argonne National
  243. Laboratory for programming a variety of parallel machines.  Its predecessor
  244. was the m4-based "Argonne macros" system described in the Holt, Rinehart, and
  245. Winston book "Portable Programs for Parallel Processors, by Lusk, Overbeek, et
  246. al., from which p4 takes its name.  The current p4 system maintains the same
  247. basic computational models described there (monitors for the shared-memory
  248. model, message-passing for the distributed-memory model, and support for
  249. combining the two models) while significantly increasing ease and flexibility
  250. of use.
  251.  
  252. The current release is version 1.2  New features added since version 0.2
  253. include: 
  254.  
  255.   + manual enhanced and converted to latex format
  256.   + Emacs info version of the manual for on-line help
  257.   + SYSV IPC support added for several machines (for shared-memory
  258.      multiprocessing on workstations that support multiple processors)
  259.   + instrumentation added for automatic logging/tracing
  260.   + provided better user-control of message-passing/buffer-management
  261.   + high-resolution clock support added for several machines
  262.   + improved error/interrupt handling
  263.   + optional secure server for faster startup on networks
  264.   + optional automatic logging of events for upshot tracing
  265.  
  266. New since version 0.1:
  267.  
  268.   + xdr for communication in a heterogeneous network
  269.   + asynchronous communication of large messages
  270.   + global operations (broadcast, global sum, max, etc.)
  271.   + both master-slave and SPMD models for message-passing programs
  272.   + an improved and simplified Fortran interface
  273.   + an optional secure server
  274.   + ports to more machines
  275.  
  276. p4 is intended to be portable, simple to install and use, and efficient.  It
  277. can be used to program networks of workstations, advanced parallel
  278. supercomputers like the Intel Touchstone Delta and the Alliant Campus
  279. HiPPI-based system, and single shared-memory multiprocessors.  It has
  280. currently been installed on the following list of machines: Sequent Symmetry,
  281. Encore Multimax, Alliant FX/8, FX/800, and FX/2800, Cray X/MP, Sun, NeXT, DEC,
  282. Silicon Graphics, and IBM RS6000 workstations, Stardent Titan, BBN GP-1000 and
  283. TC-2000, Intel IPSC/860, Intel Touchstone Delta, and Alliant Campus.  It will
  284. soon be ported to the CM-5 and to the Intel Paragon.  It is not difficult to
  285. port to new systems.
  286.  
  287. A useful companion system is the upshot logging and X-based trace examination
  288. facility.  The macros to create logs are included in p4.  Upshot (an X program
  289. for graphically displaying the logs) is available separately.
  290.  
  291. You can obtain the complete distribution of p4 by anonymous ftp from
  292. info.mcs.anl.gov.  Take the file p4t1.2.tar.Z from the directory pub/p4.  The
  293. distribution contains all source code, installation instructions, a User's
  294. Guide in both ascii text and latexinfo format, and a collection of examples in
  295. both C and Fortran. 
  296.  
  297. To ask questions about p4, report bugs, contribute examples, etc., send mail
  298. to p4@mcs.anl.gov.
  299.  
  300.                                                    Rusty Lusk
  301.                                                    lusk@mcs.anl.gov
  302.  
  303. ********************************************************************************
  304.  
  305. From: "Robert J. Harrison (509-375-2037)" <d3g681@fermi.pnl.gov>
  306.  
  307. Do you mean models or environments?  I include below a
  308. mix of both that you might also want to look at.
  309.  
  310.  1) Linda 
  311.  
  312. \journal{carriero}{N. Carriero and D. Gelernter}{Communications of the ACM}{32}{1989}{444}
  313.  
  314. \book{lindabook}{N. Carriero and D. Gelernter}{How To Write Parallel Programs. A First Course}{The MIT Press, Cambridge, MA}{1990}
  315.  
  316. \bibitem{sca} C-Linda is distributed commercially by Scientific Computing
  317.               Associates, New Haven, Connecticut.
  318.  
  319. \bibitem{edinburgh} G. Wilson, editor (1991) Linda-Like Systems and Their
  320.                     Implementation, Edinburgh Parallel Computing Centre
  321.                     Technical Report 91-13.
  322.  
  323. \journal{interwork}{W.L. Bain}{ACM SIGPLAN Notices}{24}{1989}{95}
  324.  
  325. \bibitem{auclinda} C.J. Callsen, I. Cheng and P.L. Hagen, pp. 39 in \cite{edinburgh}.
  326.  
  327. \bibitem{mercury} G. Schoinas, pp. 105 in \cite{edinburgh}.
  328.  
  329.  
  330.  2) strand
  331.  
  332. \book{strandbook}{I. Foster and S. Taylor}{Strand, New Concepts in Parallel Programming}{Prentice Hall, New Jersey}{1990}
  333.  
  334.  3) pcn
  335.  
  336.  
  337. \journal{pcn}{K.M. Chandy, S. Taylor, C. Kesselman and I. Foster}{Caltech Comp. Sci. Tech. Report}{CS-TR-90-03}{February 1990}{1}
  338.  
  339. \journal{pcnruntime}{I. Foster and S. Taylor}{Argonne National Laboratory Report}{ANL/MCS-TM-137}{January 1990}{1}
  340.  
  341.  4) The multitude of message passing environments of which these
  342.     are just a sample
  343.  
  344. \bibitem{express} Express is a product of ParaSoft, Mission Viejo, CA.
  345.  
  346. \bibitem{tcgmsg} R.J. Harrison (1991) Int. J. Quant Chem., in press.
  347.  
  348. \bibitem{p4} {\tt p4} are a set of portable message passing routines
  349.              being distributed by Ewing Lusk of the Math. and Comp. Sci.
  350.              division at Argonne.  They are the current version of the
  351.              tools described in ref. \cite{parmacs}.
  352.  
  353. \book{parmacs}{J. Boyle, R. Butler, T. Disz, B. Glickfeld, E. Lusk,
  354.                R. Overbeek, J. Patterson and R. Stevens}{Portable
  355.                Programs for Parallel Processors}{Holt, Rinehart
  356.                  and Winston, Inc., New York, NY}{1987}
  357.  
  358. \journal{picl}{G.A. Geist, M.T. Heath, B.W. Peyton and P.H. Worley}{Oak Ridge National Laboratory Tech. Report}{TM-11616}{1990}{1}
  359.  
  360. \journal{pvm}{A. Beguelin, J. Dongarra, Al Geist, R. Manchek and V. Sunderam}{Oak Ridge National Laboratory Tech. Report}{TM-11826}{1991}{1}
  361.  
  362.   5) occam is very popular with scientists using transupters in Europe
  363.  
  364.  
  365. \journal{occam}{D. May}{ACM SIGPLAN Notices}{18}{1983}{69}
  366.  
  367. \book{occambook}{K.C. Bowler, R.D. Kenway, G.S. Pawley, D. Roweth}{Occam 2 Programming Language}{Prentice-Hall, Englewood Cliffs, NJ}{1984}
  368.  
  369.  
  370.  
  371. I'd be very interested in seeing a summary if you find it
  372. possible to generate one ... you are probably getting much
  373. longer messages than this from others on the net!
  374.  
  375. Robert J. Harrison
  376.  
  377. Mail Stop K1-90                             tel: 509-375-2037
  378. Battelle Pacific Northwest Laboratory       fax: 509-375-6631
  379. P.O. Box 999                             E-mail: rj_harrison@pnl.gov
  380. Richland WA 99352
  381.  
  382. ********************************************************************************
  383.  
  384. From: slim@ocfkms.llnl.gov (Scott Whitman)
  385.  
  386. Yes, there were several models developed here at LLNL.  They are called
  387. PFP and PCP; portable (Fortran or C) pre-processors.  They are intended
  388. for scalable shared memory architectures.  Also, I'm not sure if you include
  389. items such as C-Threads or Linda.
  390.  
  391.         Scott
  392.  
  393. --------------------------------------------------------
  394. Scott R. Whitman, Ph.D.        slim@llnl.gov
  395. LLNL, L-416, P.O. Box 808    (510) 294-4109
  396. Livermore, CA 94550        
  397.  
  398. ********************************************************************************
  399.  
  400. From: heirich@cco.caltech.edu (Alan Bryant Heirich)
  401.  
  402. It sounds like you are looking for parallel programming environments
  403. or languages, from your list.  Don't overlook
  404.  
  405. Program Composition Notation (PCN)
  406. Mani Chandy & Stephen Taylor
  407. California Institute of Technology
  408.  
  409. PCN is a language based on the Unity model (see Chandy & Misra,
  410. Parallel Program Design) and Concurrent Prolog (see Taylor,
  411. Parallel Logic Programming).  It is generally intended for the
  412. new class of multicomputer architectures, distributed memory message
  413. passing machines with 100's, 1000's, or more nodes.  Examples of these
  414. machines are: the J and M machines (MIT); the Mosaic (Cal Tech);
  415. the Touchstone/Paragon project (Intel).  Main features are that
  416. programs are declarative and asynchronous, and execution order is
  417. determined by data dependencies, sort of like high level dataflow.
  418. Communication and synchronization issues are entirely handled by
  419. the language run time system.
  420.  
  421. I'm using PCN to model the transition from equilibrium to turbulence
  422. in a clasic fluid mechanics problem.  Algorithmically this amounts to
  423. solving the incompressible Navier-Stokes PDE's by Newton's method.
  424. Each step of Newton's method is solved by a parallel red-black Gauss-Seidel
  425. iteration.  These concurrent distributed algorithms have mapped
  426. beautifully into the PCN programming model, which is very non-von Neumann.
  427.  
  428. For a reference on PCN
  429.  
  430. Chandy & Taylor (1991 or 1992)
  431.  
  432. Sorry I've forgotten the title, it's something like "Introduction
  433. to Parallel Programming", publiushed by Bartlett & Jones.  They
  434. use it in a 3rd term freshman course here at Cal Tech, so it's not
  435. too advanced (but, frankly, Cal Tech freshmen or often like seniors
  436. elsewhere!  I can comment honestly because I was never one).
  437.  
  438. For a ref on the work I'm doing, the previous publication from the
  439. project is
  440.  
  441. Schroder & Keller
  442. Journal of Computation Physics
  443. vol 92, no 1, nov 1990, pp. 197-227
  444. "Wavy Taylor-Vortex Flows via Multigrid-Continuation Methods"
  445.  
  446. I would be happy to provide more info on PCN or our work if you
  447. have specific interests.
  448.  
  449. ==================================================================
  450. Alan Heirich                    internet: heirich@caltech.edu
  451. 256-80 California               office:   818/356 4600
  452.    Institute of Technology    lab:      818/356 3903
  453. Pasadena, CA 91125 USA
  454.  
  455. ********************************************************************************
  456.  
  457. From: heinze@ira.uka.de
  458.  
  459. We have developed Modula-2*, an extension of Modula-2 for portable
  460. highly-parallel programming.
  461.  
  462. Modula-2* features machine independent data allocators and synchronous &
  463. asynchronous FORALL statements with process alignment declarations.
  464.  
  465. We already have working Modula-2* compilers and libraries for the MasPar
  466. MP-1, MP-2 series, for heterogenous LANs of Unix workstations (p4-based),
  467. and for single Unix workstations (sequential simulation).
  468.  
  469. If you want to know more about our work I will be pleased to provide you
  470. with more detailed information. 
  471.  
  472. =Ernst=
  473.  
  474. -- 
  475. +--------------------------------------------------------+-------------------+
  476. | Ernst A. Heinz              (email: heinze@ira.uka.de) |                   |
  477. | Institut fuer Programmstrukturen und Datenorganisation | Make it as simple |
  478. | Fakultaet fuer Informatik, Universitaet Karlsruhe      | as possible, but  |
  479. | Postfach 6980, W-7500 Karlsruhe 1, Germany             | not simpler.      |
  480. | (Voice: ++49/(0)721/6084386, FAX: ++49/(0)721/694092)  |                   |
  481. +--------------------------------------------------------+-------------------+
  482.  
  483. ********************************************************************************
  484.  
  485. From: "L. V. Kale'" <kale@cs.uiuc.edu>
  486.  
  487. One more entry for your list:
  488.  
  489. Charm / (Chare Kernel)
  490.  
  491. This a parallel programming system we (me and my students) 
  492. have been building for past few years.
  493. The current implementation is C-based, and runs on
  494. iPSC/2, iPSC/860, NCUBE, sequent symmetry, Encore multimax,
  495. Alliant FX/8, FX/2800, and a network of workstations.
  496. The system supports portability, "specific information sharing modes",
  497. and features for reusability of parallel software.
  498. It provides libraries for scheduling, and dynamic load balancing, etc.
  499.  
  500. (This is just a brief outline. If you need more detailed
  501. info, let me know.)
  502.  
  503.     L.V. Kale
  504.     Dept. of Comp. Science
  505.     University of Illinois at Urbana Champaign
  506.      kale@cs.uiuc.edu
  507.  
  508. ********************************************************************************
  509.  
  510. From: kaminsky-david@CS.YALE.EDU (David Kaminsky)
  511.  
  512.     Linda has been used extensively for scientific computation.  
  513. See:
  514.  
  515. @techreport(BCG91,
  516.   key = {BCG91},
  517.   author = {R. Bjornson and  N. Carriero and D. Gelernter
  518.             and T. Mattson and A. Sherman},
  519.   title = {Experience with {L}inda: Notes from the bandwagon},
  520.   institution = YALEU,
  521.   type = {Reserach Report},
  522.   month = aug,
  523.   year = 1991
  524. )
  525.  
  526.     There are other references in the literature
  527.  
  528. David
  529.  
  530. ********************************************************************************
  531.  
  532. From: brent@tazdevil.llnl.gov (brent)
  533.  
  534.   At Livermore we use a split-join model (Based on Harry Jordan's
  535. Force), called PFP, the Parallel Fortran Preprocessor, and PCP, the C
  536. equivalent.
  537.  
  538.   The model is shared memory and very lightweight in terms of overhead
  539.   imposed on the programmer.  It has had considerable success localy,
  540.   and is having an impact on some models we see being developed
  541.   currently outside of the lab.
  542.  
  543.   The references are:
  544.   
  545.     \bibitem{pcp} Brent Gorda, Karen Warren, Eugene D. Brooks III,
  546.     {\em Programming in PCP},
  547.     Lawrence Livermore National Laboratory,
  548.     UCRL-MA-107029,  April 1991.
  549.  
  550.     \bibitem{pfp} Karen Warren, Brent Gorda, Eugene D. Brooks III,
  551.     {\em Programming in PFP},
  552.     Lawrence Livermore National Laboratory,
  553.     UCRL-MA-107028, April 1991.
  554.  
  555.  
  556.  If you have any questions, please contact me at brent@nersc.gov.  We
  557.   also have two years worth of "annual reports" with 30+ papers in each
  558.   describing using parallel architectures, including programming in
  559.   this model.
  560.  
  561.  
  562.  Brent Gorda
  563.  
  564. ********************************************************************************
  565.  
  566. From: marc@sisters.cs.uoregon.edu
  567.  
  568. You may wish to add Hypertasking and APR's MIMDizer (Forge-90) to your
  569. list.  Hypertasking is described in Nov. 91 Supercomputing Review.
  570.  
  571. -Marc Baber
  572. marc@cs.uoregon.edu
  573.  
  574. ********************************************************************************
  575.  
  576. From: Carolyn Schauble <schauble@wilkinson.cs.colorado.edu>
  577.  
  578. AND
  579.     I forgot to mention 
  580.  
  581.         The Force
  582.  
  583.             (for references, contact jakob@cs.colorado.edu)
  584.  
  585.         CJCSchauble
  586.         schauble@cs.colorado.edu
  587.  
  588. ********************************************************************************
  589.  
  590. From: rsb@mcc.com (Richard S. Brice)
  591.  
  592. There's a report called "A Survey of parallel Programming Tools" available
  593. from NASA Ames which lists some of the parallel systems you posted and
  594. includes a number of others.  The report is RND-91-005, May '91 and the
  595. author is Doreen Cheng.
  596.  
  597. ********************************************************************************
  598.  
  599. From: "Chad O. Yoshikawa" <cy0q+@andrew.cmu.edu>
  600.  
  601. Scott,
  602.     I'm not quite sure what you mean by 'programming models inteneded
  603. for use with scientific computing'.  By the list you have already given,
  604. it seems that you want different parallel languages added to the list?
  605. The only one on the list I am familiar with is a FORTRAN-D variant, which
  606. I am programming on the I-Warp here at CMU(even though Intel has all
  607. but dropped the project).  Another language is SISAL, which has a report
  608. by David Cann right next to the FORTRAN D article in the ACM of
  609. September 92, I believe.  Here is  a small description:
  610.      It was developed by Lawrence Livermore and Colorado State U.  Like I said
  611. in the description above, it is a functional language that exploits
  612. parallelism without directives, just using the semantics of
  613. the program.  It is hardware independent and is currently supported only
  614. on shared memory machines(Cray,IRIS,etc..) but it is currently
  615. being ported to run on distri. machines as well. 
  616.  
  617. Chad
  618.  
  619. ********************************************************************************
  620.  
  621. From: Thomas Schnekenburger <schneken@informatik.tu-muenchen.de>
  622.  
  623. Hi,
  624.  
  625. I'm working in a research group where we developed
  626. the parallel and distributed programming language
  627. ParMod-C.
  628.  
  629. ParMod-C is an extension of ANSI-C. There exist
  630. an implementation on a workstation net and
  631. on a iPSC-Hypercube.
  632.  
  633. Descriptions of ParMod-C can be found in
  634.  
  635. @InProceedings{Weininger91,
  636.   author =      "Weininger, A. and Schnekenburger, T. and
  637.                  Friedrich, M.",
  638.   title =       "Parallel and Distributed Programming with {ParMod-C}",
  639.   booktitle =   {First International Conference of the Austrian Center
  640.                  for Parallel Computation},
  641.   year =        "1991",
  642.   address =     "Salzburg",
  643.   month =       "September",
  644.   publisher =   "Springer, LNCS 591"
  645. }
  646.  
  647. @TechReport{Schnekenburger91,
  648.     author =      "Schnekenburger, Thomas and Weininger, Andreas and
  649. Friedrich, Michael",
  650.     title =       {Introduction to the Parallel and Distributed Programming
  651. Language {ParMod-C}},
  652.     institution = {Technische Universit\"at M\"unchen}},
  653.     year =        "1991",
  654.     number =      "SFB 342/27/91 A",
  655.   month =     Okt
  656. }
  657.  
  658. The description of the first version of ParMod, based on Pascal
  659. can be found in:
  660.  
  661. @InProceedings{Eichholz87,
  662.   author =      "Eichholz, S.",
  663.   title =       "Parallel Programming with {ParMod}",
  664.   booktitle =   "Proceedings of the 1987 International Conference on
  665.                  Parallel Processing",
  666.   year =        "1987",
  667.   pages =       "377--380",
  668. }
  669.  
  670. I'm very interested in a summary.
  671.  
  672. Thanks.
  673.  
  674.     Thomas Schnekenburger
  675.  
  676. --------------------------------------------------------------------
  677.    Thomas Schnekenburger                 |       Orleansstr. 34 
  678.                                          |     D 8000 Muenchen 80
  679.    Institut fuer Informatik              |        GERMANY
  680. Technische Universitaet Muenchen         |
  681. --------------------------------------------------------------------
  682. Phone: (+89)48095-150,            Fax: (+89)48095-160
  683. e-mail: schneken@informatik.tu-muenchen.de
  684. --------------------------------------------------------------------
  685.  
  686. ********************************************************************************
  687.  
  688. From: Brian Wylie <bjnw@epcc.edinburgh.ac.uk>
  689.  
  690. I think that such a summary would be a good idea if you felt up to it.
  691. I've heard of the others, but not these two -- perhaps you could forward
  692. some information if that wasn't too much to ask.
  693.  
  694. I'm not too sure how "intended for scientific computation" all of the
  695. following are, but they fit in with the others on your list -- if you
  696. need some references I can probably assist with most of them. 
  697.  
  698.   Vienna Fortran from Hans Zima at U Vienna (HPF/Fortran-D -like)
  699.   Dataparallel C from Mike Quinn at Oregon State U (from early C* work)
  700.   Mentat/MPL from Andrew Grimshaw at U Virginia (extended C++ for MIMD)
  701.   uC++/uSystem from Peter Buhr at U Waterloo (concurrent dialect of C++)
  702.   PC/PC++/PF from Ridgway Scott at U Houston (PICL-based for DM&SM MIMD)
  703.  
  704. along with "vendor" languages such as CM Fortran, MasPar programming
  705. language, DAP Fortran, etc.
  706.  
  707.   Slainte,                    "democracy: (n) separatism if we want it,     oo
  708.     Brian.                                    but reform -- no deal!" __/\_/`'
  709.  
  710. Brian J N Wylie | EPCC, University of Edinburgh, JCMB, King's Bldgs, Edinburgh,
  711. <bjnw@ed.ac.uk> | EH9 3JZ, Scotland [Tel: +44 31 650-5021, Fax: +44 31 650-6555]
  712.  
  713. ********************************************************************************
  714.  
  715. From: lazure@lifl.fr
  716.  
  717. Dear Scott,
  718.  
  719. I'm really interested in your collecting references about
  720. parallel programming models.
  721.  
  722. Here, in university of Lille (F), we are working on a new Data-parallel model,
  723. namely HELP (Hyper-Espace et Language Parallele).
  724. We will present a poster at
  725.  
  726. ``Supercomputing'92 poster session''
  727. (Minneapolis, November 16-20th)
  728.  
  729. and a paper at
  730.  
  731. ``Euromicro Worshop on Parallel and Distributed Processing''
  732. (Las Palmas, Spane ,January 27-29th 1993)
  733.  
  734. Please find forward a abstract of this paper,and an example of C-HELP program.
  735. I will be very pleased to receive your collecting results.
  736.  
  737. bye,
  738.  
  739.     Dominique.
  740.  
  741.  
  742. %------------------------------------------------------------------------------
  743. Title:         Help for parallel scientific programming
  744.  
  745. Authors:       Akram BENALIA, Jean-Luc DEKEYSER, 
  746.                Dominique LAZURE, and Philippe MARQUET
  747.  
  748. Institution:   Laboratoire d'Informatique Fondamentale de Lille
  749.                Universit\'e de Lille, France
  750.  
  751. Email:            {benalia,dekeyser,lazure,marquet}@lifl.fr    
  752.     
  753. Address:       Laboratoire d'Informatique Fondamentale de Lille
  754.                Universit\'e des Sciences et Technologies de  Lille
  755.                B\^atiment M3, Cit\'e Scientifique, 
  756.                59655 Villeneuve d'Ascq cedex, 
  757.                France.           
  758.  
  759. Abstract: 
  760.  
  761. Massively parallel machines emergence leads to the definition of a new
  762. programming model already stated with vector machines: the data
  763. parallelism. This programming model standardizes all the parallel
  764. machine programming, whatever they are vector machine (Cray Y-MP),
  765. massively parallel SIMD (Connection Machine CM-200 or MasPar MP-1) or
  766. MIMD (Connection Machine CM-5 or Intel Paragon). In this third
  767. approach, only the data parallelism is able to manage a great number
  768. of processors.
  769.  
  770. Data parallel language designers specially pay attention to the data
  771. mapping onto elementary processors and/or data alignment, and
  772. communication expression.
  773.  
  774. The HELP data parallel programming model is defined as a new original
  775. massively parallel machine programming environment. On the opposite of
  776. the current approaches consisting of adding extra features to handle
  777. the data-parallel paradigm, HELP proposes a two complementary
  778. programming level to express data-parallel processing and
  779. data-parallel object migration.
  780.  
  781. HELP model is based on hyper-space notion. An HELP program defines one
  782. or several hyper-spaces. The programmer-handled data parallel objects (DPO)
  783. are placed in those hyper-spaces. In the HELP model, applications of
  784. operators are clearly distinguished from data transfers because of the
  785. two levels of programming: calculating operators on objects are
  786. executed along a subset of hyper-space points, while communications
  787. are realized in intra hyper-space DPO migration forms.
  788.  
  789. An hyper-space is defined as a cartesian reference of positive
  790. coordinate points. A virtual processor (VP) is associated to each
  791. point. Whereas informations about data distribution are linked to the
  792. hyper-space axes, each hyper-space groups the DPO using the same
  793. distribution.
  794.  
  795. The DPO are multi-dimensional arrays allocated on compact sets of
  796. hyper-space points. Two DPO allocated on the same hyper-space point set
  797. are said to be ``conforms''. The microscopic level allows the programming
  798. of arithmetic and logical operators; they will be executed concurrently
  799. on the DPO element values. An operator is processed on each point: it
  800. does not generate any communications. 
  801.  
  802. The macroscopic view allows to obtain DPO conformity. Migration
  803. primitives are apllied to a complete DPO.  At this level, the
  804. programmer indivisibly handles objects in his hyper-space.
  805.  
  806. Different macroscopic operation classes coexist:
  807. 1- Geometrical data parallel object migration in the hyper-space.
  808. 2- Data parallel object reshape: expand...
  809. 3- Data parallel object duplicate and extract: produces a copy of a DPO 
  810. or a sub-DPO.
  811. 4- Data parallel object shake: the elements of the DPO are interchanged.
  812.  
  813. The HELP model relies on a graphical resolution of data-parallel
  814. algorithms. A workstation environment is suited to interactively
  815. specify data migration via graphical tools, especially for 2 and 3-D
  816. data parallel object. A prototype, HelpDraw, has been defined over the
  817. X window environment. The poster will present differents programs
  818. developed on the HelpDraw environment.
  819.  
  820. This project is supported by Digital Equipment Corporation in the
  821. frame of a Data-Parallel Research Initiative.
  822.  
  823. %------------------------------------------------------------------------------
  824.  
  825.  
  826. /************************************************************************/
  827. /*    Square matrix inversion with GAUSS-JORDAN algorithm        */
  828. /************************************************************************/
  829. /*     ______________________________________________\ x        */    
  830. /*    |     _________________ _________________   /        */
  831. /*    |    |          |1                |            */
  832. /*    |    |          |  1              |            */
  833. /*    |    |          |    1            |            */
  834. /*    |    |          |      1     0    |            */
  835. /*    |    |    (A)      |        1        |            */
  836. /*    |    |          |          1        |            */
  837. /*    |    |          |    0       1    |            */
  838. /*    |    |          |             1  |            */
  839. /*    |    |_________________|________________1|            */
  840. /*   y \ /                                */
  841. /*    v                                */
  842. /************************************************************************/
  843.  
  844. #define N    100
  845. hspace planar x = 2*N , y = N ;
  846.  
  847. DPO float[N,*] at planar(1,1) A;
  848. DPO float[N,*] at planar(N,1) A_INV;
  849.  
  850. #define row(i)            extract(y,i)
  851. #define col(i)            extract(x,i)
  852. #define diag(i)            extract(x,i).extract(y,i).scalar
  853.  
  854. void gauss_jordan(){
  855.    int i ;
  856.    DPO float[*,*] at planar(1,1) M;
  857.  
  858.    /********************* Initialization *************************************/
  859.    M = 0;
  860.    where( ipoint(x)-N == ipoint(y)-1 )
  861.       M = 1;
  862.    on(A) M = A ;
  863.  
  864.    /********************* Diagonalization ************************************/
  865.    for (i=1;i<N;i++)
  866.       where ( ipoint(y) <> i )
  867.      M -= M.row(i).expand(y) * M.col(i).expand(x) / M.diag(i) ;
  868.  
  869.    /********************* Compute result on X ********************************/
  870.    on(A_INV)
  871.       A_INV = M / M.dup.shift(x,N+1-ipoint(y)).col(N).expand(x,N-1);
  872. }
  873. %------------------------------------------------------------------------------
  874.  
  875. ********************************************************************************
  876.  
  877. From: angus@atc.boeing.com
  878.  
  879. Scott,
  880.     Try ordinary C++. All of the following applications  were 
  881.     (or are being) written with parallel computers in mind.
  882.     The all use C++ as is without extensions.
  883.  
  884.     BTW: I will be giving a tutorial at Supercomputing92 on 
  885.     this stuff.  You might be interested.
  886.  
  887. /ian
  888.     
  889.  
  890. @INPROCEEDINGS{dscfd,
  891.     AUTHOR = "I. G. Angus and W. T. Thompkins",
  892.     TITLE = {{Data Storage, Concurrency, and Portability: An Object
  893.         Oriented Approach to Fluid Dynamics}.},
  894.     BOOKTITLE = {Fourth Conference on Hypercubes, Concurrent
  895.         Computers, and Applications},
  896.     YEAR = 1989
  897.     }
  898.  
  899. @INPROCEEDINGS{ftoc++,
  900.     AUTHOR = "I. G. Angus and Janice L. Stolzy",
  901.     TITLE = {{Experiences Converting an Application from Fortran to
  902.         C++: Beyond f2c}.},
  903.     BOOKTITLE = {C++ at Work Conference},
  904.     MONTH = "November",
  905.     YEAR = 1991
  906.     }
  907.  
  908. @INPROCEEDINGS{image_a,
  909.     AUTHOR = "I. G. Angus",
  910.     TITLE = {{Image Algebra: An Object Oriented Approach to Transparently
  911.             Concurrent Image Processing}.},
  912.     BOOKTITLE = {Scalable High Performance Computing Conference},
  913.     YEAR = 1992
  914.     }
  915.  
  916. @INPROCEEDINGS{cfdbc,
  917.     AUTHOR = "I. G. Angus",
  918.     TITLE = {{An Object Oriented Approach to Boundary Conditions
  919.         in Finite Difference Fluid Dynamics Codes}.},
  920.     BOOKTITLE = {Scalable High Performance Computing Conference},
  921.     YEAR = 1992
  922.     }
  923.  
  924. @INPROCEEDINGS{dwf1,
  925.     AUTHOR = "D. W. Forslund and others",
  926.     TITLE = {{Experiences in Writing a Distributed Particle Simulation
  927.         Code in C++}.},
  928.     BOOKTITLE = {USENIX C++ Conference},
  929.     YEAR = 1990
  930.     }
  931.  
  932. @INPROCEEDINGS{dwf2,
  933.     AUTHOR = "David Forslund and others",
  934.     TITLE = {{A Distributed Particle Simulation Code in C++}},
  935.     BOOKTITLE = "Computing in Civil Engineering",
  936.     YEAR = 1992,
  937.     MONTH = "June",
  938.     }
  939.  
  940. @INPROCEEDINGS{budge_uc++,
  941.     AUTHOR = "K. G. Budge, J. S. Peery, A. C. Robinson",
  942.     TITLE = {{High Performance Scientific Computing Using C++}.},
  943.     BOOKTITLE = {USENIX C++ Conference},
  944.     YEAR = 1992
  945.     }
  946.  
  947. @INPROCEEDINGS{acr_asce,
  948.     AUTHOR = "Allen Robinson and others",
  949.     TITLE = {{Massively Parallel Computing, C++ and Hydrocode Algorithms}},
  950.     BOOKTITLE = "Computing in Civil Engineering",
  951.     YEAR = 1992,
  952.     MONTH = "June",
  953.     }
  954.  
  955. @INPROCEEDINGS{rhale1,
  956.     AUTHOR = "James Peery and Kent Budge",
  957.     TITLE = {{Experiences in Using C++ to Develop a Next Generation
  958.         Strong Shock Physics Code}},
  959.     BOOKTITLE = "Computing in Civil Engineering",
  960.     YEAR = 1992,
  961.     MONTH = "June",
  962.     }
  963.  
  964. @INPROCEEDINGS{paragon,
  965.     AUTHOR = "C. M. Chase and others",
  966.     TITLE = {{Paragon: A Parallel Programming Environment for Scientific
  967.         Computing Using Communications Structures}.},
  968.     BOOKTITLE = "International Conference on Parallel Processing",
  969.     YEAR = 1991,
  970.     }
  971.  
  972. ********************************************************************************
  973.  
  974. From: rbe@yrloc.ipsa.reuter.COM (Robert Bernecky)
  975.  
  976. You might want to look at APL and J.
  977.  
  978. References include (somewhat outdated):
  979.  
  980. a. ACM SIGAPL Quote Quad Conference Proceedings for 1990, 1991, 1992.
  981.  
  982. b. IBM Journal of Research and Development. (Most recent issue):
  983.     "25th Anniversary of APL"
  984.  
  985. Bob
  986.  
  987. ********************************************************************************
  988.  
  989. From: Roland Ruehl <ruehl@iis.ethz.ch>
  990.  
  991. We have developed the parallelizing Fortran compiler Oxygen, which
  992. substantially differs from Fortran D / HPF in its run-time support. There was
  993. a paper on performance of compiler generated parallel code on various
  994. platforms in ICS 92 (Washington).
  995.  
  996. ---------------------------------------------------------------------------
  997.  
  998. Roland Ruehl                                     Phone:     +41 1 256 51 46
  999. Integrated Systems Laboratory                    Telex:     53 178 ethbi ch
  1000. ETH-Zuerich                                    Telefax:     +41 1 252 09 94
  1001. Switzerland                                     E-mail:   ruehl@iis.ethz.ch
  1002.  
  1003. ********************************************************************************
  1004.  
  1005. I don't mean to offend, but the list from your comp.parallel
  1006. posting:
  1007.  
  1008.  
  1009.         Fortran-D (and variants)
  1010.         HPF
  1011.         DINO
  1012.         P++
  1013.         Parti and Block-Structured Parti
  1014.         pC++
  1015.         GenMP
  1016.         LPAR
  1017.         KALI
  1018.         C*
  1019.  
  1020. consists of systems that are rather obscure or still
  1021. under development.  I have organized a workshop with
  1022. Cherri Pancake where we will present what I like to
  1023. call "mainstream systems" for parallel computing.  These
  1024. are systems that are robust, supported, and heavilly used
  1025. outside of the groups that created them.  These are issues
  1026. of top priority for scientific programmers who are more
  1027. concerned with the nature of the application than with
  1028. the computer science (which may not apply to you). 
  1029.  
  1030. None of these mainstream systems appear in your list.  They
  1031. are:
  1032.  
  1033.    Express
  1034.    PVM
  1035.    Linda
  1036.  
  1037. These are by far the most commonly used tools for parallel
  1038. scientific computing.   If you want more invormation on 
  1039. these tools, contact their developers.  I don't have email
  1040. address for the other two, but you cant get Linda information
  1041. mailed to you if you contact Sudy B. at
  1042.  
  1043.    sudy@sca.com
  1044.  
  1045. By the way, some other very important tools are:
  1046.  
  1047.    SISAL
  1048.    PCN
  1049.  
  1050. They are quite different than the ones you list above in that
  1051. they are nonimperitive languages designed to support concurrent
  1052. processing.  They are well worth checking out though they will
  1053. never see heavy use (in my not-so-humble opinion) because they 
  1054. are so different from C or Fortran.
  1055.  
  1056. --Tim
  1057.  
  1058. ********************************************************************************
  1059.  
  1060. From: sp@beta.lanl.gov (Stephen W Poole)
  1061.  
  1062. About a year ago a CS student from Canada (Ontario ?) wrote part of 
  1063. a class on this subject. I will try and remember and find out the
  1064. paper. It was available via the net. You might want to look for grins at
  1065. some of the work done at IBM , also in the early days of HPFF there 
  1066. was a raft of papers published on Data Parallel Fortran. You might also 
  1067. look at SISAL and Pandore'.
  1068.  
  1069. Steve...
  1070.  
  1071. ********************************************************************************
  1072.  
  1073. From: "Neelakantan Sundaresan" <nsundare@moose.cs.indiana.edu>
  1074.  
  1075. Hi,
  1076. I would be very much interested in the summary that you make.
  1077.  
  1078. By the way, pC++ is from Indiana university and references include
  1079. 1. Lee and Gannon - Object-Oriented Parallel Programming-Supercomputing '91
  1080. 2. Gannon and Lee - On Using Object Oriented Parallel Prog to build
  1081. Distributed Algebraic Abstractions, CONPAR '92.
  1082. 3. Gannon and Lee - Object oriented parallelism: pC++ ideas and
  1083. experiments, Proceedings of joint symposium on parallel processing '91,  Japan.
  1084. thanks
  1085. Neel
  1086.  
  1087. ********************************************************************************
  1088.  
  1089. From: mccurley@cs.sandia.gov (Kevin McCurley)
  1090.  
  1091. I was amused to see that the two most commonly used models were not on
  1092. your list, namely CM-Fortran (not used much here), and message passing
  1093. in either C or Fortran-77.
  1094.  
  1095. Kevin McCurley
  1096. Sandia National Laboratories
  1097.  
  1098. ********************************************************************************
  1099.  
  1100. From: Steven Zenith <zenith@kai.com>
  1101.  
  1102. You have missed out EASE, SR, Orca, Occam at least.
  1103.  
  1104. --
  1105. Steven Ericsson Zenith
  1106. Disclaimer: Opinions expressed are my own and not necessarily those of KAI.
  1107.  
  1108. ********************************************************************************
  1109.  
  1110. From: twillis@npac.syr.edu (Thomas Willis)
  1111.  
  1112. F77 (with parallel extentions)
  1113. ansi c (with parallel extentions)
  1114. ada (with parallel extentions)
  1115. parallel prolog
  1116. dataparallel C
  1117.  
  1118. I think a case could be made for each as a scientific programming
  1119. language...
  1120.  
  1121. -- 
  1122. -----------------------------------------------------------------------------
  1123. o-----o     T.J. Willis
  1124. |\    |\                                                   Pressure(t)
  1125. | o---+-o   twillis@nova.npac.syr.edu              lim    -------------
  1126. o-+---o |   Research Assistant                     t->oo    Grace(t)
  1127.  \|    \|   Syracuse Center for Computational Science
  1128.   o-----o   Northeast Parallel Architectures Center          << Disclaimer.m
  1129. -----------------------------------------------------------------------------
  1130.  
  1131. ********************************************************************************
  1132.  
  1133. From: cchase@cs.cornell.edu (Craig Chase)
  1134.  
  1135. Yes, I have one to add, the "Paragon" programming environment developed
  1136. at Cornell (not to be confused with the Paragon computer marketed by
  1137. Intel).
  1138.  
  1139. Currently, the best reference on the Paragon environment is the ICPP-91
  1140.  
  1141. Here's my bibtex entry
  1142.  
  1143. @Inproceedings{CCRS91,
  1144.         Author = {Craig Chase and Alex Cheung and Anthony Reeves and
  1145.                 Mark Smith},
  1146.         Title = {Programming For Scientific Computation Using Communication
  1147.                 Structures},
  1148.         booktitle = {International Conference on Parallel Processing},
  1149.         year = 1991
  1150. }
  1151.  
  1152. Paragon is available via anonymous ftp from tesla.ee.cornell.edu in 
  1153. pub/paragon.  It is a programming environment based on a data-parallel
  1154. programming paradigm augmented by programming constructs to better support
  1155. multicomputers.  Paragon is written in C++ and requires a C++ compiler
  1156. The AT&T C++-2.x and g++-1.XX compilers are known to work.
  1157.  
  1158. for more information please contact paragon@ee.cornell.edu
  1159.  
  1160. Craig Chase
  1161.  
  1162. -- 
  1163. "They [La Prensa] accused us of suppressing freedom of
  1164.  expression.  This was a lie and we could not let them
  1165.  publish it."
  1166.  - Nelba Blandon, Interior Ministry Director of Censorship, quoted in
  1167.    The New York Times, 1984
  1168.  
  1169. ********************************************************************************
  1170.  
  1171. From: "Christopher T. Faigle" <cfaigle@npac.syr.edu>
  1172.  
  1173. Scott,
  1174.     Hi.  One parallel programming model that is intended for scientific
  1175. computation, but is not on your list is the MOVIE project, from the Northeast
  1176. Parallel Architectures Center at Syracuse University.  This project is
  1177. based on the idea of in interpreted language (MovieScript) that can be passed
  1178. around MOVIE servers on a network of workstations or massively parallel machines.
  1179.  
  1180.     The MovieScript language is based on PostScript, but is extended to
  1181. include Fortran-90 style index free matrix algebra, among other things, and
  1182. is completely object oriented.  The server is extensible, and has a set of
  1183. CASE tools called MetaShell which ease server extension.  The interpreter uses
  1184. multi-threading with pre-emptive scheduling to achieve real-time properties.
  1185.  
  1186.     Future projects may include a Fortran 90->mps translator, so that
  1187. Fortran-90 programs can be dynamically load balanced, etc.
  1188.  
  1189.     If you want, I can send you the paper we (the MOVIE group) presented
  1190. at the HPDC-1 conference.  Please, however, do not redistribute the paper.
  1191. Although I am listed as the first author, the project has really been
  1192. developed by Dr. Wojtek Furmanski (of the CalTech Concurrent Compter Project);
  1193. the names are simply listed alphabetically.
  1194.  
  1195.     Further, the code is not at release stage yet, and I am not sure what
  1196. format a release will take.  The code currently runs in various forms on
  1197. DecStations, Suns, and our nCube.  Ports to other toys lying around here include:
  1198. CM-5, DecMpp 12000, IBM RS-6000s and SGIs.
  1199.  
  1200. Regards,
  1201. Chris Faigle
  1202. Northeast Parallel Architectures Center
  1203. Syracuse Center for Computational Science
  1204. Syracuse University
  1205. cfaigle@npac.syr.edu
  1206.  
  1207. ********************************************************************************
  1208.  
  1209. From: manu@CS.UCLA.EDU (Maneesh Dhagat)
  1210.  
  1211. Hi Scott, the following language has a different programming
  1212. model from the ones you listed (as far as I can tell).  Like
  1213. FortranD, Dino, Kali, it also has data distribution primitives.
  1214. Let me know how you would compare it to the others, and could
  1215. you please send me a copy of your summary.
  1216.  
  1217.                   Thanks,
  1218.                             Maneesh Dhagat (CS dept, UCLA)
  1219.  
  1220. ------------------
  1221. @INPROCEEDINGS{Bagrodia:UC,
  1222.     AUTHOR = "Rajive L. Bagrodia and K. Mani Chandy and Edmund Kwan",
  1223.     TITLE = "{UC}:  A Language for the {Connection} {Machine}",
  1224.     BOOKTITLE = "Proceedings of Supercomputing '90",
  1225.     PAGES = "525--534",
  1226.     ORGANIZATION = "IEEE Computer Society and ACM SIGARCH",
  1227.     PUBLISHER = "IEEE Computer Society Press",
  1228.     ADDRESS = "New York, NY",
  1229.     MONTH = Nov,
  1230.     YEAR = 1990,
  1231.     DATEREAD = "7-17-91",
  1232.     HAVECOPY = "yes",
  1233.     BIBENTERED = "yes"
  1234.     }
  1235. @ARTICLE{Bagrodia:efficient-implementation,
  1236.     AUTHOR = "Rajive L. Bagrodia and Sharad Mathur",
  1237.     TITLE = "Efficient Implementation of High-Level Parallel Programs",
  1238.     JOURNAL = sigplan,
  1239.     NOTE = "In Proceedings of the 4th International Conference on Architectural Support for Programming Languages",
  1240.     PAGES = "142--153",
  1241.     VOLUME = 26,
  1242.     NUMBER = 4,
  1243.     MONTH = Apr,
  1244.     YEAR = 1991,
  1245.     MYLIB = "yes",
  1246.     DATEREAD = "7-18-91",
  1247.     PRIVATENOTE = "Mapping transformations in UC",
  1248.     HAVECOPY = "yes",
  1249.     REFERENCEDFROM = "Bagrodia:UC"
  1250.     }
  1251.  
  1252. ********************************************************************************
  1253.  
  1254. From: nbm@epcc.ed.ac.uk
  1255.  
  1256. Scott,
  1257.  
  1258. You seem to have essentially a list of programming languages here.  
  1259. If you wish to distinguish Fortran-D from HPF, then I would strongly 
  1260. suggest that Vienna Fortran, developed by Hans Zima and colleagues at 
  1261. Vienna, should be included too.  HPF can be viewed as building on both 
  1262. Fortran-D and Vienna Fortran.  I can put you in touch with Hans if you 
  1263. have difficulty finding references or pointers, but Vienna Fortran is 
  1264. fairly heavily referenced in the compiler and language literature.
  1265.  
  1266. I also note that you do not cite any message-passing interfaces in your 
  1267. list of programming models.  I believe that the vast majority of scientific
  1268. applications running on MIMD machines are written in this manner.  Examples
  1269. of interfaces would be ORNL's PVM, GMD's PARMAC's and EPCC's CHIMP.
  1270.  
  1271. There has also been quite a lot of work done to support particular 
  1272. restricted classes of scientific computations on parallel
  1273. machines.  Examples of this sort of tool which have been developed
  1274. at EPCC include: 
  1275.  
  1276. CAPE --- A Cellular Automata Programming Environment, which ran on a 
  1277. large transputer-based machine;
  1278.  
  1279. PUL-RD (A library to support regular domain decomposition of grid-based 
  1280. problems on parallel machines, which runs on top of our CHIMP message-passing 
  1281. interface on Sun, SGI and IBM Unix workstations, T800 and i860-based
  1282. Meiko Computing Surfaces, PC-hosted transputers, and Fujitsu's AP1000, with
  1283. ports to the CM5 and Intel kit planned.  Other PUL (Parallel Utility Library)
  1284. projects include: PUL-EM for extended message passing functionality such as
  1285. parallel prefix operations; PUL-TF for task farming; PUL-GF for parallel
  1286. file access from applications.  The majority of these utilities offer the
  1287. programmer both a skeletal (ie template-based) interface or a procedural
  1288. (ie library) interface.  
  1289.  
  1290. Recent work in the last few months has led to the implementation of a 
  1291. library for handling (irregular) mesh-based problems on (distributed memory)
  1292. parallel machines in a transparent fashion.  A library for this purpose was
  1293. implemented by a student in our Summer Scholarship Programme this year.
  1294.  
  1295. I would be happy to supply you with further information on any of the above,
  1296. or about EPCC and its other activities.  I hope you find this of interest.
  1297.  
  1298. Neil MacDonald
  1299. Edinburgh Parallel Computing Centre
  1300. The University of Edinburgh
  1301.  
  1302. ********************************************************************************
  1303.  
  1304. From: Jean-Louis.Pazat@irisa.fr (Jean Louis Pazat)
  1305.  
  1306. PANDORE II is a  C based langage with data distribution annotations. 
  1307. The Pandore language is based on a sequential imperative language. The
  1308. design of powerful compile-time techniques is the main purpose of our
  1309. study, so the input language has been restricted to a subset of C,
  1310. without pointers and side-effect functions. Indeed the parallelization
  1311. rules in the compiler would be of no use for such dynamic aspects of
  1312. the C language.  With similar restrictions it is possible to define a
  1313. subset of FORTRAN, so that our technique could easily be applied to
  1314. this language.
  1315.  
  1316. REFS:
  1317.  
  1318. @InProceedings{Pandore91,
  1319.   author =       "Fran{\c c}oise Andr\'{e} and Olivier Ch\'{e}ron and
  1320.                   Jean-Louis Pazat and Henry Thomas",
  1321.   title =        "Efficient Code Generation for Distributed Memory Machines",
  1322.   booktitle =    "Parallel Computing '91",
  1323.   year =         "1992",
  1324.   organization = "Parallel Computing Society",
  1325.   publisher =    "Elsevier Science Publishers B.V.",
  1326.   month =        "September"
  1327. }
  1328.  
  1329. %------------------------------- 1992 ------------------------------------
  1330. @TechReport{Pandore92,
  1331.   author =      "Fran{\c c}oise Andr\'{e} and Olivier Ch\'{e}ron and
  1332.                  Jean-Louis Pazat",
  1333.   title =       "Compiling Sequential Programs for Distributed Memory
  1334.                  Parallel Computers with Pandore II",
  1335.   institution = "IRISA/INRIA",
  1336.   year =        "1992",
  1337.   number =      "651",
  1338.   month =       "April"
  1339. }
  1340.  
  1341. Jean-Louis Pazat.
  1342. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1343. FORTRAN "the infantile disorder", by now 20 years old, is  hoplessly
  1344. inadequate  for  whatever  computer  application  you have in mind today:
  1345. it is now too clumsy, too risky, and too expensive to use. (E.W.Dijkstra)
  1346. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1347. Jean-Louis PAZAT, IRISA 35042 RENNES CEDEX FRANCE        (pazat@irisa.fr)
  1348. Phone  99 84 72 14    |    Fax 99 38 38 32    |    Telex UNIRISA 950 473F
  1349. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1350.  
  1351. ********************************************************************************
  1352.  
  1353. From: Monika Haerdtner <Haerdtner@informatik.uni-stuttgart.de>
  1354.  
  1355. Dear Scott,
  1356.  
  1357. We are developing a programming environment called GRIDS. It is based
  1358. on its own grid based computation model. Find enclosed an abstract of
  1359. the GRIDS idea. If you are interested in more technical information,
  1360. we can send you the project specification. It will be released for
  1361. distribution probably end of november. 
  1362.  
  1363. Regards
  1364. Monika
  1365.  
  1366. ------------------------------------------------------------------------
  1367.  
  1368. GRIDS - An Environment for Parallel Execution of Grid Based Applications
  1369.  
  1370. Currently the situation in scientific and engineering computing can be
  1371. described as follows:
  1372.  
  1373. 1. Numerically intensive applications are preferably executed on
  1374. mainframes or supercomputers, all of them with at most low parallelism
  1375. and shared memory.
  1376.  
  1377. 2. The currently usable compute power does not meet the needs of
  1378. scientific and engineering applications.
  1379.  
  1380. The tempting solution to exploit parallel systems to meet the
  1381. performance needs of scientific applications currently fails due to
  1382. complexity of explicit parallel programming. The wide success of
  1383. parallel computing systems depends on the development of parallel
  1384. problem solvers, which are usable without parallel programming but
  1385. exploit the known parallelism inherent in the problem.
  1386.  
  1387. GRIDS is a specialized solution for the application field of
  1388. grid-based algorithms. Irregular grids are supported. GRIDS offers a
  1389. simple computing model to the user, which allows the use of grid
  1390. constructs. The technical difficulties of parallel execution of grid
  1391. methods are implemented in the GRIDS system and hidden from the user.
  1392.  
  1393. ********************************************************************************
  1394.  
  1395. From: manu@CS.UCLA.EDU (Maneesh Dhagat)
  1396.  
  1397. ...is that of Linda.  Here's the reference:
  1398.  
  1399. Gelernter, David.  Generative Communication in Linda 
  1400. ACM Transactions on Programming Languages and Systems,
  1401. vol.7,no.1,Jan.'85
  1402.  
  1403. Again, when you are ready, could you send me a copy
  1404. of your references.
  1405.  
  1406.         --Maneesh Dhagat (CS dept, UCLA)
  1407.  
  1408. ********************************************************************************
  1409.  
  1410. From: axk8773@usl.edu (Kalhan Ajay)
  1411.  
  1412. Some more:
  1413. 1. Chare Kernel System - Kale et al, UIUC.
  1414. 2. Chores - Eager, Zahorjan, Lazowska UofWashington
  1415.  
  1416. More later (maybe)
  1417. /ajay
  1418. email: kalhan@usl.edu
  1419.  
  1420. ********************************************************************************
  1421.  
  1422.  
  1423.  
  1424.