integrated compilation and scalability analysis for parallel systems
Despite the performance potential of parallel systems, several factors have hindered their widespread adoption. Of these, performance variability is among the most significant. Data parallel languages, which facilitate the programming of those systems, increase the semantic distance between the program's source code and its observable performance, thus aggravating the optimization problem.In this paper, we present a new methodology to automatically predict the performance scalability of data parallel applications on multicomputers. Our technique represents the execution time of a program as a symbolic expression that includes the number of processors (P), problem size (N), and other system-dependent parameters. This methodology is strongly based on information collected at compile-time. By extending an existing data parallel compiler (Fortran D95), we derive, during compilation, a symbolic cost model that represents the expected cost of each high-level code section and, inductively, of the complete program.
integrability compilation scalability scalability analysis analysis parallel systems performance factor adopt variability data parallelism language program semantic distance code observability optimality paper methodology predict applications timing express processor size informal cost model cost completeness dependencies guided compilation source-code performance prediction