home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / parallel / 2075 < prev    next >
Encoding:
Text File  |  1992-09-08  |  14.4 KB  |  359 lines

  1. Newsgroups: comp.parallel
  2. Path: sparky!uunet!gatech!hubcap!fpst
  3. From: beaudoin@ireq-robot.hydro.qc.ca (Martin Beaudoin)
  4. Subject: pvm vs p4  (Summary of replies)
  5. Message-ID: <1992Sep8.133756.29906@hubcap.clemson.edu>
  6. Apparently-To: <comp-parallel@uunet.uu.net>
  7. Sender: news@ireq.hydro.qc.ca (Netnews Admin)
  8. Organization: Le laboratoire de robotique de l'Institut de recherche
  9.     d'Hydro-Quebec
  10. Date: Tue, 8 Sep 1992 12:52:27 GMT
  11. Approved: parallel@hubcap.clemson.edu
  12. Lines: 345
  13.  
  14. A few weeks ago, I ask this newsgroup about the pros and cons of using
  15. pvm versus p4. Since then, I received some very interesting replies
  16. and also some "I am interested in the replies you will get, could you
  17. post a summary please...".
  18.  
  19. So here it goes. I would also like to thank everyone who replied to my
  20. question.
  21.  
  22. Martin Beaudoin                         mbeaudoin@ireq-robot.hydro.qc.ca
  23. Institut de recherche d'Hydro-Quebec    mbeaudoin@ireq-robot.uucp
  24. Varennes, QC, Canada   J3X 1S1          +1 514 652-8136
  25.  
  26. -------------------------------------------------------------------------
  27.  
  28. From: gropp@antares.mcs.anl.gov (William Gropp)
  29. To: beaudoin@ireq-robot.hydro.qc.ca
  30. Cc: 
  31. Subject: Re: pvm vs p4
  32. Date: Tue, 18 Aug 92 16:34:51 CDT
  33.  
  34. There are lots of differences between p4 and pvm.  Let me summarize and
  35. then go into more details.
  36.  
  37. pvm is small and provides a simple way to pack several different types
  38. (integers and doubles, for example) into a single message.  It is optimized
  39. for a heterogenous environment.
  40.  
  41. p4 is larger than pvm and provides sends and receives, as well as a variety
  42. of shared memory operations.
  43.  
  44. There are a number of technical details that you should know.  p4's 
  45. messaging model is implemented with a variety of services; for example, 
  46. on an Intel Touchstone, fast Intel-specific routines are used.  pvm's
  47. implementations (to date) are all based on sockets.
  48.  
  49. PVM's implementation requires that data be copied one more time than 
  50. p4's (it has to be staged until the message buffer is flushed).  pvm also
  51. uses a daemon on each processor, so that a message passes through 2 
  52. intermediate processes before reaching the destination process.  p4 sends
  53. messages directly from sender to receiver; connections are opened as
  54. needed.  In my tests on 2 SPARC IPX's, p4 was roughly twice as fast as
  55. pvm.
  56.  
  57. Finally, there is the issue of ease-of-use.  My model of a parallel 
  58. job is
  59.  
  60.     foo -np 4 <other arguments>
  61.  
  62. where a sequential job is
  63.  
  64.    foo <other arguments>
  65.  
  66. Neither p4 nor pvm make this simple, but it is possible to support in p4
  67. (I have code that you may be interested in).  Under pvm, there is currently
  68. no way to interrogate the pvm daemon, making it impossible to just
  69. connect to the daemon and run.  The pvm model seems to be
  70.  
  71.     generate a file of hosts
  72.     start up a pvmd
  73.     Move your program (or create a link) to where pvm expects to find the
  74.        executable (p4 doesn't require the executable to be in any 
  75.        particular place).
  76.     Start your job (note that pvm doesn't propagate the enviroment, such
  77.        as command line arguments, working directory, and the like)
  78.     (probably) kill the pvm daemon so that you can use pvm later.
  79.  
  80. You CAN avoid the steps of setting up and killing the pvm daemon ONLY if
  81. you can use all of the machines that may be in the pvm set.  For example,
  82. if I say that you can use my workstation only during certain times of day,
  83. or only for jobs that are small and short, you'd need to create a special
  84. pvm daemon for each such use.  Thus, you can only create a pvm daemon and
  85. let it sit around if it is always acceptable to run jobs on any of the 
  86. processors the daemon knows about.  There has been some talk of using a
  87. load-average monitor to improve this, but our experiance has been that 
  88. that is not sophisticated enough.
  89.  
  90. An advantage of pvm is that there is a large, well funded group working on
  91. it.  It is possible that they will fix some of these problems, though
  92. others are intrinsic in the design of the system.  One possibility is 
  93. to use a system that allows you to switch between p4, pvm, and others;
  94. I've written such a system (which also handles the initial interface,
  95. and the in the pvm case, handles propagating the environment to the
  96. other workers in a parallel application).  Let me know if you would like
  97. more information.
  98. Bill Gropp
  99.  
  100. -----------------
  101.  
  102. From: "Christian P. Roberts" <cpr4k@holmes.acc.Virginia.EDU>
  103. To: Martin Beaudoin <beaudoin@ireq-robot.hydro.qc.ca>
  104. Subject: Re: pvm vs p4
  105. Date: Tue, 18 Aug 1992 17:46:57 -0400
  106.  
  107. In article <1992Aug18.200509.19894@hubcap.clemson.edu> you write:
  108. |> I would like to know the pros ans cons of using pvm rather than p4
  109. |> over a network of Suns.
  110. |> 
  111.  
  112.   I don't know about p4, but one thing to factor in is whether
  113. you might ever want to run in a heterogeneous environment.  Maybe
  114. you're networking Suns right now, but down the road ...  PVM
  115. works well over different machines (provided you have the same
  116. version installed on them).  The folks at Oak ridge are aware
  117. of this problem and are going to try to resolve it in the future.
  118.  
  119. --
  120.  
  121. Chris Roberts                     Academic Computing Center
  122. cpr4k@virginia.edu                University of Virginia           
  123. (804) 982-4693                    Charlottesville, Virginia 22903
  124.  
  125. ----------------------
  126.  
  127. From: sudy@sca.com (Sudy Bharadwaj)
  128. To: mbeaudoin@ireq-robot.hydro.qc.ca
  129. Subject: pvm/p4.
  130. Date: Wed, 19 Aug 92 08:16:03 EDT
  131.  
  132.  
  133.  Hello,
  134.  
  135.  I read your posting regarding pvm and p4.  We have an environment called
  136. Linda which allows an application to execute over a network of Suns.
  137. The big difference between our and pvm/p4 is that we utilize a shared
  138. memory model, while pvm/p4 utilize a distributed memory model.
  139.  
  140.  If you would like further information, please send me your full
  141. mailing address, and I will be happy to send it to you.
  142.  
  143. Sudy Bharadwaj                                          Phone: (203) 777-7442
  144. Director of Sales
  145. Scientific Computing Associates, Inc.                   Fax:   (203) 776-4074
  146. One Century Tower
  147. 265 Church Street
  148. New Haven, CT 06510-7010                                email: sudy@sca.com
  149.  
  150. -----------------
  151.  
  152. From: fsang@kira.lerc.nasa.gov (Angela Quealy)
  153. To: mbeaudoin@ireq-robot.hydro.qc.ca
  154. Subject: Re: pvm vs. p4
  155. Date: Thu, 20 Aug 92 16:55:41 -0400
  156.  
  157.  
  158. I've used both.  In fact, there are several similar packages out
  159. there:  PVM, P4, TCGMSG, PICL and APPL.  I developed APPL at
  160. NASA Lewis Research Center, based on the work done at Argonne
  161. National Lab with P4 and TCGMSG.  Unfortunately because it was
  162. developed at NASA, it is restricted to distribution within the
  163. USA, so I can't send you a copy.
  164.  
  165. Both p4 and PVM will allow you to run an application across a network
  166. of Suns.  What p4 gives you (and APPL as well), in addition to that, 
  167. is portability.  You can take that application which runs across the network, 
  168. and move it to an Intel hypercube, and it will run across the nodes of the
  169. hypercube.  The applications written with p4 are portable, in fact, 
  170. to all of the platforms on which p4 has been implemented.  
  171.  
  172. PVM is "portable" to the hypercube, but that means that
  173. you can use the Intel as a "node" in the distributed environment.
  174. PVM only talks to the host of the hypercube.  If you wanted your code
  175. to run across the nodes of the hypercube, you'd have to replace your
  176. PVM communication primitives with calls to Intel's message passing
  177. library.  That may change in the future, but at the moment, that's where
  178. the basic difference lies.
  179.  
  180. PVM is a very nice package for doing computations across a network of
  181. heterogeneous machines.  It also seems to be widely used.  I was
  182. able to code and run some simple examples in about an hour.
  183. It took a little longer to get a P4 application running, but they've
  184. made a lot of improvements since I've last used it.
  185.  
  186. Look into TCGMSG from Argonne as well.  It was developed by
  187. Robert Harrison.
  188.  
  189. Angela Quealy
  190. fsang@kira.lerc.nasa.gov
  191.  
  192. ***********************************************************************
  193. *  Angela Quealy                        fsang@kira.lerc.nasa.gov      *
  194. *  Sverdrup Technology, Inc.            (216) 826-6642                *
  195. *  NASA Lewis Research Center Group                                   *
  196. ***********************************************************************
  197.  
  198.  
  199.  
  200. ----------------------
  201.  
  202. From: levine@antares.mcs.anl.gov (David Levine)
  203. To: mbeaudoin@ireq-robot.hydro.qc.ca
  204. Subject: posting
  205. Date: Mon, 24 Aug 92 09:57:09 CDT
  206.  
  207.  
  208. > I would like to know the pros ans cons of using pvm rather than p4
  209. > over a network of Suns.
  210.  
  211. I use p4 (it was developed down the hall), but have not used pvm.
  212. Having spoke to users of both (and other similar systems) here are some
  213. of the *major* differences I'm aware of:
  214.  
  215. * In addition to the message passing model, p4 supports the shared memory 
  216. model and an integrated combination of the two.
  217.  
  218. * p4 does direct process-to-process communication as opposed to passing
  219. messages to daemons (==> efficient communication).
  220.  
  221. * p4 has an X-based graphical performance monitoring system called Upshot
  222.  
  223. * pvm has a front-end pkg called hence to graphically build a pvm program.
  224. This is similar to the program build that had similar functionality with the
  225. schedule pkg.
  226.  
  227. regards --dave
  228.  
  229. David Levine  levine@mcs.anl.gov  (708)-252-6735   Fax: (708)-252-5986
  230. MCS 221 C-216    Argonne National Laboratory   Argonne, Illinois 60439
  231.  
  232. BTW, for what its worth, I use p4 on our Sun network for code development and
  233. then just recompile/link to run on our Intel systems.
  234.  
  235. ------------------
  236.  
  237. From: Rusty Lusk <lusk@antares.mcs.anl.gov>
  238. To: mbeaudoin@ireq-robot.hydro.qc.ca
  239. Subject: p4 vs. pvm
  240. Date: Wed, 26 Aug 92 17:27:55 CDT
  241.  
  242.  
  243. I am the author of p4, and can speak at least for the p4 side.
  244.  
  245. | I would like to know the pros ans cons of using pvm rather than p4
  246. | over a network of Suns.
  247. | After browsing the documentation of both packages, I am under the
  248. | impression that they are both very similar.
  249.  
  250. For programming network of suns, they are indeed similar, being interfaces to
  251. the socket and xdr libraries.
  252.  
  253. | Are there any noticable differences in the ease of programming or
  254. | speed of execution between the two??
  255.  
  256. Some highly preliminary experiments here have shown p4 slightly faster, but not
  257. significantly so.  Once you are communicating over sockets, system overhead
  258. dominates almost anything.
  259.  
  260. | I am planning to use one the package for my work on computer vision, so I
  261. | would like to receive any comments from anyone with some experience
  262. | with one or both packages.
  263.  
  264. The big difference between the two packages is that p4 is a system for
  265. portable programming of parallel machines in general, and networks of
  266. workstations are just one of the platforms.  You can program shared-memory
  267. machines with either the monitor or message-passing paradigms, and you can
  268. program very fast parallel machines like the Intel Delta.  I routinely debug
  269. programs on shared-memory systems where there is a good parallel debugging
  270. environment, like a Sequent Symmetry or BBN TC-2000, and then do the
  271. production runs on the Delta or IPSC860, without changing any source code.
  272. A port to the CM-5 is in the works.
  273.  
  274. I include the current official blurb in case you don't already have it.  A new
  275. release (version 1.1) is due out in a week or so.  Please let me know if you
  276. have any questions or problems with the system.
  277.  
  278. Regards,
  279. Rusty Lusk
  280.  
  281.                       p4
  282.  
  283.  
  284. p4 is a library of macros and subroutines developed at Argonne National
  285. Laboratory for programming a variety of parallel machines.  Its predecessor
  286. was the m4-based "Argonne macros" system described in the Holt, Rinehart, and
  287. Winston book "Portable Programs for Parallel Processors, by Lusk, Overbeek, et
  288. al., from which p4 takes its name.  The current p4 system maintains the same
  289. basic computational models described there (monitors for the shared-memory
  290. model, message-passing for the distributed-memory model, and support for
  291. combining the two models) while significantly increasing ease and flexibility
  292. of use.
  293.  
  294. The current release is version 0.3.1.  New features added since version 0.2
  295. include: 
  296.  
  297.   + manual enhanced and converted to latex format
  298.   + Emacs info version of the manual for on-line help
  299.   + SYSV IPC support added for several machines (for shared-memory
  300.      multiprocessing on workstations that support multiple processors)
  301.   + instrumentation added for automatic logging/tracing
  302.   + provided better user-control of message-passing/buffer-management
  303.   + high-resolution clock support added for several machines
  304.   + improved error/interrupt handling
  305.   + optional secure server for faster startup on networks
  306.   + optional automatic logging of events for upshot tracing
  307.  
  308. New since version 0.1:
  309.  
  310.   + xdr for communication in a heterogeneous network
  311.   + asynchronous communication of large messages
  312.   + global operations (broadcast, global sum, max, etc.)
  313.   + both master-slave and SPMD models for message-passing programs
  314.   + an improved and simplified Fortran interface
  315.   + an optional secure server
  316.   + ports to more machines
  317.  
  318. p4 is intended to be portable, simple to install and use, and efficient.  It
  319. can be used to program networks of workstations, advanced parallel
  320. supercomputers like the Intel Touchstone Delta and the Alliant Campus
  321. HiPPI-based system, and single shared-memory multiprocessors.  It has
  322. currently been installed on the following list of machines: Sequent Symmetry,
  323. Encore Multimax, Alliant FX/8, FX/800, and FX/2800, Cray X/MP, Sun, NeXT, DEC,
  324. Silicon Graphics, and IBM RS6000 workstations, Stardent Titan, BBN GP-1000 and
  325. TC-2000, Intel IPSC/860, Intel Touchstone Delta, and Alliant Campus.  It will
  326. soon be ported to the CM-5 and to the Intel Paragon.  It is not difficult to
  327. port to new systems.
  328.  
  329. A useful companion system is the upshot logging and X-based trace examination
  330. facility.  The macros to create logs are included in p4.  Upshot (an X program
  331. for graphically displaying the logs) is available separately.
  332.  
  333. You can obtain the complete distribution of p4 by anonymous ftp from
  334. info.mcs.anl.gov.  Take the file p4.tar.Z from the directory pub/p4.  The
  335. distribution contains all source code, installation instructions, a User's
  336. Guide in both ascii text and latexinfo format, and a collection of examples in
  337. both C and Fortran. 
  338.  
  339. To ask questions about p4, report bugs, contribute examples, etc., send mail
  340. to p4@mcs.anl.gov.
  341.  
  342.                                                    Rusty Lusk
  343.                                                    lusk@mcs.anl.gov
  344. ----------------
  345.  
  346. The end.
  347.  
  348.  
  349.  
  350.  
  351. --
  352. Martin Beaudoin                         mbeaudoin@ireq-robot.hydro.qc.ca
  353. Institut de recherche d'Hydro-Quebec    mbeaudoin@ireq-robot.uucp
  354. Varennes, QC, Canada   J3X 1S1          +1 514 652-8136
  355.  
  356.