home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / parallel / 2857 < prev    next >
Encoding:
Text File  |  1993-01-05  |  7.8 KB  |  187 lines

  1. Newsgroups: comp.parallel
  2. Path: sparky!uunet!gatech!hubcap!fpst
  3. From: kale@cs.uiuc.edu
  4. Subject: CHARM : more information
  5. Message-ID: <1993Jan5.124424.5559@hubcap.clemson.edu>
  6. Apparently-To: comp-parallel@uunet.uu.net
  7. Sender: news@cs.uiuc.edu
  8. Organization: Dept. of Computer Sci - University of Illinois
  9. Date: Mon, 4 Jan 1993 22:23:28 GMT
  10. Approved: parallel@hubcap.clemson.edu
  11. Lines: 174
  12.  
  13.  
  14. Thanks for the response to our announcement of the CHARM (v3.2)
  15. parallel programming system. This posting includes:
  16.  
  17. 1. A correction to the previous note:
  18.     The name of the directory containing CHARM at a.cs.uiuc.edu is:
  19.     pub/CHARM (and not pub/charm as posted earlier.)
  20.  
  21. 2. Information about a new mailing list for CHARM related discussions,
  22.    and bug reports.
  23.  
  24. 3. As some of you requested information about what CHARM is, I am
  25.    including a brief description of some its features.
  26.  
  27. --------------------------------------------------------------
  28.  
  29. A mailing list for CHARM related discussions has been created.
  30. To become members of this list, send email to listserv@cs.uiuc.edu,
  31. containing the following line in the body of the message:
  32. subscribe charm <Full-name>
  33.  
  34. To send mail to everyone on the list: send it to: charm@cs.uiuc.edu.
  35.  
  36. Bug reports should be sent to charmbugs@cs.uiuc.edu.
  37.  
  38. --------------------------------------------------------------
  39.         Brief description of CHARM features:
  40.  
  41. CHARM is a machine independent parallel programming system. Programs
  42. written using this system will run unchanged on MIMD machines with or
  43. without a shared memory. It provides high-level mechanisms and
  44. strategies to facilitate the task of developing even highly complex
  45. parallel applications. 
  46.  
  47. The programs are written in C with a few syntactic extensions.
  48. It is possible to interface to other languages such as FORTRAN using
  49. the foreign language interface that C provides.
  50.  
  51. Platforms: The system currently runs on Intel's iPSC/860, iPSC/2,
  52. NCUBE, Encore Multimax, Sequent Symmetry, ALLIANT FX/8,
  53. single-processor UNIX machines, and networks of workstations.
  54. It is being ported to a CM-5, Parsytec GC-el, and Alliant FX/2800.
  55. We plan to port it to other parallel machines as they become available.
  56.  
  57. The design of the system is based on the following tenets:
  58.  
  59. 1. Efficient Portability: 
  60.    Locality of data is the cost measure that applies across all
  61.    MIMD machines. The system design induces better data locality. This
  62.    is how it can support machine independence without losing efficiency. 
  63.  
  64. 2. Latency Tolerance: 
  65.    Latency of communication - the idea that remote data will take 
  66.    longer to access - is a significant issue common across most 
  67.    MIMD platforms.  Message-driven execution, supported in CHARM,
  68.    is a very useful mechanism for tolerating or hiding this latency.
  69.    In message driven execution (which is distinct from just 
  70.    message-passing), a processor is allocated to a process only 
  71.    when a message for the process is received. This means when a
  72.    process blocks, waiting for a message, another process may execute
  73.    on the processor. It also means that a single process may block for
  74.    any number of distinct messages, and will be awakened when any
  75.    of these messages arrive. Thus, it forms an effective way of
  76.    scheduling a processor in the presence of potentially large 
  77.    latencies. 
  78.  
  79. 3. Dynamic Load Balancing:
  80.    Dynamic creation of work is necessary in many applications
  81.    programs. CHARM supports this by providing dynamic (as well as
  82.    static) load balancing strategies. 
  83.  
  84. 4. Specific Information Sharing Modes:
  85.    A major activity in a parallel computation is creation and sharing
  86.    of information. Information is shared in many specific modes.  The
  87.    system provides six information sharing modes, each of which may be
  88.    implemented differently and efficiently on different machines. 
  89.  
  90. 5. Reuse and Modularity:
  91.    It should be possible to develop parallel software by reusing 
  92.    existing parallel software. CHARM supports this with a 
  93.    well-developed ``module'' construct, and associated mechanisms.
  94.    These mechanisms allow for compositionality of modules without
  95.    sacrificing the latency-tolerance. With them, two modules, each 
  96.    spread over hundreds of processors, may exchange data in a
  97.    distributed fashion. 
  98.  
  99. The Programming Model:
  100.  
  101. Programs consist of potentially small-grained processes 
  102. (called chares), and a special type of replicated processes.
  103. These processes interact with each other via messages and any of 
  104. the other information-sharing abstractions. There may be thousands
  105. of small-grained processes on each processor, or just a few, depending
  106. on the application.  The ``replicated processes'' can also be used
  107. for implementing novel information sharing abstractions, distributed
  108. data structures, and intermodule interfaces.  The system can be
  109. considered a concurrent object-oriented system with a clear separation
  110. between sequential and parallel objects.
  111.  
  112. Libraries:
  113.  
  114. The modularity-related features make the system very attractive for
  115. building library modules that are highly reusable because they can 
  116. be used in a variety of data-distributions.  We have just begun the
  117. process of building such libraries, and have a small collection of 
  118. library modules. However, we expect such libraries, contributed by 
  119. us and other users, to be one of the most significant aspects of the 
  120. system.
  121.  
  122. Regular and Irregular Computations:
  123.  
  124. For regular computations, the system is useful because it provides 
  125. portability, static load balancing, and latency tolerance via message 
  126. driven execution, and facilitates construction and flexible reuse of
  127. libraries.  The system is unique for the extensive support it provides
  128. for highly irregular computations. This includes management of many 
  129. small-grained processes, support for prioritization, dynamic load 
  130. balancing strategies, handling of dynamic data-structures such as 
  131. lists and graphs, etc.  The specific information sharing modes are
  132. especially useful for such computations.
  133.  
  134. The system has been used for many applications. For example, 
  135. many VLSI-CAD applications (including test-pattern generation, circuit
  136. extraction, etc.) were implemented by B. Ramkumar and P. Banerjee
  137. using CHARM. An implementation of Actors language was carried out by
  138. Chris Houck under the direction of Gul Agha. In addition, several CFD
  139. algorithms, AI algorithms, a molecular dynamics program, etc. have been
  140. written using CHARM.
  141.  
  142. Distribution:
  143.  
  144. The system is available (for research use and evaluation) by anonymous
  145. ftp, from a.cs.uiuc.edu, under the directory pub/CK. The files there
  146. include a manual, installation scripts, a README file that explains
  147. how to install the system on your machine, and the requisite
  148. source/object files. 
  149.  
  150. Associated Tools:
  151.  
  152. 1. Dagger: allows specification of dependences between messages and
  153.    sub-computations within a single process, provides a pictorial 
  154.    view of this dependence graph, and simplifies management of
  155.    message-driven execution. 
  156.  
  157. 2. Projections:  is a performance visualization and feedback tool. The
  158.    system has a much more refined understanding of user computation 
  159.    than is possible in traditional tools. Thus it can provide much 
  160.    specific feedback. Future versions will be able to provide  
  161.    recommendations and suggestions for improving performance. 
  162.  
  163. Future Plans:
  164.  
  165. Some of the ongoing projects based on CHARM include---
  166.  
  167. 1. DP-Charm: A Data Parallel Language, providing a subset of HPF 
  168.    features.
  169.  
  170. 2. Other base languages: The basic ideas and techniques used in CHARM
  171.    are independent of the base language used. We plan to incorporate 
  172.    them in other languages including FORTRAN, C++, and Scheme. 
  173.  
  174. 3. Debugging Tools: Based on the specificity of information available 
  175.    to the runtime system, we plan to develop both trace-based and 
  176.    run-time debugging tools for CHARM.
  177.  
  178. Contact:
  179. L.V. Kale kale@cs.uiuc.edu
  180. Department of Computer Science, (217) 244-0094
  181. University of Illinois at Urbana Champaign
  182. 1304 W. Springfield Ave., Urbana, IL-61801
  183.  
  184.  
  185.  
  186.  
  187.