Abstract:
This work presents SCORE for Millennium, a data-flow programming environment adapted for a cluster of SMPs. Programs expressed as data-flow graphs expose inter-operator parallelism and dependencies, which permit a runtime system to analyze and improve their performance automatically, without human intervention. Here we describe the implementation of the infrastructure to support such a programming environment and discuss the critical issues and code placement methodology that affect application performance. We demonstrate that application performance automatically scales with resources and show the effectiveness of static (load-time) graph analysis in the form of improved performance of communication dominated applications.