Allocating Independent Subtasks on Parallel Processors
IEEE Transactions on Software Engineering
System simulation programming styles and languages
System simulation programming styles and languages
Effects of synchronization barriers on multiprocessor performance
Parallel Computing
A performance model of block structured parallel programs
Proceedings of the international workshop on Parallel algorithms & architectures
Performance and Reliability Analysis Using Directed Acyclic Graphs
IEEE Transactions on Software Engineering
Determining average program execution times and their variance
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Parallel sorting by regular sampling
Journal of Parallel and Distributed Computing
Performance prediction of parallel processing systems: the PAMELA methodology
ICS '93 Proceedings of the 7th international conference on Supercomputing
The influence of random delays on parallel execution times
SIGMETRICS '93 Proceedings of the 1993 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Performance bounds for distributed systems with workload variabilities and uncertainties
Parallel Computing - Special issue: distributed and parallel systems: environments and tools
Mean-Value Analysis of Closed Multichain Queuing Networks
Journal of the ACM (JACM)
Static performance prediction of data-dependent programs
Proceedings of the 2nd international workshop on Software and performance
Performance of Synchronous Parallel Algorithms with Regular Structures
IEEE Transactions on Parallel and Distributed Systems
Performance Prediction of Data-Dependent Task Parallel Programs
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
A Method for Performance Prediction of Parallel Programs
CONPAR 90/VAPP IV Proceedings of the Joint International Conference on Vector and Parallel Processing
Compile-time Performance Prediction of Parallel Systems
MMB '95 Proceedings of the 8th International Conference on Modelling Techniques and Tools for Computer Performance Evaluation: Quantitative Evaluation of Computing and Communication Systems
Performance Prediction in Production Environments
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Low-Cost Performance Prediction of Data-Dependent Data Parallel Programs
MASCOTS '01 Proceedings of the Ninth International Symposium in Modeling, Analysis and Simulation of Computer and Telecommunication Systems
Some Analysis Techniques for Asynchronous Multiprocessor Algorithms
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Analytically predicting the performance of data-dependent programs is an extremely challenging problem. Even for a fixed problem size the variety of typical input data sets may cause a considerable execution time variance. Especially for time-critical applications, merely predicting the mean execution time does not suffice and knowledge of the execution time distribution is essential. In this paper we present a compositional analytic method to approximate the first four statistical moments of the program execution time in terms of the first four moments of the loop bounds, the branch conditions, and the execution time delays of the constituent tasks. The approach applies to sequential and parallel programs of which the associated DAG has a series-parallel structure. For each binary or N-ary sequential, parallel, or conditional composition the solution complexity is merely O(1). The method is exact for sequential and conditional composition. Furthermore, for N-ary parallel compositions experimental results of synthetic and real workloads show that the actual prediction error of the moments method is in the percent range. The analytic method is implemented in terms of the performance modeling language PAMELA. Apart from the theory, in this paper we also present a symbolic PAMELA compiler. Provided with a PAMELA process model of the (parallel) program, the PAMELA compiler symbolically translates this source to closed-form expressions that express the first four moments of the program execution time.