Skip to main content
SpringerLink
Log in
Menu
Find a journal Publish with us
Search
Cart
  1. Home
  2. Acta Informatica
  3. Article

Synchronous cooperation for explicit multi-threading

  • Original Article
  • Open access
  • Published: 22 September 2007
  • volume 44, pages 525–569 (2007)
Download PDF

You have full access to this open access article

Acta Informatica Aims and scope Submit manuscript
Synchronous cooperation for explicit multi-threading
Download PDF
  • J. A. Bergstra1,2 &
  • C. A. Middelburg1 
  • 585 Accesses

  • 3 Citations

  • Explore all metrics

Cite this article

Abstract

We develop an algebraic theory of threads, synchronous cooperation of threads and interaction of threads with Maurer machines, and investigate program parallelization using the resulting theory. Program parallelization underlies techniques for speeding up instruction processing on a computer that make use of the abilities of the computer to process instructions simultaneously in cases where the state changes involved do no influence each other. One of our findings is that a strong induction principle is needed when proving theorems about sufficient conditions for the correctness of program parallelizations. The induction principle introduced has brought us to construct a projective limit model for the theory developed.

Article PDF

Download to read the full article text

Use our pre-submission checklist

Avoid common mistakes on your manuscript.

References

  1. de Bakker, J.W., Bergstra, J.A., Klop, J.W., Meyer, J.J.C. (1984). Linear time and branching time semantics for recursion with merge. Theor. Comput. Sci. 34: 135–156

    Article  MATH  Google Scholar 

  2. de Bakker, J.W., Zucker, J.I. (1982). Processes and the denotational semantics of concurrency. Inform. Control 54(1/2): 70–120

    MATH  Google Scholar 

  3. Bergstra J.A. and Bethke I. (2003). Polarized process algebra and program equivalence. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J. and Woeginger, G.J. (eds) Proceedings 30th ICALP, Lecture Notes in Computer Science, vol. 2719, pp 1–21. Springer, Heidelberg

    Google Scholar 

  4. Bergstra J.A. and Klop J.W. (1984). Process algebra for synchronous communication. Inform. Control 60(1/3): 109–137

    Article  MATH  MathSciNet  Google Scholar 

  5. Bergstra J.A. and Loots M.E. (2000). Program algebra for component code. Form. Asp. Comput. 12(1): 1–17

    Article  MATH  Google Scholar 

  6. Bergstra J.A. and Loots M.E. (2002). Program algebra for sequential code. J. Logic Algebr. Program. 51(2): 125–156

    Article  MATH  MathSciNet  Google Scholar 

  7. Bergstra, J.A., Middelburg, C.A.: Thread algebra for strategic interleaving. To appear in Form. Asp. Comput. Preliminary version: Computer Science Report 04-35, Department of Mathematics and Computer Science, Eindhoven University of Technology (2004)

  8. Bergstra, J.A., Middelburg, C.A.: Maurer computers with single-thread control. To appear in Fundam. Inform. Preliminary version: Computer Science Report 05-17, Department of Mathematics and Computer Science, Eindhoven University of Technology (2005)

  9. Bergstra, J.A., Middelburg, C.A.: Simulating turing machines on Maurer machines. To appear in J. Appl. Logic. Preliminary version: Computer Science Report 05-28, Department of Mathematics and Computer Science, Eindhoven University of Technology (2005)

  10. Bergstra, J.A., Middelburg, C.A.: Maurer computers for pipelined instruction processing. To appear in Math. Struct. Comput. Sci. Preliminary version: Computer Science Report 06-12, Department of Mathematics and Computer Science, Eindhoven University of Technology (2006)

  11. Bergstra J.A. and Middelburg C.A. (2006). Thread algebra with multi-level strategies. Fundam. Inform. 71(2/3): 153–182

    MATH  MathSciNet  Google Scholar 

  12. Bergstra, J.A., Middelburg, C.A.: A thread calculus with molecular dynamics. Computer Science Report 06-24, Department of Mathematics and Computer Science, Eindhoven University of Technology (2006)

  13. Bergstra, J.A., Middelburg, C.A.: Distributed strategic interleaving with load balancing. To appear in Future Generation Computer Systems. Preliminary version: Computer Science Report 07-03, Department of Mathematics and Computer Science, Eindhoven University of Technology (2007)

  14. Bergstra J.A. and Middelburg C.A. (2007). A thread algebra with multi-level strategic interleaving. Theory Comput. Syst. 41(1): 3–32

    Article  MATH  MathSciNet  Google Scholar 

  15. Bergstra J.A. and Ponse A. (2002). Combining programs and state machines. J. Logic Algebr. Program. 51(2): 175–192

    Article  MATH  MathSciNet  Google Scholar 

  16. Bolychevsky A., Jesshope C.R. and Muchnick V. (1996). Dynamic scheduling in RISC architectures. IEE Proc. Comput. Digit. Tech. 143(5): 309–317

    Article  Google Scholar 

  17. Croom F.H. (1989). Principles of Topology. Saunders College Publishing, Philadelphia

    Google Scholar 

  18. Dugundji J. (1966). Topology. Allyn and Bacon, Boston

    MATH  Google Scholar 

  19. Hodges W.A. (1993). Model Theory, Encyclopedia of Mathematics and Its Applications, vol. 42. Cambridge University Press, Cambridge

    Google Scholar 

  20. Hopcroft J.E., Motwani R. and Ullman J.D. (2001). Introduction to Automata Theory, Languages and Computation, Second edition. Addison-Wesley, Reading, MA

    MATH  Google Scholar 

  21. Jesshope, C.R., Luo, B.: Micro-threading: a new approach to future RISC. In: ACAC 2000, pp. 34–41. IEEE Computer Society Press (2000)

  22. Kranakis E. (1987). Fixed point equations with parameters in the projective model. Inform. Comput. 75(3): 264–288

    Article  MATH  MathSciNet  Google Scholar 

  23. Maurer W.D. (1966). A theory of computer instructions. J. ACM 13(2): 226–235

    Article  MATH  Google Scholar 

  24. Maurer W.D. (2006). A theory of computer instructions. Sci. Comput. Program. 60: 244–273

    Article  MATH  MathSciNet  Google Scholar 

  25. Mousavi M.R., Gabbay M.J. and Reniers M.A. (2005). SOS for higher order processes. In: Abadi M., de Alfaro L. (eds) CONCUR 2005, Lecture Notes in Computer Science, vol. 3653, pp 308–322. Springer, Heidelberg

    Google Scholar 

  26. Mousavi M.R., Reniers M.A. and Groote J.F. (2005). Notions of bisimulation and congruence formats for SOS with data. Inform. Comput. 200: 107–147

    Article  MATH  MathSciNet  Google Scholar 

  27. Schmidt D.A. (1986). Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Boston

    Google Scholar 

  28. Stoltenberg-Hansen V. and Tucker J.V. (1991). Algebraic and fixed point equations over inverse limits of algebras. Theor. Comput. Sci. 87: 1–24

    Article  MATH  MathSciNet  Google Scholar 

  29. Ungerer T., Robič B. and Šilc J. (2003). A survey of processors with explicit multithreading. ACM Comput. Surv. 35(1): 29–63

    Article  Google Scholar 

  30. Vu, T.D.: Metric denotational semantics for BPPA. Report PRG0503, Programming Research Group, University of Amsterdam (2005)

Download references

Author information

Authors and Affiliations

  1. Programming Research Group, University of Amsterdam, P. O. Box 41882, 1009 DB, Amsterdam, The Netherlands

    J. A. Bergstra & C. A. Middelburg

  2. Department of Philosophy, Utrecht University, P. O. Box 80126, 3508 TC, Utrecht, The Netherlands

    J. A. Bergstra

Authors
  1. J. A. Bergstra
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. C. A. Middelburg
    View author publications

    You can also search for this author in PubMed Google Scholar

Corresponding author

Correspondence to C. A. Middelburg.

Additional information

The work presented in this paper has been partly carried out while C.A. Middelburg was also at Eindhoven University of Technology, Department of Mathematics and Computer Science.

The work presented in this paper has been carried out as part of the GLANCE-project MICROGRIDS, which is funded by the Netherlands Organisation for Scientific Research (NWO).

Rights and permissions

Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://creativecommons.org/licenses/by-nc/2.0 ), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.

Reprints and Permissions

About this article

Cite this article

Bergstra, J.A., Middelburg, C.A. Synchronous cooperation for explicit multi-threading. Acta Informatica 44, 525–569 (2007). https://doi.org/10.1007/s00236-007-0057-9

Download citation

  • Received: 24 October 2006

  • Accepted: 03 August 2007

  • Published: 22 September 2007

  • Issue Date: December 2007

  • DOI: https://doi.org/10.1007/s00236-007-0057-9

Share this article

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Keywords

  • State Transformer
  • Execution Environment
  • Memory Element
  • Ultrametric Space
  • Structural Operational Semantic
Use our pre-submission checklist

Avoid common mistakes on your manuscript.

Advertisement

Search

Navigation

  • Find a journal
  • Publish with us

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support

Not affiliated

Springer Nature

© 2023 Springer Nature