Scalability of Problem Solving Environments
and Wrap Up Session
Ahmed Sameh Minnesota
Wayne Joubert LANL
Barry Smith ANL
John Rice Purdue
Sameh Presentation
* Scalable Algorithms for sparse problems adjust algorithms -- see METIS by Kumar for partitioning and matrix reordering
* SPARSLIB
- Iterative solvers not as robust as he would like
- Can tailor to user's data structures
Barry Smith Presentation
* Levels of abstraction
- Application Interface
- Math Interface
* Data encapsulation(=hidden)
* Use C as an example to remove compiler manipulation
- objects carry with them routines to manipulate objects
- in C specify functions by pointers to routines
* State Encapsulation
- Could use a global array -- common block but this is not good if recursive
- So use a user supplied data structure
John Rice Presentation
* Parallelism can be exploited at all levels from user to utilities
* Data Parallelism in space is key
- need to allow variable in space algorithms
* Collatz conjecture (1970ish) -- time to solve PDE of same order as time to evaluate closed form solution
Joubert Presentation -- I
* Amoco Cray LANL collaboration to develop parallel oil reservoir simulation system
- GUI, visualization, geostatics,history matching. simulation itself
- Want 100 times a Cray2
- Must run overnight
* Need scalability -- PC to MPP
Joubert Presentation -- II
* Port to 128 node T3D -- initially 7-8 mflops per node
- drastic optimization gives 18 mflops/node with 1 to 2 man-months
* 2200 wells, 5 years, 5 million grid points
- run 50 such cases by end of year
* Hindrances
- lack of convergence of architectures and their short lifetime
- no clear standards for sparse linear algebra
- would like standard sparse BLAS so vendor would automatically optimize
Questions from Audience -- I
* Physics of compositional models makes load balancing critical not solver
- however Amoco problem is not of this type
* Smith with usual glee with pointers(!) says we will use unstructured meshes for everything to allow natural load balancing
* General discussion of load balancing ensues but little/new deep thoughts
Questions from Audience -- II
* Memory used could be a serious issue on the web as can't predict how much memory availabe
- somebody claims (remarkably) that cache based machines run irregular meshs as well as regular meshs
* Skjellum notes that pointers in C++ are class relative so can move from machine to machine
* Incorrect discussion of multithreaded models for load balancing irregular problems
Overall Conclusions -- I
* Hardware will change
* Need to support multiple paradigms
* PSE's will deliver scalable libraries
* Need Examples of PSE's inside and outside PDE domain
- Purdue had a table of some 20 PDE PSE's
Overall Conclusions -- II
* PSE's are good but need study of software architecture and tools to build them
* PSE's will build on PSE's
* Can re-use PSE modules and PSE infrastructure
* Standards for Sparse libraries