24
Scicomp 17 2011 © 2011 IBM Corporation Parallel Tools Platform Update A Development Environment for Scientific Applications Greg Watson IBM

Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

  • Upload
    lytuyen

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Parallel Tools Platform Update A Development Environment for

Scientific Applications

Greg Watson IBM

Page 2: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Application Development in HPC

  Developing scalable applications becoming more difficult – Systems are becoming more complex – Applications are becoming more complex

  Tools are not keeping pace with main stream development technologies

– Difficult to learn –  Inconsistent interfaces – Low productivity – Expensive to make – Slow to exploit new technology (e.g. refactoring)

2

Page 3: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Petascale Challenges

  Must be able to exploit ultra scalability – Maximize application performance

– Minimize time to develop and port applications

– Lower entry bar for new HPC developers

– Maximize developer productivity

  Requires coordinated effort – Better languages – Better Libraries

– Better Tools

  Need to avoid same development problems

3

Page 4: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Parallel Tools Platform Goals

  Collaborative Ecosystem Based on Eclipse –  Parallel Tools Platform –  Integrated Tools

  Multi Language Support –  C, C++, UPC, Fortran, X10

  Platform Independence

  Highly Scalable

  Enhanced Productivity –  Lower Entry Point for New Users

4

Page 5: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

  Cross-platform open source framework for highly integrated state-of-the-art development tools

  Integrated tools include: –  Project management –  Advanced editing

–  Automated build system –  Revision control (CVS, SVN)

–  Visual debugging –  Much more…

  Designed to be robust, scalable, extensible, commercial quality   Available for Linux, Unix and Windows   Multi-language support for Java, C, C++, Fortran, Python, Perl,

PHP, and others

5

Introduction What is Eclipse?

Page 6: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation 6

Parallel Tools Platform Enabling Parallel Application Development

parallel  tools  pla*orm  (ptp)   Tools to assist new

breed of programmers to develop parallel

programs

Best practice tools for experienced parallel

programmers

Improve parallel tools and the productivity of

tool developers

Leverage Eclipse ecosystem and community for

development and support

Provide focal point for parallel tool development for a broad

range of architectures

Page 7: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

PTP Application Development Cycle

7

Application Execution

Application Debugging

Coding & Static Analysis

Dynamic & Performance Analysis

Page 8: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation 8

Coding & Static Analysis

  Eclipse –  Advanced editing support, content assist, context sensitive help, searching, etc.

  C/C++ Development Tools (CDT) –  Simple refactorings (e.g. extract constant, extract function, extract local variable,

hide method)   Fortran Development Tools (Photran)

–  Many complex refactorings (e.g. replace old-style Do-Loops, safe delete internal subprogram, permute subroutine arguments, tile loops, fuse loops)

  Parallel Language Development Tools (PLDT) –  MPI Content Assist –  Locate MPI artifacts

–  MPI barrier deadlock detection –  OpenMP concurrency analysis

–  OpenMP common coding problems

Page 9: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Open MPI

9

Application Execution Launching & Monitoring

PBS/Torque

SLURM

MPICH2

  Improves visibility into target system   Single point of interface for launching and

control   Manages interaction with different runtime

systems and job schedulers

LoadLeveler

PE

Page 10: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation 10

Application Debugging Parallel Debugger

  Mid-scale integrated debugger   Tightly integrated with Eclipse   Supports debugging multiple jobs

simultaneously   Utilizes backend debugger (e.g. gdb) for

low level operations   Targeted at SPMD programming models   Supports mixed MPI & thread

debugging   Single process and group operations   Platform for building new debugging

paradigms

  IBM Parallel Debugger   Scalable up to 1M tasks

Page 11: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation 11

Dynamic & Performance Analysis

11

  Perform analysis on the running application using external tools

  Generate results that must be brought back into Eclipse as part of the development workflow

  May require external tool for visualization or other purposes

  TAU, GEM, PPW

  IBM HPC Toolkit

Page 12: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

PTP Roadmap

12

PTP Creation Apr ‘05

PTP 1.0 Mar ‘06

PTP 2.0 Mar ‘08

PTP 3.0 Nov ‘09

2005 2006 2007 2008 2009 2010 2012

Galileo 3.5

Ganymede 3.4

Europa 3.3

Callisto 3.2

Eclipse 3.1

PTP 4.0 Jun ‘10

PTP 5.0 is part of the Eclipse “Indigo” simultaneous release of 41 Eclipse

projects

2011

Helios 3.6

Indigo 3.7

PTP 5.0 Jun ‘11

2013

Juno 3.8/4.2

PTP 6.0 Jun ‘12

Page 13: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

New Features

  Remote Project Synchronization

  Configurable Resource Manager

  Scalable System Monitoring

  PE Developer Edition

13

Page 14: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Remote Project Synchronization (IBM/ORNL)

  Eclipse runs on local workstation, application source resides both locally and remotely

  Pluggable synchronization adapters – Initial implementation uses GIT

  All Eclipse features available using local source copy – Allows off-line development

  Source synchronized with remote system – Configurable; on save and prior to build

  Builds are performed on remote system – Multiple build hosts supported

  Launching and debugging on remote system – Possibly different from the build system

14

Page 15: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

File  Service   Index  Service  

Launch  Service  

Build  Service  

Debug  Service  

Remote Project Synchronization

15

Source  code  copy  

Source  code  copy  

Local   Remote  

Run  

Debug  

Compute  

Edit   Search/Index/NavigaDon  

Synchronize  

Executable  

Page 16: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Configurable Resource Manager (IBM/NCSA)

  Interface to remote batch submission or runtime system   Completely specified by XML definition file   No coding necessary to add support for new system   XML definition files can be importing into workspace and

edited like normal Eclipse projects   Implementation available for PBS   Working on:

– LoadLeveler

– Parallel Environment

– Open MPI/MPICH2

16

Page 17: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Configurable Resource Manager

17

Page 18: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Scalable Batch System Monitoring (IBM/Jülich)

  Based on Jülich’s LLview system   Scalable monitoring of virtually any size system   Currently monitors job status, and limited system status

– Could be extended to provide additional system monitoring   Supports PBS and LL

– Being extended to other job schedulers/runtime systems   Two different polling options

– Per user; simple to install, potentially heavy load on system

– Per system; requires sys admin to install, minimal system load

18

Page 19: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Scalable Batch System Monitoring

19

Page 20: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

PE Developer Edition

  PTP 5.0 (4.0) depending on licensing issues   Desktop support:

–  Windows XP & 7

–  Mac OS X 10.6 –  RHEL & SLES 11

  Support for PE 5.1, 5.2, PE Runtime Edition 1.1   Includes HPC Toolkit   Future versions IBM Parallel Debugger

20

Page 21: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

PTP Committers

  Tu Hong Jun, IBM   Alan Humphrey, Utah   Jie Jiang, NUDT   Claudia Knobloch, JSC   Vivian Kong, IBM   Dieter Krachtus, UTK   Mike Kucera, IBM   John Liu, IBM   Chris Recoskie, IBM

21

  Randy Roberts, LANL   Albert L. Rossi, NCSA   Roland Schulz, ORNL   Wyatt Spear, Oregon   Beth Tibbitts, IBM   Greg Watson, IBM   David Wootton, IBM   Wolfgang Frings, JSC (pending)

Page 22: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Conclusion

22

  Complexity of peta-scale application development is becoming clearer to developers

–  IDEs are starting to be seen as key to improving HPC developer productivity

–  IDEs are becoming more accepted in the HPC community

  Eclipse is now a very mature platform –  Has more users than VS –  Hundreds of commercial products based on Eclipse

  PTP is the only available platform on which to build an HPC development environment

–  PTP developer community is starting to reach critical mass –  Beginning to see a diverse user base forming

  PTP will provide a robust, extensible, and scalable platform for peta-scale application development

Page 23: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Online Information

  Information about PTP –  Main web site for downloads, documentation, etc.

–  http://eclipse.org/ptp

–  Developers’ wiki for designs, planning, meetings, etc. –  http://wiki.eclipse.org/PTP

–  Articles and other documents –  http://wiki.eclipse.org/PTP/articles

23

Page 24: Parallel Tools Platform Update A Development Environment ...spscicomp.org/wordpress/wp-content/uploads/2011/05/watson-Scicomp... · PTP 2.0 Mar ‘08 PTP 3.0 ... UTK Mike Kucera,

Scicomp 17 2011 © 2011 IBM Corporation

Thank You

24