DEISA Development Environment D2E Mohammad Shahbaz Memon Forschungszentrum Juelich GmbH www.deisa.eu EGI User Forum 2011 Vilnius - Lithuania RI-222919
. Deisa Development Environment (D2E) is a Eclipse-PTP based tool for scientific applications developers and researchers, offering a standardized and uniform interface to effectively and efficiently develop applications across the heterogeneous DEISA infrastructure. LRZ - Eclipse PTP Training 2 RI-222919
Key Ideas • Tool for developing message-passing and OpenMP programs • Support for running, controlling, and monitoring programs on HPC sites • Support for profiling parallel programs LRZ - Eclipse PTP Training 3 RI-222919
DEISA Development Environment – 1/2 D2E platform offers: an effective environment to facilitate the development of scientific applications; a common user interface to allow scientists operate across different computing platforms, while remaining agnostic to the actual tools deployed on the back-ends; an integrated interface for developing, launching, debugging and profiling applications on DEISA infrastructure; LRZ - Eclipse PTP Training 4 RI-222919
DEISA Development Environment – 2/2 a dynamic platform that can be easily extended to include new tools with the benefit to provide new functionalities; a customizable interface that permits end users personalize views and perspectives according to their needs; a simplified approach for porting applications across heterogeneous environments. LRZ - Eclipse PTP Training 5 RI-222919
D2E components The D2E platform is based on Eclipse technology and integrates: a) exiting tools: – PTP (Parallel tools Platform) – CDT (C/C++ Development Tools) – RDT (Remote Development Tools) a) DEISA developments: – support for GSI-SSH authentication and security improvement for remote connections – support for Module configuration to automatically modify remote user session environment – integration with UNICORE Grid Middleware for job submission – integration with PARAVER for application profiling LRZ - Eclipse PTP Training 6 RI-222919
DEISA Development Environment LRZ - Eclipse PTP Training 7 RI-222919
Demonstration LRZ - Eclipse PTP Training 8 RI-222919
Backup Slides LRZ - Eclipse PTP Training 9 RI-222919
Eclipse-PTP in a nutshell LRZ - Eclipse PTP Training 10 RI-222919
GSI-SSH Integration LRZ - Eclipse PTP Training 11 RI-222919
UNICORE-PTP Integration LRZ - Eclipse PTP Training 12 RI-222919
HPC Application Development - 1/2 Developing scalable applications is becoming ever more complex: Inconsistent interfaces Difficult to learn Expensive to make Slow to keep pace with mainstream application development environment technologies Low productivity LRZ - Eclipse PTP Training 13 RI-222919
HPC Application Development - 2/2 How Can We... ? Enable ultra scalability Minimize time to develop and port applications Lower entry bar for new HPC developers Maximize productivity LRZ - Eclipse PTP Training 14 RI-222919
Eclipse-PTP in a nutshell Eclipse is a Java-based integrated development environment (IDE): all the tools necessary to develop software (editors, compilers, debuggers, profilers, etc.) are accessible from a single GUI Parallel Tools Platform (PTP) , extends Eclipse to support parallel computing platforms C/C++ Development Tooling , extends Eclipse to support C/C++ application development LRZ - Eclipse PTP Training 15 RI-222919
Coding & Static Analysis Eclipse provides a wide variety of coding assistance tools: • Project management • Editing and formatting • Navigation • Advanced searching • Refactoring • Version control LRZ - Eclipse PTP Training 16 RI-222919
Coding & Static Analysis Static analysis tools • Provides “advanced” error checking • MPI analysis • Barrier deadlock detection • OpenMP analysis • Concurrency analysis • Common OpenMP problems LRZ - Eclipse PTP Training 17 RI-222919
Coding & Static Analysis – C/C++ (CDT) • Standard (Makefile) and managed builders • Support for arbitrary toolchains • Visual debugging using GDB • High level views (outline view, call hierarchy, type hierarchy, include browser) • Advanced searching (types, functions, variables, declaration, reference, etc.) • Content assist (automatic completion in the editor) • Context sensitive help • Simple refactorings (rename, extract constant, more coming...) LRZ - Eclipse PTP Training 18 RI-222919
Application Execution Extensible framework for launching & monitoring • System and node status information • Job status (e.g. position in queue) & application status • Job submission & control • Debugger launch • Plug-in adapters to support different resource managers • Job schedulers (e.g LoadLeveler) • Interactive runtime systems (e.g. PE or OpenMPI) • Local or remote system support • Command-line tools executed locally or via ssh connection • Remote proxy agent (can tunnel over ssh) LRZ - Eclipse PTP Training 19 RI-222919
Eclipse Parallel Environment Plug-In • Support for running interactive Parallel Environment applications within the Eclipse PTP framework – with/without LoadLeveler • Support for submitting batch LoadLeveler jobs • Monitor status of running applications • Integrates with existing PTP resource scheduler views LRZ - Eclipse PTP Training 20 RI-222919
Eclipse PTP Perspective Running PE Application LRZ - Eclipse PTP Training 21 RI-222919
Remote Development Tools • Adds transparent remote development capability to CDT • Builds on changes introduced into CDT 5.0 that allow projects to reside remotely • Uses PTP service model to allow development services (e.g. build, index, launch, debug, etc.) to be independently selected as local or remote • Other parts of PTP also use the service model to ensure uniformity and ensure usability • Includes a new remote project creation wizard LRZ - Eclipse PTP Training 22 RI-222919
References • DEISA - http:/www.deisa.eu • D2E - https://work.deisa.eu/svn/WP8/bundle • ECLIPSE - http://www.eclipse.eu • UNICORE - http://www.unicore.eu • PARAVER - http://www.bsc.es/paraver • ECLIPSE PTP - http://www.eclipse.org/ptp/ LRZ - Eclipse PTP Training 23 RI-222919
Recommend
More recommend