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

  1. Newsgroups: comp.parallel
  2. Path: sparky!uunet!gatech!hubcap!fpst
  3. From: ukola@kastor.ccsf.caltech.edu (Adam Kolawa)
  4. Subject: Re: Info requested on Parasoft Express and SR.
  5. Message-ID: <1993Jan4.154920.29149@hubcap.clemson.edu>
  6. Sender: fpst@hubcap.clemson.edu (Steve Stevenson)
  7. Nntp-Posting-Host: kastor.ccsf.caltech.edu
  8. Organization: California Institute of Technology, Pasadena
  9. References: <1992Dec30.212722.24048@hubcap.clemson.edu>
  10. Date: 31 Dec 1992 22:17:21 GMT
  11. Approved: parallel@hubcap.clemson.edu
  12. Lines: 467
  13.  
  14. In article <1992Dec30.212722.24048@hubcap.clemson.edu> sundaram@eng.uiowa.edu (Subbiah Sundaram) writes:
  15. >I would like to have some info on Parasoft Express and SR. 
  16.  
  17.  
  18. Here's a rather LENGTHY "summary" of the ins and outs of Express.
  19. Hope it helps.  If anyone wants to add this to the FAQ, feel free.
  20.  
  21. ----------------------------------------------------------------
  22.                           *****************
  23.                           * E X P R E S S *
  24.                           *****************
  25.  
  26.       In  1982 a  team  of  researchers  at the  California  Institute  of
  27.       Technology  built the  original  "Cosmic  Cube" - the world's  first
  28.       practical  parallel  computer  system.  Shortly  after this the same
  29.       group began building a software  development package that culminated
  30.       in the  "Crystalline  Operating  System".  In  1987  members  of the
  31.       original  research  group started  ParaSoft  Corporation,  a Company
  32.       whose  goal was to make  the  lessons  learned  from  this  research
  33.       available to all members of the parallel and  distributed  computing
  34.       worlds.
  35.  
  36.       The result is Express; an integrated software package that addresses
  37.       all phases of the application  development  cycle in an architecture
  38.       independent  manner.  Parallel  or  distributed  programs  developed
  39.       under  Express  run on all  supported  platforms  which  range  from
  40.       supercomputers  from Cray,  IBM,  Alliant,  INTEL and nCUBE  through
  41.       networks  of  personal  workstations  all the way down to PC's.  All
  42.       Express  programs are source code  compatible  across all  platforms
  43.       irrespective of  architecture.  The same Express program will run on
  44.       distributed    and   shared    memory    multi-processors,    vector
  45.       supercomputers  and  workstation  networks  allowing  the freedom to
  46.       choose  development  platforms for convenience and then the code can
  47.       be migrated to a target machine for performance.
  48.  
  49.       Over 1000 sites  world-wide  use Express.  Alliant,  INTEL and nCUBE
  50.       all ship  portions  of Express as  "standard"  development  tools on
  51.       their  platforms.  The  applications  developed  range from research
  52.       topics  such  as  quantum  chemistry  and  high  energy  physics  to
  53.       commercial products such as oil reservoir simulation, fluid dynamics
  54.       and the tracking of stolen cars in Los Angeles.
  55.  
  56.  
  57.       The Express  package is the only  parallel  processing  system which
  58.       addresses  all  four  aspects  of  parallel   program   development;
  59.       algorithm   design,   implementation,   debugging  and   performance
  60.       analysis.
  61.  
  62.       - Algorithm design
  63.     Express  supports all the common  parallel  and  distributed  pro-
  64.     gramming  models  including  data and  functional  decompositions,
  65.     client/server, distributed database, etc...  It includes libraries
  66.     of utilities to support each paradigm.
  67.  
  68.       - Implementation
  69.     Express  contains  tools to visualize and analyze  sequential  and
  70.     parallel  code  and  a  parallelizer  that  automatically  creates
  71.     distributed programs from sequential C and Fortran.
  72.  
  73.       - Debugging
  74.         Express provides NDB, a powerful distributed debugger.
  75.  
  76.       - Performance analysis
  77.     Four  different  types of performance  analysis are built into the
  78.     system  allowing  the  behavior  of the  parallel  or  distributed
  79.     program to be analyzed, visualized and optimized.
  80.  
  81.       In addition to these  features  Express 4.0  contains  utilities  to
  82.       support  static and dynamic  load  balancing,  fault  tolerance  and
  83.       support  for  heterogeneous  systems  built from  multiple  hardware
  84.       types!  While other toolsets  address some of these issues,  Express
  85.       is the only one  that has all of these  items  in a  single  tightly
  86.       integrated package.
  87.  
  88.  
  89.  
  90.  
  91.                      ***********************************
  92.                      * The    E X P R E S S    Toolkit *
  93.                      ***********************************
  94.  
  95.       The four stages of the program  development cycle are addressed with
  96.       different  portions of the Express  toolkit.  Some of the highlights
  97.       are described below:
  98.  
  99.       Before working on the parallel  version of a program it is necessary
  100.       to understand what the sequential version does.
  101.  
  102.       - INSIGHT 
  103.     INSIGHT  allows the progress of  sequential  algorithms  to be
  104.     displayed in a dynamic  graphical  manner.  Updates and refer-
  105.     ences  to  individual  data  structures  can be  displayed  to
  106.     explicitly  demonstrate  algorithm  structure  and provide the
  107.     detailed knowledge necessary for parallelization.
  108.  
  109.       - FTOOL
  110.     FTOOL provides in-depth analysis of a program  including vari-
  111.     able use  analysis,  flow  structure  and  feedback  regarding
  112.     potential  parallelization.  FTOOL operates on both sequential
  113.     and parallel versions of an application.
  114.  
  115.  
  116.       The designing phase of parallel  programming is not effective unless
  117.       there exist tools to implement the selected strategy.
  118.  
  119.          - ASPAR
  120.      An automated  parallelizer that converts sequential C and FOR-
  121.      TRAN programs for parallel or distributed  execution using the
  122.      Express programming models.
  123.  
  124.          - COMMUNICATION LIBRARIES
  125.      Express provides a large library of interprocessor  communica-
  126.      tion functions to simplify the programming  task.  The layered
  127.      system supports several different models including:
  128.            -  point-to-point  communication  through   direct   message
  129.               passing.
  130.            - "global communication" primitives to perform operations on
  131.               distributed data in a collective fashion.
  132.            - "distribution" functions which  allow  data  to  be  moved
  133.               without  explicit  message  passing.  Simple instructions 
  134.               distribute and re-distribute data in any configuration.
  135.  
  136.          - PARALLEL I/O
  137.      Normal sequential Input/Output operations are not adequate and
  138.      need to be  modified  to fit  within a  parallel  environment.
  139.      Express is the only software  system which addresses this fact
  140.      with a runtime I/O system which extends the  functionality  of
  141.      the standard C and FORTRAN  libraries to include useful multi-
  142.      plexing and parallel interfaces that make distributed programs
  143.      more intuitive and easier to develop, use, and maintain.
  144.  
  145.          - PARALLEL GRAPHICS
  146.      Linking the X library into a parallel  program does not insure
  147.      that sensible  graphical  output will appear from the program.
  148.      Express contains a simple but effective  graphics library that
  149.      supports  the same type of  extensions  as the I/O system  and
  150.      displays on most types of devices  including the X window sys-
  151.      tem, PC's  (including  Windows),  Macintoshes,  PostScript and
  152.      many others.
  153.  
  154.  
  155.       In the early days of program development,  debugging was regarded as
  156.       a "black art".  With the advent of high level interactive debuggers,
  157.       developers  now  take  debugging  for  granted.  Until  the  Express
  158.       parallel  debugger  (ndb) came along,  parallel  debugging  was also
  159.       regarded as a "black art".
  160.  
  161.          - NDB
  162.      NDB is a parallel  debugger that goes much further than simply
  163.      providing "a window for each node".  Commands, which are based
  164.      on the  popular  "dbx"  interface,  can be  issued  to  single
  165.      processors or groups of nodes simultaneously.  Programs can be
  166.      debugged  after  they  are  distributed  over  networks,  even
  167.      inhomogeneous networks.
  168.  
  169.  
  170.       Performance  analysis  is  probably  the  most  underrated  area  of
  171.       parallel   and   distributed   processing.  With  the   practice  of
  172.       parallel/distributed  programming  in the infancy stage,  developers
  173.       may  not  understand  the  issues  that  affect  performance  of the
  174.       application.
  175.  
  176.          - CTOOL 
  177.      Analyzes  high  level  overhead  issues  such as the  relative
  178.      amount  of  time  spent  computing,   performing  I/O  and  in
  179.      interprocessor communication.
  180.  
  181.          - ETOOL 
  182.      Shows the relationships  between various  computing  elements.
  183.      Used to understand "why" the overheads observed by CTOOL occur
  184.      by  examining  the  cause  and  effect  relationships  between
  185.      actions in different processors.
  186.  
  187.          - XTOOL 
  188.      Used to  understand  the way that CPU  time is  spent  on each
  189.      processor.  Supports  analysis at the subroutine level or down
  190.      to individual source lines of machine instructions.
  191.  
  192.          - DTOOL 
  193.      Coming in version 4.0 is a  "distribution"  animation  package
  194.      that facilitates  watching the data distributed by the program
  195.      move  through the nodes.  This is the key to  understand-  ing
  196.      the  relationship  between the parallel  and  sequential  ver-
  197.      sions of an application and also to optimizing the distributed
  198.      code at the algorithmic level.
  199.  
  200.  
  201.                   ****************************************
  202.                   * E X P R E S S  I N F O R M A T I O N *
  203.                   ****************************************
  204.  
  205. 1) INSTALLATION, TRAINING, and USE:
  206.  
  207.   Express installation varies depending on the specific platform type. 
  208.  
  209.        - On the WORKSTATION,  network  installation is very simple:  copy
  210.      the  object  code  from  tape to the  directories,  execute  the
  211.      "exsetup" program, and set the environment variable which points
  212.      to the directory  where Express is configured.  This process has
  213.      three easy steps and does not require  them to be performed by a
  214.      system administrator.  Any user can usually do this.
  215.  
  216.        - On  SUPERCOMPUTERS,  installation  is even simpler.  It has only
  217.      two  steps:  copy  files  from  the  tape,  set the  environment
  218.      variables which point to the Express version.
  219.  
  220.        - On  TRANSPUTER  and i860  NETWORKS,  where  Express  also works,
  221.      installation  may  require  installation  of a  UNIX  driver  to
  222.      support attached processors to the machine.
  223.  
  224.   TRAINING on usage of Express can be done in several steps:
  225.  
  226.        - TUTORIAL- Each Express documentation  contains a manual which is
  227.      an Express tutorial.  This manual contains 10 different programs
  228.      describing different programming models and constructs.  This is
  229.      available to every Express user.
  230.  
  231.        - CLASSES- In addition to this tutorial,  ParaSoft  provides three
  232.      levels of Express and Parallel programming classes.  The classes
  233.      are  taught  either at  customer  locations  or at our  ParaSoft
  234.      headquarters.
  235.  
  236.        At least  once a quarter we teach a class at  ParaSoft.  The first
  237.        level class lasts for 2 days.  The second and third level are each
  238.        3 day classes.  We charge  $500.00 for the first level and $700.00
  239.        for the second and third level per student,  with a minimum  class
  240.        size of 10 students.
  241.  
  242.        If the class is  taught  at the  customer's  location,  we  charge
  243.        $5000.00  for the first level and  $7,000.00  for second and third
  244.        level  classes, The number of students is not limited,  however to
  245.        obtain full  benefit the classes  should not be greater than 20-30
  246.        persons.  The class is a real  programming  class,  with  hands on
  247.        experience and a lot of materials.
  248.  
  249.   EASE OF USE 
  250.       In order to write programs in Express there are six (6) basic system
  251.       calls.  At the simplest level, this is:  starting  programs, sending
  252.       and   receiving   messages,   and   reading   system   configuration
  253.       information.  While  most  systems  stop  there,  Express  goes much
  254.       further   and   provides   many  other   needed   utilities:  global
  255.       communication,   global  data  movement  operations,  parallel  I/O,
  256.       parallel  graphics,  automatic  decomposition   routines,  automatic
  257.       dynamic load-balancing tools, ( For instance Express can detect that
  258.       one of the  workstations  in the users setup has just  started to be
  259.       used, and  on-the-fly  can move some work to other  workstations  so
  260.       that the users program can execute as  efficiently  as possible) and
  261.       much more.
  262.  
  263.  
  264. 2) MODEL INTEGRATION and PORTABILITY:
  265.       Express can be used on any machine we  support.  Express is the only
  266.       currently  commercially  available system which supports such a wide
  267.       range of available  hardware.  Express versions can even be mixed on
  268.       the same  machine.  For  instance, on a SUN machine which is a front
  269.       end  for  an  nCUBE,  the  same  user  can  use  Express  on it as a
  270.       workstation version and as an nCUBE front-end.
  271.  
  272.       To  accomplish  this, the  environment  variable  simply needs to be
  273.       switched to point to the desired version of Express.
  274.  
  275.       Express programs are completely portable between different versions.
  276.       What this means is that not a single line of source code needs to be
  277.       changed when moving  program from network of  workstations  to CRAY,
  278.       ipsc,  Ncube,  transputer  network,  etc.  The  only  change  is  to
  279.       recompile and even  recompilation  is the same.  We provide  drivers
  280.       for  compilers on all these  machines so even the Makefile  does not
  281.       need to change.
  282.  
  283.       Express is a large  system but has been very  carefully  designed so
  284.       that  all  of it is  portable.  This  is  very  important.  A lot of
  285.       systems, PVM for  instance,  are not so designed and cannot  support
  286.       portable programming between supercomputers and workstations.
  287.  
  288.  
  289. 3) INTERACTION WITH DISTRIBUTED COMPUTING ENVIRONMENTS/
  290.               HETEROGENEOUS COMPUTING ENVIRONMENTS.
  291.               
  292.       Express  is  designed  for  and  works for  both  homogeneous  and
  293.       non-homogeneous parallel and distributed computing.
  294.  
  295.       Express  Runtime  is a  library  which  needs  is  linked  to user
  296.       programs.  Express programs are normal programs which are built on
  297.       specific  machines.  There are no  restrictions  on usage of other
  298.       systems.  For instance,  Express programs on the ipsc can call all
  299.       NX routines.  In the same fashion,  Express  programs on a network
  300.       of  workstations  can  call  all  RPC  routines.  Even  more,  PVM
  301.       programs can be compiled and run under Express.  We can provide an
  302.       interface library which has all the PVM calls.
  303.  
  304.       Express  by itself  supports  Heterogeneous  programming.  We have
  305.       programs  which run on CRAY and  Delta at the same  time.  At this
  306.       stage,  we are not  aware of  anybody  else who can do  this.  Our
  307.       programs  are  running  at the same time in  parallel  on CRAY and
  308.       inside the DELTA and communicate  through  regular  Express calls.
  309.       Of course workstation types can be mixed and matched.  Express and
  310.       XDR  functions  can also be called.  Express also provides a large
  311.       library to convert  data types.  In-house we have a tool which can
  312.       automatically  convert a regular  parallel  program which does not
  313.       have any  heterogeneous  constructs in it into a program which can
  314.       run on heterogeneous  types of machines.  This is a new technology
  315.       and we have not yet made a formal production release.
  316.  
  317. 4) MODULARITY/ EASE OF ENHANCEMENT
  318.  
  319.       Express is  designed  to be and is very  modular.  It has  basically
  320.       three  layers:  The  I/O  layer,  common   Express   layer  and  the
  321.       architecture  specific  layer.  All this is described  in our source
  322.       code manual.  If Express was not designed  this way it would be very
  323.       difficult  to run on all the machines  which we support now and will
  324.       support in the future.
  325.  
  326.       The other important feature which we have is specific to the network
  327.       version of Express.  This version has extra  flexibility.  It allows
  328.       users  to  write  their  own  Express  drivers  for new and  diverse
  329.       hardware types.  Normally the network version of Express uses TCP/IP
  330.       and UDP/IP  protocols.  However,  there is a trend to support  other
  331.       ways of connecting machines.  Express has this ability and currently
  332.       we support V7, Bit3, and Junior  networks.  These networks allow for
  333.       dramatic  reduction  of latency and increase in  transmission  rate.
  334.       These  networks are supported  through the above  mentioned  drivers
  335.       mechanism.
  336.  
  337.       Normally  the driver is a piece of code on the order of 200 lines of
  338.       C code, which is linked to Express  code.  The driver is at the user
  339.       level.  It allows  Express  users,  in a matter  of  hours,  to have
  340.       diverse  networks  running.  For  instance, it is very simple to get
  341.       HIPPI running in a bare protocol  through these drivers.  Again, the
  342.       documentation  we provide for our  customers is a short manual which
  343.       is very much like a "cook-book"  that  describes  how to write these
  344.       drivers.
  345.  
  346.       Of course Express supports  ULTRANET, token ring, FTDI and all other
  347.       networks which support TCP/IP by default.
  348.  
  349.  
  350. 5) LANGUAGES, MACHINES, NETWORKS SUPPORTED
  351.  
  352.       Express  3.2.5 is available  in both C and  Fortran,  with ADA under
  353.       development.
  354.  
  355.       PLATFORMS SUPPORTED are:
  356.       INTEL - iPSC2,  iPSC/i860,  iWARP,  DELTA,  CRAY-  X-MP,  Y-MP,  IBM
  357.       370/3090,  ES9000, nCUBE - nCUBE2, 2E and 2S, Workstations  include:
  358.       HP9000/700,  IBM  RS/6000,  SGI, SUN and DEC.  We are  currently  in
  359.       process of porting to Paragon,  CM5, KSR-1,  Convex MPP, Cray's MPP,
  360.       and   several   non-domestic   supercomputing   platforms.  Recently
  361.       completed ports also include IBM's PVS (Power Visualization System),
  362.       and the HPSSL Multiprocessor.
  363.  
  364.       Another  feature  which  Express  provides is the ability to support
  365.       forwarding,  and  what  comes  with  it is the  ability  to  support
  366.       inhomogeneous   communication   hardware.  It  is  possible  to  run
  367.       programs on Express and have part of the system communicate  through
  368.       TCP/IP and the other part  communicate  through a V7 network  at the
  369.       same time.  The same holds for HIPPI.  Express is the only  parallel
  370.       system that we know of which can do this now!
  371.  
  372. 6) NETWORK INTELLIGENCE 
  373.    
  374.       - Express automatically detects the network interface on the system.
  375.     It knows  whether to use  TCP/IP  and V7 or BiT3 or HIPPI  without
  376.     human intervention!
  377.  
  378.       - Express   also  has  encoded  in  it   knowledge   about   network
  379.     performance.  When it generates  network traffic it is careful not
  380.     to generate traffic which will degrade performance of the program.
  381.  
  382.       - Express  has also the  ability to detect  whether  the  machine on
  383.     which  it runs is  overloaded  and  smoothly  move  work to  other
  384.     machines without any user  intervention.  No other parallel system
  385.     we are aware of provides this level of technology.
  386.  
  387. 7) DOCUMENTATION
  388.  
  389.       Express  documentation  is very  extensive.  The basic manual set is
  390.       provided in two volumes:  User Guide  (approximately  300 pages) and
  391.       Reference Guide (also approximately 300 pages).
  392.  
  393.       Each language has its own set of manuals,  which means that there is
  394.       a separate  User Guide and  Reference  Guide for C and Fortran.  The
  395.       same set is in preparation for ADA.  Express has a tutorial of about
  396.       50 pages, which also includes separate manuals for C and Fortran.
  397.  
  398.       In addition to this there are other manuals which are common for all
  399.       Express systems.
  400.  
  401.       Each particular implementation has an Introductory Guide of about 30
  402.       pages.  Each described manual has an extensive and common index.  We
  403.       provide the manuals in hard copy and we also ship  postscript  files
  404.       of  the  manual  with  each  system.  This  allows  users  to  print
  405.       additional copies of the manuals on their postscript printers.
  406.  
  407.       In addition  each system comes with the Reference  Guide  on-line in
  408.       the form of manual pages.  As mentioned before, Express has a Source
  409.       Code manual, a Drivers manual, and some additional smaller manuals.
  410.  
  411. 8) PRICING 
  412.       The cost of the Express system depends on several factors  including
  413.       the hardware type and whether it is for  commercial,  government  or
  414.       academic use.  There are several very  attractive  pricing  programs
  415.       for each.
  416.  
  417.       WORKSTATIONS:
  418.       - UNIVERSITY  - We now offer a site  license  for ALL  versions  of
  419.     workstations  (DEC,HP,IBM,SGI  and SUN at this  time),  unlimited
  420.     usage  (users,  machines,  and types) for a yearly  annual fee of
  421.     $2,000.  ($3,000  overseas) What this program includes is:  
  422.     support,  updates,  manuals,  both  versions of Express for C and 
  423.     FORTRAN,  on  machines:  Sun,  IBM/rs6000,  HP,  SGI, Dec. or any 
  424.     combination of the above to run in a heterogeneous environment.
  425.  
  426.       - GOVERNMENT  - A  similar  program  for  these  agencies  is being
  427.     considered  for a  somewhat  higher  annual  fee,  which will  be
  428.     announced in '93.
  429.  
  430.       - COMMERCIAL - The regular price of Express for workstations starts
  431.      at just $1,500.00 per language per architecture.  (4 workstations
  432.     & a single language for a single architecture).  For a version of
  433.     Express with two  languages,  the price is $3,000.00  for up to 4
  434.     workstations.  To add an  architecture,  add the price  for the C
  435.     and/or FORTRAN licenses ($1,500.00 or $3,000.00.)  If more than 4
  436.     workstations are being used, additional  workstation licenses may
  437.     be added at a cost of $500.00 per additional workstation.
  438.  
  439.       SUPERCOMPUTERS - For Supercomputers,  Express is priced differently.
  440.       The prices start at only  $3,600.00  per language per  machine.  For
  441.       instance the price of Express on Intel machine for both languages is
  442.       $7,200.00.
  443.  
  444.       SOURCE CODE - The runtime  source code is available  for  $5,000.00.
  445.       This  includes a generic  version of Source  code and  documentation
  446.       ready to lead the user through the port.  The Source code is sold in
  447.       such a form  that it is ready  to be  ported  to new  architectures.
  448.       However the source  license  does not  entitle  the user to sell the
  449.       ported Express  version.  This needs to be negotiated.  Also runtime
  450.       source code  purchases do not include the source to the debugger and
  451.       performance monitor tools.  These are separate source codes.
  452.  
  453.  
  454. 9) MAINTENANCE/SUPPORT
  455.  
  456.       Each Express user is entitled to buy a maintenance contract which is
  457.       priced at 20% of the current  price of the system.  The  contract is
  458.       for one year and can be renewed  annually.  During the  contract the
  459.       customer receives updates,  phone/fax/email  support, bug fixes, and
  460.       help in parallelizing code.
  461.  
  462.       Every  customer  who  has not  been on a  maintenance  contract  can
  463.       purchase an upgrade of the system for 30% of the current cost of the
  464.       system.
  465.  
  466.       Universities and Government agencies have the option to be on annual
  467.       contracts which provide all described services.
  468.  
  469.       Our  support  policy is to respond to  customer  problems  within 24
  470.       hours.
  471.  
  472.  
  473. For further information about the Express software development package
  474. contact:
  475.  
  476. Arthur Hicken
  477. ParaSoft Corporation                      Phone : (818) 792-9941
  478. 2500, E. Foothill Blvd., Suite 205        FAX   : (818) 792-0819
  479. Pasadena, CA 91107                        E-mail: ahicken@parasoft.com
  480.  
  481.