GGrantIndex
← Search

ITR: Dynamic Code Enhancement and Scheduling Techniques for Complex Simulations

$294,994FY2000CSENSF

Purdue Research Foundation, West Lafayette IN

Investigators

Abstract

One of the most important classes of programs today is large-scale adaptive and time-dependent simulations. These are increasingly important for solving important scientific problems such as particle dynamics and boundary element problems. An equally important environment for running any code is a cluster of workstations. Such a system may include single-processor and SMP nodes supporting a hybrid message passing/shared address space programming paradigm. This project will provide automated and semi-automated tools for optimizing serial performance, parallel performance, and overall resource utilization when those complex codes are run in such complex environments. Technically, the goal of the project is to develop a comprehensive dynamic code enhancement, resource management, scheduling, and performance monitoring framework. This is accomplished by relegating a number of code optimization and scheduling decisions to run-time, where they can rely on performance traces. The framework generalizes the process-thread model to a schedulable entity model in which processes and threads are treated as free and bound entities respectively. Either the programmer or the compiler can create these entities. In addition, the dynamic code enhancer performs optimizations at run-time granularity control for threads, and transformations between free and bound entities to improve performance. The overhead of dynamic code enhancement is amortized over several computation steps. An aggregate scheduler/resource manager maps the specified entities to hosts, using performance data to optimize its decisions for CPU, memory system, network, and parallel code performance. The dynamic code enhancer/scheduler framework is triggered by online performance monitoring that is automatically instrumented into the code.

View original record on NSF Award Search →