/
The Problem of Application Software The Problem of Application Software

The Problem of Application Software - PowerPoint Presentation

burganog
burganog . @burganog
Follow
342 views
Uploaded On 2020-06-15

The Problem of Application Software - PPT Presentation

Paul C Muzio Director CUNY HPC Center paulmuziocsicunyedu 92510 1 Comments expressed in this presentation are those of the author and do not necessarily reflect the position of the College of Staten Island or the City University of New York ID: 777995

software system compiler development system software development compiler programming models level support fortran government science architectures wcwd computer model

Share:

Link:

Embed:

Download Presentation from below link

Download The PPT/PDF document "The Problem of Application Software" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

The Problem of Application Software

Paul C. MuzioDirector, CUNY HPC Centerpaul.muzio@csi.cuny.edu

9/25/10

1

Slide2

Comments expressed in this presentation are those of the author and do not necessarily reflect the position of the College of Staten Island or the City University of New York

9/25/10

2

Slide3

Discussion Points

Software development cycleProgramming models and computing architecturesEconomic priorities

Government policies/prioritiesEducational systemWhat can we do? (WCWD)

9/25/10

3

Slide4

Software Development Cycle

“An application engineer’s ideal petascale supercomputer would have one powerful processor with direct access to main memory. By contrast, a computer scientist’s ideal petascale

system would have hundreds of thousands of processors of different types and an innovative, distributed memory architecture.”“Unfortunately for many

users,the

computer scientist’s system may be the one that’s built in the near future, as the technology to do otherwise does not exist. The challenge will be to build this kind of system but make it look like the kind the applications the software engineer wants.”

9/25/10

4

Slide5

Software Development Cycle

Years – long term commitment/long term investmentFocused/dedicated effortDomain expertise (not computer scientists)“Cottage industry”Computing platform/programming model stability

Examples:DYNAEPICGAUSSIAN

NASTRAN

The Golden Days: 1960s thru 1980s

9/25/10

5

Slide6

Programming Models/Architectures

System manufacturersIBM and the BUNCH (and Digital, Cray, SGI, Thinking Machines, Denelcor, etc, etc)All had their own

system level compiler development teamsBy 2005, the systems manufacturers that remained, for the most part, no longer had compiler groupsCommoditization of the market has reduced profit margins to the level that compiler groups are not affordable

Compiler design no longer taught in universities

9/25/10

6

Slide7

Programming Models/Architectures

The golden daysFortran and serial computers 1956 thru 1980sFortran and vector computers

1976 thru early 1990sEvolution not revolutionCorollary: Vectorization became successful not just because of the increase in performance, but because the compiler could do most of the work for you!

Ocam’s

Razor

The Brave New World

Autotasking

and

OpenMP

CM Fortran (1990) and HPF (1993) for SIMD computing

PVM (1989)

MPI (1994)

MPI-2 (1996)

shmem

(1994)

Partitioned Global Address Space Programming Models

Co-Array Fortran (1998)

Unified Parallel C

OpenMPI

CUDA

OpenCL

(???)

Corollary: How many times do you want to rewrite your code?

“It’s a Mad, Mad, Mad World”

9/25/10

7

Slide8

Programming Models/Architectures

Historically, we had one programming model for over 30 years, now over 7 different programming models in less than 20 yearsNew HPC architectures may require software developers to use two or three different programming modelsWhat happens to my investment (human and $), if I select the wrong programming model?

Validation and verificationAgainst what configuration(s)?

How many different systems do I need to support?

Now, I have to spend 80% of my time worrying about coding techniques and with only 20% of my time left for science!!

Rewriting software is sideways progress

Where do I get the talent?

9/25/10

8

Slide9

WCWD-Programming Models/Architectures

We need system level compilers, not chip level compilersApplications run on systems not just on chipsComponent manufacturersNeed to take a system level perspective, not just sub-system (because the system level providers can’t afford to do it and are limited by the

component technology)Look at the Apple model, not the PC modelForget the “cluster ready” marketing hype

But HPC is not the market driver, it’s the fringe

But understand that the issues facing HPC today will affect the commodity PC and server market tomorrow

9/25/10

9

Slide10

WCWD-Economic priorities

Subsidies to systems providers/compiler companies for advanced system compiler development?Positive aspectsRe-investment in compiler development as part of the HPCS Program

Cray and IBM system level Co-Array Fortran and UPC compilersHow about some Government support for SGI compiler development?Will Government support for this continue?

Intel’s planned compiler support for Co-Array Fortran (Fortran 2008)

Is half a loaf better than none?

Intel - How about on-the-chip hardware address translation so that we can again think system-wide (at least for memory accesses)?

Portland Group’s PGI Accelerator Programming Model

Better than CUDA and

OpenCL

Directives and portability

9/25/10

10

Slide11

WCWD-Programming Models/Architectures

Chip level support for global addressingCan’t make the processors appear monolithic, but can make memory look shared Provide hardware level support for Global Address Space Program Models such as Co-Array Fortran (CAF) and Unified Parallel C (UPC)

CAF and UPC are much easier programming models than MPIEvolutionary extensions to existing languages (Fortran, C, C++) CAF and UPC can support compiler optimization for communications

Better debugging tools because the compiler has a global view

9/25/10

11

Slide12

Software Development Economics

Industry invested in R&D and application software developmentSeven airframe manufactures, now down to twoIRAD

Automobile companies?Who are the new investors?In the past, a few Government agencies developed new, useful and innovative software

Missions with focused problems to solve

Mission drift

Questions on NASA’s mission in space (and even when it was clear, NASTRAN was externally developed)

DOE is not building nuclear weapons

Government agencies, in general, have a abysmal record for software development

Do people get fired for not meeting schedule/performance specs?

Pleased to see NASA and

DoD’s

focused efforts

9/25/10

12

Slide13

Government priorities

Petascale and ExascaleWhere are the real-world applications?

Fill up the machine so we can justify a bigger one!!High Productivity Computing SystemsWhat happened to the “Productivity”?

Need to focus on applications with economic benefits

Health (cancer, autism,

hiv

, etc)

Economic drivers

Energy

effficiency

Environment

New technology

Petascale

projects on Blue Waters

6 - Astrophysics and turbulence

1 – QCD

2 – Computer science

1 - Monte Carlo simulations

5 - Chemistry/biology

2 - Climate/weather

2 – Earthquakes

9/25/10

13

Slide14

WCWD-Government – Suggested Approach

Funding for software development of “critical applications” (not

fluff, fill up the machine applications)Defined, focused objectiveHands-off approachDefine the need, not the methodology or the technology

Provide validation and verification data, if available

Provide access to system resources

Partial funding

Developer must take partial risk

Competitive

Support multiple, competing efforts

Finite and defined period for development

Bonus to best delivered product

Companies retain IP

Investment tax credits to spur R&D

Application software development

Compiler development

9/25/10

14

Slide15

Educational System

University departments are stove-pipedUpdating of curriculum takes yearsComputer science Design the hammer, but don’t build anythingEngineering and science curricula

Emphasis on theory, not problem solvingNot enough emphasis on computations in course workUniversities/faculty need to recognize that computations is the third leg of research

You can not get a Ph. D. for writing software

Slide16

WCWD-Educational System

Change the undergraduate curriculumRequire engineering and science students to take courses in Numerical algorithmsComputer architecturesProgramming techniques for scientific computing

Require computer science students to take courses in Numerical algorithmsScience and engineering

Encourage interdisciplinary studies

Recognize that software is as valuable as a research paper

NSF continuing efforts to foster change

A big plus

Slide17

Thank you

Questions?

9/25/10

17