DEISA Development Environment D2E Mohammad Shahbaz Memon - - PowerPoint PPT Presentation

deisa development environment d2e
SMART_READER_LITE
LIVE PREVIEW

DEISA Development Environment D2E Mohammad Shahbaz Memon - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

RI-222919

www.deisa.eu

DEISA Development Environment D2E

Mohammad Shahbaz Memon Forschungszentrum Juelich GmbH EGI User Forum 2011 Vilnius - Lithuania

slide-2
SLIDE 2

LRZ - Eclipse PTP Training 2

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.

slide-3
SLIDE 3

LRZ - Eclipse PTP Training 3

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
slide-4
SLIDE 4

LRZ - Eclipse PTP Training 4

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

  • perate

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;

slide-5
SLIDE 5

LRZ - Eclipse PTP Training 5

RI-222919

 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.

DEISA Development Environment – 2/2

slide-6
SLIDE 6

LRZ - Eclipse PTP Training 6

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

slide-7
SLIDE 7

LRZ - Eclipse PTP Training 7

RI-222919

DEISA Development Environment

slide-8
SLIDE 8

LRZ - Eclipse PTP Training 8

RI-222919

Demonstration

slide-9
SLIDE 9

LRZ - Eclipse PTP Training 9

RI-222919

Backup Slides

slide-10
SLIDE 10

LRZ - Eclipse PTP Training 10

RI-222919

Eclipse-PTP in a nutshell

slide-11
SLIDE 11

LRZ - Eclipse PTP Training 11

RI-222919

GSI-SSH Integration

slide-12
SLIDE 12

LRZ - Eclipse PTP Training 12

RI-222919

UNICORE-PTP Integration

slide-13
SLIDE 13

LRZ - Eclipse PTP Training 13

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

slide-14
SLIDE 14

LRZ - Eclipse PTP Training 14

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

slide-15
SLIDE 15

LRZ - Eclipse PTP Training 15

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

slide-16
SLIDE 16

LRZ - Eclipse PTP Training 16

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
slide-17
SLIDE 17

LRZ - Eclipse PTP Training 17

RI-222919

Coding & Static Analysis

Static analysis tools

  • Provides “advanced” error checking
  • MPI analysis
  • Barrier deadlock detection
  • OpenMP analysis
  • Concurrency analysis
  • Common OpenMP problems
slide-18
SLIDE 18

LRZ - Eclipse PTP Training 18

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...)

slide-19
SLIDE 19

LRZ - Eclipse PTP Training 19

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)
slide-20
SLIDE 20

LRZ - Eclipse PTP Training 20

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

slide-21
SLIDE 21

LRZ - Eclipse PTP Training 21

RI-222919

Eclipse PTP Perspective Running PE Application

slide-22
SLIDE 22

LRZ - Eclipse PTP Training 22

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
slide-23
SLIDE 23

LRZ - Eclipse PTP Training 23

RI-222919

  • 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/

References