Skip to main content

A Framework for Orthogonal Data and Control Parallelism Exploitation

  • Conference paper
Computational Science and Its Applications – ICCSA 2004 (ICCSA 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3044))

Included in the following conference series:

  • 867 Accesses

Abstract

We propose an innovative approach to structured exploitation of both data and control parallelism. Our approach is based on the clear distinction between data and control parallelism exploitation mechanisms. This separation leads to a programming model where data and control parallelism exploitation is managed by means of independent, orthogonal mechanisms. By exploiting this orthogonal set of mechanisms, clear semantic transformation and verification tools can be developed. We show here a preliminary definition of the programming model, some sample skeleton applications and we discuss the basis for the development of a clear semantic framework that can be used to develop semantics preserving transformation rules as well as semantic based reasoning on parallel program properties.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Ahuja, S., Carriero, N., Gelernter, D.: Linda and friends. Computer 19(8), 26–34 (1986)

    Article  Google Scholar 

  2. Aldinucci, M., Campa, S., Ciullo, P., Coppola, M., Danelutto, M., Pesciullesi, P., Ravazzolo, R., Torquati, M., Vanneschi, M., Zoccolo, C.: ASSIST demo: an high level, high performance, portable, structured parallel programming environment at work. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 1295–1300. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  3. An, P., Jula, A., Rus, S., Saunders, S., Smith, T., Tanase, G., Thomas, N., Amato, N., Rauchwerger, L.: STAPL: An Adaptive, Generic Parallel C++ Library. In: Dietz, H.G. (ed.) LCPC 2001. LNCS, vol. 2624, Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  4. Arbab, F., Ciancarini, P., Hankin, C.: Coordination languages for parallel programming. Parallel Computing 24(7), 989–1004 (1998)

    Article  MATH  Google Scholar 

  5. Arbab, F., Herman, I., Spilling, P.: An overview of Manifold and its implementation. Concurrency: Practice and Experience 5(1), 23–70 (1993)

    Article  Google Scholar 

  6. Bacci, B., Danelutto, M., Pelagatti, S., Vanneschi, M.: SkIE: A heterogeneous environment for HPC applications. Parallel Computing 25(13-14), 1827–1852 (1999)

    Article  Google Scholar 

  7. Bal, H.E., Haines, M.: Approaches for integrating task and data parallelism. IEEE Concurrency 6(3), 74–84 (1998)

    Article  Google Scholar 

  8. Blelloch, G.E., Hardwick, J.: A Library of Parallel Algorithms, http://www.cs.cmu.edu/~scandal/nesl/algorithms.html

  9. Botorog, G.H., Kuchen, H.: Using algorithmic skeletons with dynamic data structures. In: Saad, Y., Yang, T., Ferreira, A., Rolim, J.D.P. (eds.) IRREGULAR 1996. LNCS, vol. 1117, p. 263. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  10. Bromling, S., MacDonald, S., Anvik, J., Schaeffer, J., Szafron, D., Tan, K.: Pattern-based parallel programming. Subm. to ICPP 2002, British Columbia (2002)

    Google Scholar 

  11. Carriero, N., Gelernter, D.: Linda in context. Communications of the ACM 32(4), 444–458 (1989)

    Article  Google Scholar 

  12. Hankin, C., Ciancarini, P. (eds.): COORDINATION 1996. LNCS, vol. 1061. Springer, Heidelberg (1996)

    Google Scholar 

  13. Cole, M.: Algorithmic Skeletons: structured management of parallel computation. Monograms. Pitman/MIT Press, Cambridge (1989)

    MATH  Google Scholar 

  14. Cole, M. (2004), The skeletal parallelism home page, http://homepages.inf.ed.ac.uk/mic/Skeletons/

  15. Danelutto, M., Orlando, S., Pelagatti, S.: P3L: the pisa parallel programming language. Tech. Rep. HPL-PSC-91-27, HP Labs, Pisa Science Center, Italy (1991)

    Google Scholar 

  16. Danelutto, M., Pasqualetti, F., Pelagatti, S.: Skeletons for data parallelism in P3L. In: Lengauer, C., Griebl, M., Gorlatch, S. (eds.) Euro-Par 1997. LNCS, vol. 1300, p. 619. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  17. Danelutto, M., Teti, P.: Lithium: A structured parallel programming environment in Java. In: Sloot, P.M.A., Tan, C.J.K., Dongarra, J., Hoekstra, A.G. (eds.) ICCS-ComputSci 2002. LNCS, vol. 2330, p. 844. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  18. Danelutto, M., Stigliani, M.: SKElib: Parallel programming with skeletons in C. In: Bode, A., Ludwig, T., Karl, W.C., Wismüller, R. (eds.) Euro-Par 2000. LNCS, vol. 1900, p. 1175. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  19. Darlington, J., Guo, Y.-K.: Functional skeletons for parallel coordination. In: Haridi, S., Ali, K., Magnusson, P. (eds.) Euro-Par 1995. LNCS, vol. 966, p. 55. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  20. Díaz, M., Rubio, B., Soler, E., Troya, J.M.: Integrating task and data parallelism by means of coordination patterns. In: Müller, F. (ed.) HIPS 2001. LNCS, vol. 2026, p. 16. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  21. High Performance FORTRAN Forum. High performance fortran language specification. Tech Rep., Computer Science Dept., Rice University, Houston (January 1997)

    Google Scholar 

  22. Foster, I.: Designing and building parallel programs: concepts and tools for parallel software engineering. Addison-Wesley, Reading (1995)

    MATH  Google Scholar 

  23. Foster, I., Kohr Jr., D.R., Krishnaiyer, R., Choudhary, A.: A library-based approach to task parallelism in a data-parallel language. Journal of Parallel and Distributed Computing 45(2), 148–158 (1997)

    Article  Google Scholar 

  24. Gamma, E., Helm, R., Johnson, R., Vissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)

    Google Scholar 

  25. Gelernter, D., Carriero, N.: Coordination languages and their significance. Communications of the ACM 35(2), 97–107 (1992)

    Article  Google Scholar 

  26. Hassen, S.B., Bal, H.E., Jacobs, C.J.H.: A task and dataparallel programming language based on shared objects. ACM Transactions on Programming Languages and Systems 20(6), 1131–1170 (1998)

    Article  Google Scholar 

  27. Johnson, E., Gannon, D., Beckman, P.: HPC++: Experiments with the parallel standard template library. In: Proc. of the 11th Intl. Conf. on Supercomputing (ICS-97), July 1997, pp. 124–131. ACM Press, New York (1997)

    Chapter  Google Scholar 

  28. Kuchen, H.: A skeleton library. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, p. 620. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  29. MacDonald, S., Bromling, S., Szafron, D., Schaeffer, J., Anvik, J., Tan, K.: From patterns to frameworks to programs. Parallel Computing 28(12) (December 2002)

    Google Scholar 

  30. MacDonald, S., Szafron, D., Schaeffer, J.: Object-oriented pattern-based parallel programming with automatically generated frameworks. In: Proc of (COOTS 1999), San Diego, California, USA, Berkeley, CA, USA (May 1999)

    Google Scholar 

  31. Massingill, B.L., Mattson, T.G., Sanders, B.A.: A pattern language for parallel application programs (research note). In: Bode, A., Ludwig, T., Karl, W.C., Wismüller, R. (eds.) Euro-Par 2000. LNCS, vol. 1900, p. 678. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  32. Papadopoulos, G.A., Arbab, F.: Control-driven coordination programming in shared dataspace. In: Malyshkin, V.E. (ed.) PaCT 1997. LNCS, vol. 1277, p. 247. Springer, Heidelberg (1997)

    Google Scholar 

  33. Rauchwerger, L., Arzu, F., Ouchi, K.: Standard templates adaptive parallel library (STAPL). In: O’Hallaron, D.R. (ed.) LCR 1998. LNCS, vol. 1511, pp. 402–409. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  34. Reynders, J.V.W., Hinker, P.J., Cummings, J.C., Atlas, S.R., Banerjee, S., Humphrey, W.F., Karmesin, S.R., Keahey, K., Srikant, M., Dell Tholburn, M.: POOMA: A Framework for Scientific Simulations of Paralllel Architectures. In: Parallel Programming in C++, MIT Press, Cambridge (1996)

    Google Scholar 

  35. Serot, J., Ginhac, D., Derutin, J.P.: SKiPPER: A Skeleton-Based Parallel Programming Environment for Real-Time Image Processing Applications. In: Proc. of (PaCT 1999) (September 1999)

    Google Scholar 

  36. Vanneschi, M.: The programming model of ASSIST, an environment for parallel and distributed portable applications. Parallel Computing (December 2002)

    Google Scholar 

  37. Vanneschi, M.: ASSIST: an environment for parallel and distributed portable applications. Tech. Rep. TR-02-07, Computer Science Dept.-Pisa (May 2002)

    Google Scholar 

  38. West, E.A., Grimshaw, A.S.: Braid: Integrating task and data parallelism. Technical Report CS-94-45, Department of Computer Science, University of Virginia, November 11 (1994), Monday, 28, 21:06:39 GMT (August 1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Campa, S., Danelutto, M. (2004). A Framework for Orthogonal Data and Control Parallelism Exploitation. In: Laganá, A., Gavrilova, M.L., Kumar, V., Mun, Y., Tan, C.J.K., Gervasi, O. (eds) Computational Science and Its Applications – ICCSA 2004. ICCSA 2004. Lecture Notes in Computer Science, vol 3044. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24709-8_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24709-8_22

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22056-5

  • Online ISBN: 978-3-540-24709-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics