A Language for the Complexity Analysis of Parallel Programs
The accumulated experience indicates that complexity models like LogP or BSP, characterizing the performance of distributed machines through a few parameters, incur in a considerable loss of accuracy. Errors ranges up to 70%. The complexity analysis model presented here still makes use of the BSP concept of superstep, but introduces a few novelties. To cover both oblivious synchronization and group partitioning we have to admit that different processors may finish the same superstep at different times. The other extension recognizes that, even if the numbers of individual communication or computation operations in two stages are the same, the actual times for these two stages may differ. These differences are due to the separate nature of the operations or to the particular pattern followed by the messages. A natural proposal is to associate a different proportionality constant with each basic block, and analogously, to associate different latencies and bandwidths with the different communications. Unfortunately, to use this approach implies that the parameters evaluation not only depend on the given architecture, but also reflect algorithm characteristics. Such parameter evaluation must be done for every algorithm. This is a heavy task, implying experiment design, timing, statistics and multi-parameter fitting algorithms. Software support is required. We have developed a compiler that takes as source a c program annotated with complexity formulas and produces as output an instrumented code. The trace files obtained from the execution of the resulting code are analyzed with an interactive interpreter, giving us, among other information, the values of those parameters.
KeywordsBasic Block Parallel Program Complexity Formula Partition Process Algorithm Characteristic
Unable to display preview. Download preview PDF.
- 1.Bonorden, O., Juurlink, B, von Otte, I., Rieping, I.: The Paderborn University BSP (PUB) Library-Desing, Implementation and Performance. 13th International Parallel Processing Symposium & 10th Symposium on Parallel and Distributed Processing (IPPs/SPDP) (1999)Google Scholar
- 3.González, J.A., León, C. Piccoli, F., Pristinta, M., Roda, J.L., Rodri’iguez, C., Sande, F.: Performance Prediction of Oblivious BSP Programs. 7th International Euro-Par Conference, Springer-Verlag (2001) 96–105Google Scholar
- 4.Goudreau, M., Hill, J., Lang, K. McColl, B Rao, S., Stephanescu, D., Suel, T., Tsantilas, T.A: Proposal for the BSP Worldwide Standard Library. http://www.bsp-worldwide.org/standard/stand2.htm (1996)
- 5.Groom, D.E. et al.: Statistics. The European Physical Journal C15 (2000) http://pdg.lbl.gov/2000/statrppbook.pdf
- 7.Rodríguez C., Roda J.L., Morales D.G., Almeida F.: h-relation models for Current Standard Parallel Platforms. 4th International Euro-Par Conference, Springer-Verlag (1998) 234–243Google Scholar
- 9.Zavanella A., Milazzo A.: Predictability of Bulk Synchronous Programs Using MPI. 8th Euromicro PDP (2000) 118–123Google Scholar