Skip to main content

Parallel and Distributed Computing in Education (Invited Talk)

  • Conference paper

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

Abstract

The natural world is certainly not organised through a central thread of control. Things happen as the result of the actions and interactions of unimaginably large numbers of independent agents, operating at all levels of scale from nuclear to astronomic. Computer systems aiming to be of real use in this real world need to model, at the appropriate level of abstraction, that part of it for which it is to be of service. If that modelling can reflect the natural concurrency in the system, it ought to be much simpler.

Yet, traditionally, concurrent programming is considered to be an advanced and difficult topic – certainly much harder than serial computing which, therefore, needs to be mastered first. But this tradition is wrong.

This talk presents an intuitive, sound and practical model of parallel computing that can be mastered by undergraduate students in the first year of a computing (major) degree. It is based upon Hoare’s mathematical theory of Communicating Sequential Processes (CSP), but does not require mathematical maturity from the students – that maturity is pre-engineered in the model. Fluency can be quickly developed in both message-passing and shared-memory concurrency, whilst learning to cope with key issues such as race hazards, deadlock, livelock, process starvation and the efficient use of resources. Practical work can be hosted on commodity PCs or UNIX workstations using either Java or the Occam multiprocessing language. Armed with this maturity, students are well-prepared for coping with real problems on real parallel architectures that have, possibly, less robust mathematical foundations.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hoare, C.A.: Communication Sequential Processes. CACM 21(8), 666–677 (1978)

    MATH  Google Scholar 

  2. Hoare, C.A.: Communication Sequential Processes. Prentice Hall, Englewood Cliffs (1985)

    Google Scholar 

  3. Oxford University Computer Laboratory. The CSP Archive (1997), http://www.comlab.ox.ac.uk/archive/csp.html

  4. Welch, P.H., Wood, D.C.: KRoC - the Kent Retargetable occam Compiler. In: O’Neill, B. (ed.) Proceedings of WoTUG 19, IOS Press, Amsterdam (1996), http://www.hensa.ac.uk/parallel/occam/projects/occamfor-all/kroc/

    Google Scholar 

  5. Welch, P.H., Poole, M.D.: OCCAM for Multi-Processor DEC Alphas. In: Bakkers, A. (ed.) Parallel Programming and Java, Proceedings of WoTUG 20. World occam and Transputer User Group (WoTUG), Amsterdam, Netherlands, April 1997. Concurrent Systems Engineering, vol. 50, pp. 189–198. IOS Press, Amsterdam (1997)

    Google Scholar 

  6. Welch, P., et al.: Java Threads Workshop - Post Workshop Discussion (February 1997), http://www.hensa.ac.uk/parallel/groups/wotug/java/discussion/

  7. Hilderink, G., Broenink, J., Vervoort, W., Bakkers, A.: Communicating Java Threads. In: Parallel Programming and Java, Proceedings of WoTUG 20, pp. 48–76 (1997) (See reference [5])

    Google Scholar 

  8. Hilderink, G.H.: Communicating Java Threads Reference Manual. In: Parallel Programming and Java, Proceedings of WoTUG 20, pp. 283–325 (1997) (See reference [5])

    Google Scholar 

  9. Welch, P.: Java Threads in the Light of occam/CSP. In: Welch, P.H., Bakkers, A. (eds.) Architectures, Languages and Patterns, Proceedings of WoTUG 21. World occam and Transputer User Group (WoTUG), Amsterdam, Netherlands. Concurrent Systems Engineering, vol. 52, pp. 259–284. IOS Press, Amsterdam (1998) ISBN 90-5199-391-9

    Google Scholar 

  10. Chalmers, A.: JavaPP Page - Bristol (May 1998), http://www.cs.bris.ac.uk/~alan/javapp.html/

  11. Austin, P.D.: JCSP Home Page (May 1998), http://www.hensa.ac.uk/parallel/languages/java/jcsp/

  12. Hilderink, G.: JavaPP Page - Twente (May 1998), http://www.rt.el.utwente.nl/javapp/

  13. East, I.: Parallel Processing with Communication Process Architecture. UCL press, London (1995) ISBN 1-85728-239-6

    Google Scholar 

  14. Galletly, J.: occam 2 - including occam 2.1. UCL Press, London (1996) ISBN 1-85728- 362-7

    Google Scholar 

  15. occam-for-all Team. occam-for-all Home Page (February 1997), http://www.hensa.ac.uk/parallel/occam/occam-for-all/

  16. Debbage, M., Hill, M., Wykes, S., Nicole, D.: Southampton’s Portable occam Compiler (SPoC). In: Miles, R., Chalmers, A. (eds.) Progress in Transputer and occam Research, Proceedings of WoTUG 17, Concurrent Systems Engineering. World occam and Transputer User Group (WoTUG), IOS Press, Amsterdam, Netherlands, April 1994 (1994), http://www.hensa.ac.uk/parallel/occam/compilers/spoc/

    Google Scholar 

  17. Martin, J.M.R., Jassim, S.A.: How to Design Deadlock-Free Networks Using CSP and Verification Tools - a Tutorial Introduction. In: Parallel Programming and Java, Proceedings of WoTUG 20, pp. 326–338 (1997) (See reference [5])

    Google Scholar 

  18. Roscoe, A.W., Dathi, N.: The Pursuit of Deadlock Freedom. Technical Report Technical Monograph PRG-57, Oxford University Computing Laboratory (1986)

    Google Scholar 

  19. Martin, J., East, I., Jassim, S.: Design Rules for Deadlock Freedom. Transputer Communications 2(3), 121–133 (1994) ISSD N 1070-454 X

    Google Scholar 

  20. Welch, P.H., Justo, G.R.R., Willcock, C.: High-Level Paradigms for Deadlock- Free High-Performance Systems. In: Grebe, et al. (eds.) Transputer Applications and Systems 1993, pp. 981–1004. IOS Press, Amsterdam (1993) ISBN 90-5199- 140-1

    Google Scholar 

  21. Martin, J.M.R., Welch, P.H.: A Design Strategy for Deadlock-Free Concurrent Systems. Transputer Communications 3(4), 215–232 (1996) ISSN 1070-454X

    Google Scholar 

  22. Roscoe, A.W.: Model Checking CSP, A Classical Mind. Prentice Hall, Englewood Cliffs (1994)

    Google Scholar 

  23. Martin, J.M.R., Jassim, S.A.: A Tool for Proving Deadlock Freedom. In Par- allel Programming and Java. In: Proceedings of WoTUG 20, pp. 1–16 (1997) (See reference [5])

    Google Scholar 

  24. Beckett, D.J., Welch, P.H.: A Strict occam Design Tool. In: Proceedings of UK Parallel 1996, London, pp. 53–69. BCS PPSIG. Springer, Heidelberg (1996) ISBN 3-540-76068-7

    Google Scholar 

  25. Aubury, M., Page, I., Plunkett, D., Sauer, M., Saul, J.: Advanced Silicon Prototyping in a Reconfigurable Environment. In: Architectures, Languages and Patterns, Proceedings of WoTUG 21, pp. 81–92 (1998) (see reference [9])

    Google Scholar 

  26. Lawrence, A.E.: Extending CSP. In: Architectures, Languages and Patterns, Pro- ceedings of WoTUG 21, pp. 111–132 (1998) (See reference [9])

    Google Scholar 

  27. Lawrence, A.E.: HCSP: Extending CSP for Co-design and Shared Memory. In: Architectures, Languages and Patterns, Proceedings of WoTUG 21, pp. 133–156 (1998) (See reference [9])

    Google Scholar 

  28. Barrett, G.: OCCAM3 reference manual (draft) (March 1992), http://www.hensa.ac.uk/parallel/occam/documents/ (unpublished in paper)

  29. Welch, P.H., Wood, D.C.: Higher Levels of Process Synchronisation. In: Parallel Programming and Java, Proceedings of WoTUG 20, pp. 104–129 (1997) (See reference [5])

    Google Scholar 

  30. May, D., Muller, H.L.: Icarus language definition. Technical Report CSTR-97-007, Department of Computer Science, University of Bristol (January 1997)

    Google Scholar 

  31. Muller, H.L., May, D.: A simple protocol to communicate channels over channels. Technical Report CSTR-98-001, Department of Computer Science, University of Bristol (January 1998)

    Google Scholar 

  32. Beckett, D.J.: Java Resources Page (May 1998), http://www.hensa.ac.uk/parallel/languages/java/

  33. Lu, K.H., Jones, J., Kerridge, J.: Modelling Congested Road Traffic Networks Using a Highly Parallel System. In: DeGloria, A., Jane, M.R., Marini, D. (eds.) Transputer Applications and Systems 1994, Con- current Systems Engineering, vol. 42, pp. 634–647. IOS Press, Amsterdam (1994)

    Google Scholar 

  34. Muller, H., Walrath, K.: Threads and swing (April 1998), http://java.sun.com/products/jfc/swingdoc-archive/threads.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Welch, P.H. (1999). Parallel and Distributed Computing in Education (Invited Talk). In: Hernández, V., Palma, J.M.L.M., Dongarra, J.J. (eds) Vector and Parallel Processing – VECPAR’98. VECPAR 1998. Lecture Notes in Computer Science, vol 1573. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10703040_24

Download citation

  • DOI: https://doi.org/10.1007/10703040_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66228-0

  • Online ISBN: 978-3-540-48516-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics