Architecture of Scalable Libraries

Michael Hearn Illinois

Hearn Presentation -- Questions

* Usability -- Must Hide Complexity
* Software Development costs time ...

- Immature Computing Environment
- Moving Targets
- Lack of standards
- Complexity

* Portability

- No standard or dominant parallel architecture
- Programming Investment not protected

Hearn -- Answers to problems

- more BLAS?
- Object Oriented?
- PSE's ?

Grimes -- Background

* Manages Mathematical software group in Boeing
* Hired by Sinjovec while he was at Boeing
* BCSLIB is Boeing's IMSL
* Supports sparse matrix library at Boeing

Grimes -- Why is Library/PSE succesful

* Solves a problem that somebody wants
* Useful Interfaces
* Transportable -- must run on 10 platforms from mainframe to many types of WS/PC's
* Affordable sustaining costs
* Can be extended/modified easily
* efficient
* solves as big a problem as possible

Sinjovec

* Scalable libraries are building blocks
* Multimedia Interface
* Geographically distributed
* Likes WWW and suggests need software tools to exploit
* Paradigm shift from homogeneous MPP to metacomputing
* PSE is everything available on network

Sinjovec
Object-Oriented Approach

* Abstract Data types(ADT)

- ADA Modula2 find programs easier to write/re-use

* Interfaces are independent of implementation whereas

- subroutine libraries require user to understand data structures and algorithms

* Parallel Programming

- encapsulate parallelism in coarse grain objects

Sinjovec Briefing I

* Has example of ADA to Fortran linking where needed to use packages to hide Fortran data structures
* Standards for parallel objects are needed

- HPF has started this

* Tools that enhance re-use such as CORBA/OLE are needded but these are sequential

Sinjovec Briefing II

* Interested in secure repositories -- don't keep bringing software over net

- compute servers

* Is an ADA fan
* Has a set of language object oriented features
* need heirarchy of object-oriented abstractions -- ADT's

Skjellum Briefing

* Skjellum agrees with Sinjovec

- Software engineering should be studied and used

* Standard components are not used now!
* Inheritance is a limited value
* hierarchies produce inefficiences as a lot of copying

Questions from the Audience--I

* Hearn -- can one achieve these wonderful software engineering goals?
* Abstraction can lead to higher performance (as allows optimal implementation) or lower performance if too much copying
* Must make libraries allow any decomposition
* Can one cope with changing decompositions between library components
* Don't answer question if realistic to implement!

Questions from the Audience - II

* PBLAS attacked as incomplete by Johnsson and Skjellum

- Need multiple simultaneous problems
- separate operations and data/data layout

* Smith has an approach that seems inconsistent with HPF and does not accept people with a different approach.
* Grimes and Smith use C plus MPI as only transportable solution

Questions from the Audience -III

* Skjellum does not believe in HPF - says C++ will dominate
* Demmel is concerned about portability of numbers between different platforms

- algorithms need to be robust in this area!
- Hearn notes that no two computers agree on the time

* Rice notes no correctness proof is realistic in any real problem