Application specific analysis of parallel computing systems

David Andrews · 1992

Traditionally, comparisons between existing machines have been performed by running a common set of benchmarks on each machine of interest, and comparing the results. Comparisons between conceptual and prototype machines have been performed by developing simulations or queuing models for each machine of interest, and comparing the results. In both cases, the analysis is usually driven by workloads that only approximate a target application. While these techniques provide information about a machine's ability to execute a general class of problem, they do not provide much insight into a machine's ability to execute a specific problem. We have designed a machine independent graphical intermediate form (PIF) for parallel programs capable of supporting parallelism at all granularity levels based on a data flow graph intermediate form. The PIF contains attributes necessary for understanding the execution order of program operations and the degree of parallelism contained at each level of the program, for graphically displaying the program, and the information necessary for partitioning the program onto a machine. PIF provides an explicit graphical representation of a program's parallel operations not found in high level textual programs. An architecture characterization is performed combining the performance information generated from non-deterministic queuing models for characterizing interconnection networks with the deterministic information generated for static CPU operations to predict program execution times. The ability to predict memory access and communications times can be further refined from the generalized model from observing the actual access frequencies and patterns generated during the execution of the application. Parallel profile plots showing the step by step level of parallelism contained within the program are computed and displayed to the user. The maximum degree of parallelism is easily seen in the parallel profile, showing the maximum amount of parallelism available for execution on the available resources. The critical path is also computed providing a lower bounds on the execution time of the application.

Read the paper · More papers on PaperTik