home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / parallel / 3090 < prev    next >
Encoding:
Text File  |  1993-01-28  |  7.5 KB  |  167 lines

  1. Newsgroups: comp.parallel,uva.cs.mentat
  2. Path: sparky!uunet!ukma!gatech!hubcap!fpst
  3. From: mentat@uvacs.cs.Virginia.EDU (mentat project)
  4. Subject: Mentat 2.0 Available
  5. Message-ID: <1993Jan28.151146.26063@murdoch.acc.Virginia.EDU>
  6. Originator: grimshaw@elf.cs.Virginia.EDU
  7. Keywords: Object-oriented, parallel, C++
  8. Sender: usenet@murdoch.acc.Virginia.EDU
  9. Organization: University of Virginia Computer Science Department
  10. Date: Thu, 28 Jan 1993 15:11:46 GMT
  11. Approved: parallel@hubcap.clemson.edu
  12. Lines: 153
  13.  
  14.  
  15. Mentat: Easy-to-use Object-Oriented Parallel Processing
  16.  
  17. We are pleased to announce the release of Mentat v2.0 - a parallel
  18. object-oriented computing environment based on C++ developed at the
  19. University of Virginia, available FREE via anonymous FTP.
  20.  
  21. ---- What is Mentat? ----------
  22.  
  23. Mentat is an object-oriented parallel processing system designed to
  24. directly address the difficulty of developing architecture-independent
  25. parallel programs. The fundamental objectives of Mentat are to (1) provide
  26. easy-to-use parallelism, (2) achieve high performance via parallel
  27. execution, and (3) facilitate the portability of applications across a
  28. wide range of platforms. The Mentat approach exploits the object-oriented
  29. paradigm to provide high-level abstractions that mask the complex aspects of
  30. parallel programming, including communication, synchronization, and
  31. scheduling, from the programmer. Instead of managing these details, the
  32. programmer concentrates on the application. The programmer uses application
  33. domain knowledge to specify those object classes that are of sufficient
  34. computational complexity to warrant parallel execution. 
  35.  
  36. Mentat combines a medium-grain, data-driven computation model with the
  37. object-oriented programming paradigm and provides automatic detection
  38. and management of data dependencies.  The data-driven computation model
  39. supports high degrees of parallelism and a simple decentralized control,
  40. while the use of the object-oriented paradigm permits the hiding of much
  41. of the parallel environment from the programmer.  Because Mentat uses a
  42. data-driven computation model, it is particularly well-suited for message
  43. passing, non-shared memory architectures.
  44.  
  45. There are two primary aspects of Mentat: the Mentat Programming Language
  46. (MPL) and the Mentat run-time system.  The MPL is an object-oriented
  47. programming language based on C++ that masks the difficulty of the
  48. parallel environment from the programmer.  The granule of computation
  49. is the Mentat class member function.  The programmer is responsible for
  50. identifying those object classes whose member functions are of sufficient
  51. computational complexity to allow efficient parallel execution.  Instances
  52. of Mentat classes are used exactly like C++ classes, freeing the programmer
  53. to concentrate on the algorithm, not on managing the environment.  The
  54. data and control dependencies between Mentat class instances involved
  55. in invocation, communication, and synchronization are automatically
  56. detected and managed by the preprocessor and run-time system without
  57. further programmer intervention.  By splitting the responsibility between
  58. the compiler and the programmer, we exploit the strengths and avoid the
  59. weaknesses of each.  The underlying assumption is that the programmer can
  60. make better decisions regarding granularity and partitioning, while the
  61. compiler can better manage synchronization.  This simplifies the task of
  62. writing parallel programs, making parallel architectures more accessible
  63. to non-computer scientist researchers.
  64.  
  65. The run-time system supports parallel object-oriented computing on top of
  66. a data-driven, message-passing model.  It supports more than just method
  67. invocation by remote procedure call (RPC).  Instead the run-time system
  68. supports a graph-based, data-driven computation model in which the invoker
  69. of an object member function need not wait for the result of the computation,
  70. or for that matter, ever receive a copy of the result.  The run-time system
  71. constructs program graphs and manages communication and synchronization.
  72. Furthermore, the run-time system is portable across a wide variety of MIMD
  73. architectures and runs on top of the existing host operating system.  The
  74. underlying operating system must provide process support and some form of
  75. inter-process communication.
  76.  
  77. Mentat has been distributed to over 50 sites in the US and abroad, and
  78. has been successfully applied to a wide-variety of real-world problems.
  79. We invite new users who wish to learn more about Mentat to write to us
  80. for documentation at
  81.  
  82.     mentat@Virginia.EDU
  83.  
  84. The Mentat system is available FREE via anonymous FTP.  The systems
  85. supported in this release are the Sun 3, the Sun 4, Silicon Graphics
  86. Iris, and the Intel iPSC/860 (gamma).
  87.  
  88. ---- Brief synopsis of this release ----------
  89.  
  90. Mentat Runtime System
  91.     - more runtime error reporting
  92.     - faster kernel
  93.     - more efficient use of regular objects
  94.     - new utilities and options
  95.  
  96. MPLC compiler
  97.     - bug fixes, much more robust
  98.     - select/accept construct supported
  99.     - create() may be overloaded by programmer
  100.     - single inheritance supported for Mentat classes
  101.     - more error checking
  102.     
  103. Application support
  104.     - Mentat version of matrix and vector arithmetic class
  105.     - General C++ version of array and vector classes
  106.     
  107. Supported Platforms
  108.     - Sun 4 (Sparc)
  109.     - Sun 3
  110.     - Silicon Graphics Iris
  111.     - Intel iPSC/860 (requires Sun-based C++ cross-compiler)
  112.     - Intel iPSC/2 is available only by request
  113.     - RS/6000, CM-5, Paragon expected second quarter '93.
  114.  
  115. Documentation
  116.     - Improved users manuals
  117.     - New tutorial with "load-and-go" starter programs
  118.     - On-line manual pages
  119.  
  120.  
  121. Future directions: 
  122.    Our plans for Mentat fall into four categories: applications
  123.    development, system enhancement/maintenance, platform expansion,
  124.    and support for heterogeneous "meta-systems."
  125.  
  126. Applications development: 
  127.    We are collaborating with applications scientists in a wide 
  128.    variety of areas to test ease of use and performance.  We invite 
  129.    participation in this effort. A partial list includes:
  130.     A parallel database management system.
  131.     A general purpose, extensible, stencil algorithm class, used for
  132.       image convolution
  133.       iterative PDE solver
  134.     DNA & protein sequence comparison.
  135.     VLSI automatic test pattern generation.
  136.     Genetic algorithms.
  137.     Minimal Steiner trees.
  138.     2D electromagnetic finite element method.
  139.     Ray tracing.
  140.    This list represents a diverse set of applications. Both
  141.    functional and data parallelism is being exploited, often in
  142.    the same application.
  143.  
  144. System enhancement/maintenance: 
  145.    This includes not only fixing bugs and improving performance, 
  146.    but changing the language to better support applications programmers. 
  147.    In particular changes that ease the cognitive burden whenever possible.
  148.  
  149. Platform expansion: 
  150.    A new generation of parallel machines are here. We are currently
  151.    testing a version of Mentat on the CM-5, and we will port to the
  152.    Paragon as soon as it is available for general use.  We expect our
  153.    support of high-end workstations to expand.  Our next targeted platform
  154.    is the IBM RS/6000.
  155.  
  156. Meta-systems support:
  157.    Applications portability is only the first step. Our objective is
  158.    to support (not just enable) application execution on heterogeneous
  159.    systems comprised of both heterogeneous workstations and parallel
  160.    processors. Our early work with SGI's and Sun IPC's indicates that
  161.    problem decomposition and scheduling are more important than ever. We
  162.    expect heterogeneous workstation support to be part of the standard
  163.    distribution by Spring.  For more information on this aspect of the
  164.    project see University of Virginia, Computer Science TR CS-92-43.
  165.  
  166.  
  167.