Contact Information:
|
Isaac DooleyDepartment of Computer ScienceUniversity of Illinois at Urbana-Champaign Isaac Dooley is a Department of Energy High Performance Computer Science Fellow who received his M.S. Degree from the University of Illinois in Computer science and his B.S. in Mathematics and Computer Science from Birmingham-Southern College. He now is pursuing a Ph.D. at the University of Illinois. He works with his advisor Professor Kale in the Parallel Programming Laboratory. Here is a printable resume. Research:Existing parallel programming models and languages focus on the decomposition of data structures and control flow. The parallel portion of the application is often a library (e.g. MPI) used by the application. The library simply performs actions on behalf of the application such as parallel task creation and communication of data through messages or a shared namespace. In these existing parallel systems, the parallel runtime libraries do not influence or change the behavior of the application itself. Runtime systems, however, are uniquely poised to observe characteristics of a parallel program's execution as it runs in order to dynamically change the behavior of the application to increase its performance. Some existing parallel systems such as Charm++ already observe characteristics of a parallel program's execution in order to dynamically balance computation or communication load, but no mechanisms exist for the runtime system to control other behaviors of the application. My dissertation research investigates the creation of mechanisms for applications to expose information about their behavior to the runtime system. The runtime system can tune these application parameters to modify the behavior of the application in response to observed performance characteristics. I have developed portions of the ParFUM framework and the SIERRA framework. Currently ParFUM is the only known parallel framework which supports asynchronous incremental mesh modification in parallel. Additionally, I have developed tools for predicting the performance of real world applications on new not-yet-existing supercomputer designs. My approach uses partial-execution on existing processors or cycle-accurate simulators to build a model for the execution time for sequential execution blocks. The model is then used to predict the new times for all sequential execution blocks.
Links:Back to the Parallel Programming Lab home. |