Parallel computation, programming systems, graphics and tool design, computer architecture.
This laboratory will build upon the resources of an established center to provide a facility where a staff of trained people will work directly with scientists from a variety of disciplines to design new parallel applications and to study the effectiveness of specialized tools for parallel programming, program restructuring and performance visualization. The research mission of the laboratory will be to use the domain of real world applications to study the problem of designing scalable parallel software.Our specific research projects for this laboratory are: (1) To apply and evaluate existing parallel programming tools to real applications in the physical and social sciences. (2) To investigate the utility of higher level, object oriented abstraction mechanisms in the design of parallel applications. In particular, we will use a new programming methodology based on object oriented design that will allow us to compile programs for a wide variety of massively parallel architectures. (3) To extend the state of the art in performance analysis tools so that they are able to predict performance as machine and problem sizes are scaled. This involves the design of a new generation of algorithm visualization tools that incorporates parallel complexity models andstatic and dynamic analysis of parallel programs with analytical models of machine behavior.

The focus of this work is to apply the concept of program archetypes to the design of an Internet based electronic textbook on parallel programming techniques.An archetype is an abstraction that captures the common structural, computation, and communication features of a set of algorithms. This concept, when embedded in an interactive hypertext environment, provides a new approach to teaching about parallel programming as well as a software engineering foundation for deriving new parallel programs from existing applications. The archetypes work will be expanded to include new areas of application study, including sparse matrix computation in adaptive finite element problems as well as parallel algorithms in computational cosmology. A second aspect of this project is to help integrate the work of these application scientists and of the Indiana MetaText research team that is building electronic textbook software. The goal is to build a MetaText archetype encyclopedia for parallel programming. This laboratory will build upon the resources of an established center to provide a facility where a staff of trained people will work directly with scientists from a variety of disciplines to design new parallel applications and to study the effectiveness of specialized tools for parallel programming, program restructuring and performance visualization. The research mission of the laboratory will be to use the domain of real world applications to study the problem of designing scalable parallel software.Our specific research projects for this laboratory are: (1) To apply and evaluate existing parallel programming tools to real applications in the physical and social sciences. (2) To investigate the utility of higher level, object oriented abstraction mechanisms in the design of parallel applications. In particular, we will use a new programming methodology based on object oriented design that will allow us to compile programs for a wide variety of massively parallel architectures. (3) To extend the state of the art in performance analysis tools so that they are able to predict performance as machine and problem sizes are scaled. This involves the design of a new generation of algorithm visualization tools that incorporates parallel complexity models andstatic and dynamic analysis of parallel programs with analytical models of machine behavior.

The focus of this work is to apply the concept of program archetypes to the design of an Internet based electronic textbook on parallel programming techniques.An archetype is an abstraction that captures the common structural, computation, and communication features of a set of algorithms. This concept, when embedded in an interactive hypertext environment, provides a new approach to teaching about parallel programming as well as a software engineering foundation for deriving new parallel programs from existing applications. The archetypes work will be expanded to include new areas of application study, including sparse matrix computation in adaptive finite element problems as well as parallel algorithms in computational cosmology. A second aspect of this project is to help integrate the work of these application scientists and of the Indiana MetaText research team that is building electronic textbook software. The goal is to build a MetaText archetype encyclopedia for parallel programming.

The focus of this work is to apply the concept of program archetypes to the design of an Internet based electronic textbook on parallel programming techniques.An archetype is an abstraction that captures the common structural, computation, and communication features of a set of algorithms. This concept, when embedded in an interactive hypertext environment, provides a new approach to teaching about parallel programming as well as a software engineering foundation for deriving new parallel programs from existing applications. The archetypes work will be expanded to include new areas of application study, including sparse matrix computation in adaptive finite element problems as well as parallel algorithms in computational cosmology. A second aspect of this project is to help integrate the work of these application scientists and of the Indiana MetaText research team that is building electronic textbook software. The goal is to build a MetaText archetype encyclopedia for parallel programming. This laboratory will build upon the resources of an established center to provide a facility where a staff of trained people will work directly with scientists from a variety of disciplines to design new parallel applications and to study the effectiveness of specialized tools for parallel programming, program restructuring and performance visualization. The research mission of the laboratory will be to use the domain of real world applications to study the problem of designing scalable parallel software.Our specific research projects for this laboratory are: (1) To apply and evaluate existing parallel programming tools to real applications in the physical and social sciences. (2) To investigate the utility of higher level, object oriented abstraction mechanisms in the design of parallel applications. In particular, we will use a new programming methodology based on object oriented design that will allow us to compile programs for a wide variety of massively parallel architectures. (3) To extend the state of the art in performance analysis tools so that they are able to predict performance as machine and problem sizes are scaled. This involves the design of a new generation of algorithm visualization tools that incorporates parallel complexity models andstatic and dynamic analysis of parallel programs with analytical models of machine behavior.

The focus of this work is to apply the concept of program archetypes to the design of an Internet based electronic textbook on parallel programming techniques.An archetype is an abstraction that captures the common structural, computation, and communication features of a set of algorithms. This concept, when embedded in an interactive hypertext environment, provides a new approach to teaching about parallel programming as well as a software engineering foundation for deriving new parallel programs from existing applications. The archetypes work will be expanded to include new areas of application study, including sparse matrix computation in adaptive finite element problems as well as parallel algorithms in computational cosmology. A second aspect of this project is to help integrate the work of these application scientists and of the Indiana MetaText research team that is building electronic textbook software. The goal is to build a MetaText archetype encyclopedia for parallel programming.

Compilers, Computer Applications, Computer Architecture, Computer Engineering, Computer Graphics, Computer Interface, Computer Programming Languages, Computer Simulation/Modeling, Computer Software, Computer Systems Analysis, Parallel Computer Architecture, Parallel Programming, Supercomputers