Академический Документы
Профессиональный Документы
Культура Документы
rlovas@sztaki.hu www.lpds.sztaki.hu
P-GRADE : Highlights
P-GRADE is a parallel programming environment which supports the whole life-cycle of parallel program development For non-specialist programmers it provides a complete solution for efficient and easy parallel program development Fast reengineering of sequential programs for parallel computers Unified graphical support in program design, debugging and performance analysis Portability on supercomputers and heterogeneous workstation/PC clusters based on PVM (and MPI)
Tools of P-GRADE
GRAPNEL: Hybrid Parallel Prog. Language Graphics to express parallelism C/C++ to describe sequential parts GRED: Graphical Editor GRP2C: Pre-compiler to (C/C++)+(PVM/MPI) DIWIDE: Integrated distributed debugger and animation system GRM: distributed monitoring system PROVE: Integrated visualisation tool TLC Engine: Model checker of Temporal Logic Specifications --> ongoing project with LINZ/GUP
GRP file
Mapping
User mapping
MPI Library
GRM Library
GRM Library
GRP-PVM
C compiler, linker
GRP-MPI
executables
Debugging DIWIDE
Monitoring GRM
Trace file
Visualisation PROVE
Communication model:
point-to-point, synchronous/asynchronous collective (e.g. multicast, scatter, reduce, etc.)
Process model:
single processes process groups predefined process communication templates
GRAPNEL
Hierarchical design levels: Graphics used at application level: Defines interprocess communication topology Port protocols Graphics hides PVM/MPI function calls Support for SPMD programming style Predefined communication patterns Automatic scaling of parallel programs
Communication Templates
Pre-defined regular process topologies process farm pipeline 2D mesh tree User defines: representative processes actual size Automatic scaling
Mesh Template
Tree Template
Process Groups
Hierarchical design (subgraph abstraction) Collective communication (group ports) multicast scatter gather reduce
GRAPNEL
Hierarchical design levels: Graphics used at process internal level C/C++ used at the text level Synch/asynch. comm. Programming in large: Any C/C++ library call can be included in text blocks Graphical support for objectbased programming
GRAPNEL
Structuring facility by macro graphs
GRED Editor
Supports the creation of all the elements of GRAPNEL Drag-and-drop style of drawing Cut/copy/paste/move on graphical objects Automatic port positioning with minimal lengths and crossing of communication channels
GRED Editor
Extremely easy and fast construction of process graph
Automatic arrange of the process graph Automatic resizing of process windows
Cut/copy/paste on graphical objects Macro graph construction at arbitrarily nested level C/C++ code can be edited by any standard text editor
GRP2C Pre-compiler
Automatic generation of PVM and MPI calls based on GRAPNEL graphics GRAPNEL C/C++ graphics GRP2C Generated code C/C++ PVM/MPI
Debugging by DIWIDE
Observing?
High-Speed Switch
Phases of Performance Visualisation Source Code Instrumentation (GRAPNEL/GRED) Runtime Monitoring (GRM)
Visualisation
(PROVE)
Automatic Automatic
Filtering Filtering
Statistics Statistics
GRM monitor
Application-level monitor Tracing + statistics collection Semi-on-line
MM
Prove-rdd GRM (MM) Local host
P-GRADE
DIWIDE GRED PROVE
LM
Sharedmemory buffer
proc 1
proc 2
LM
LM Host 2
Host
Host 1
socket
file operation
Supercomputers
Hitachi SR2201 / HI-UX/MPP (Polish-Japanese School, Warsaw) Cray T3E / UNICOS(Jlich, Germany) Sun Enterprise 10000 / Solaris 8 (Budapest, Hungary)
International installations
Current
UK Austria Spain Portugal Poland Germany Slovakia Greece Japan Mexico USA
Further Developments
Family of parallel programming environments
P-GRADE VisualMP - checkpointing - dynamic load balancing - fault tolerance
(ongoing project)
Conclusion
Current applications in physics and weather forecast Download version and further information: www.lpds.sztaki.hu