This is a project for developing a distributed job execution environment for highly iterative jobs, where the same binary code is run hundreds of times with incremental changes in the input values for each run. An execution environment is a set of resources on a computing platform that can be made available to run the job and hold the output until it is collected. The system allows for fine-grained job control, timely status notification, and dynamic registration and deregistration of execution platforms, depending on resources available. NASA Ames Adaptive applications have computational workloads and communication patterns that change unpredictably at runtime, requiring load balancing to achieve scalable performance on parallel machines. Efficient parallel implementation of such an adaptive application is therefore a challenging task.
Results indicate that the three models deliver comparable performance.
In recent years an alternative strategy to achieving high performance, which overcomes the combined problems of cost and architecture variability as well as stability of single suppliers, has emerged. COTS clusters are now having significant impact on the realm of processing once reserved to supercomputing. But not all applications are suitable for such loosely-coupled ensembles, and system software environments are still in evolution. In this talk, Dr. Sterling will explore the history, methodologies, capabilities, and limitations of COTS clusters. He will examine in detail hardware component capabilities and configuration.