Towards Fully Adaptive Pipeline Parallelism for Heterogeneous Distributed Environments

  • Horacio González-Vélez
  • Murray Cole
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4330)


This work describes an adaptive parallel pipeline skeleton which maps pipeline stages to the best processors available in the system and clears dynamically emerging performance bottlenecks at run-time by re-mapping affected stages to other processors. It is implemented in C and MPI and evaluated on a non-dedicated heterogeneous Linux cluster. We report upon the skeleton’s ability to respond to an artificially generated variation in the background load across the cluster.


Execution Time Process Migration Calibration Phase Stage Function Algorithmic Skeleton 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Pancake, C.M.: Is parallelism for you? IEEE Computat. Sci. Eng. 3, 18–37 (1996)CrossRefGoogle Scholar
  2. 2.
    Heller, D.: A survey of parallel algorithms in numerical linear algebra. SIAM Review 20, 740–777 (1978)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Fleury, M., Downton, A.: Pipelined Processor Farms: Structured Design for Embedded Parallel Systems. Wiley-Interscience, New York (2001)Google Scholar
  4. 4.
    Foster, I., Kesselman, C.: The Grid: Blueprint for a new computing infrastructure, 2nd edn. Morgan Kaufmann, San Francisco (2003)Google Scholar
  5. 5.
    Laforenza, D.: Grid programming: some indications where we are headed. Parallel Comput. 28, 1733–1752 (2002)MATHCrossRefGoogle Scholar
  6. 6.
    Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, London (1989)MATHGoogle Scholar
  7. 7.
    González-Vélez, H.: An adaptive skeletal task farm for grids. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 401–410. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Vadhiyar, S.S., Dongarra, J.: SRS: A framework for developing malleable and migratable parallel applications for distributed systems. Parallel Process. Lett. 13, 291–312 (2003)CrossRefMathSciNetGoogle Scholar
  9. 9.
    Sievert, O., Casanova, H.: A simple MPI process swapping architecture for iterative applications. Int. J. High Perform. Comput. Appl. 18, 341–352 (2004)CrossRefGoogle Scholar
  10. 10.
    Longbottom, R.: C/C++ Whetstone benchmark single or double precision (1997) (Official version approved by H. J. Curnow on 21/November/1997)
  11. 11.
    Gunther, N.J.: Analyzing Computer System Performance with Perl: PDQ. Springer, Berlin (2004)Google Scholar
  12. 12.
    González, D., Almeida, F., Moreno, L.M., Rodríguez, C.: Towards the automatic optimal mapping of pipeline algorithms. Parallel Comput. 29, 241–254 (2003)CrossRefGoogle Scholar
  13. 13.
    Banerjee, S., Hamada, T., Chau, P.M., Fellman, R.D.: Macro pipelining based scheduling on high performance heterogeneous multiprocessor systems. IEEE Trans. Acoust. Speech Signal Process 43, 1468–1484 (1995)Google Scholar
  14. 14.
    Chatterjee, S., Strosnider, J.K.: Distributed Pipeline Scheduling: A framework for distributed, heterogeneous real-time system design. Comput. J. 38, 271–285 (1995)Google Scholar
  15. 15.
    Vadhiyar, S.S., Dongarra, J.J.: Self adaptivity in grid computing. Concurrency Computat. Pract. Exper. 17, 235–257 (2005)CrossRefGoogle Scholar
  16. 16.
    Kelly, P.H.J., Beckmann, O.: Generative and adaptive methods in performance programming. Parallel Process. Lett. 15, 239–255 (2005)CrossRefMathSciNetGoogle Scholar
  17. 17.
    Aldinucci, M., Danelutto, M., Teti, P.: An advanced environment supporting structured parallel programming in Java. Future Gener. Comput. Syst. 19, 611–626 (2003)CrossRefGoogle Scholar
  18. 18.
    Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput. 30, 389–406 (2004)CrossRefGoogle Scholar
  19. 19.
    Yaikhom, G., Cole, M., Gilmore, S.: Combining Measurement and Stochastic Modelling to Enhance Scheduling Decisions for a Parallel Mean Value Analysis Algorithm. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3992, pp. 929–936. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    González-Vélez, H.: Self-adaptive skeletal task farm for computational grids. Parallel Comput. (in press, 2006) doi:10.1016/j.parco.2006.07.002Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Horacio González-Vélez
    • 1
  • Murray Cole
    • 1
  1. 1.Institute for Computing Systems Architecture, School of InformaticsUniversity of EdinburghEdinburghUK

Personalised recommendations