Skip to main content

Extending the Multilisp sponsor model to deal with intertask synchronization side effects

  • Conference paper
  • First Online:
Parallel Symbolic Computing: Languages, Systems, and Applications (PSC 1992)

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

Included in the following conference series:

  • 130 Accesses

Abstract

Speculative computing is a technique to improve the execution time of certain applications by starting some computations before it is known that the computations are required. A speculative computation will eventually become mandatory (i.e. required) or irrelevant (i.e. not required). In the absence of side effects irrelevant computations may be aborted. However, with side effects a computation which is irrelevant for the value it produces may still be relevant for the side effects it performs. One problem that can result is the relevant synchronization problem wherein one computation requires some side effect event (a “relevant synchronization”) to be performed by another computation, which might be aborted, before the first computation can make progress. Another problem that can arise is the preemptive delay problem wherein a computation that will perform some awaited side effect event is preempted by a computation whose importance (e.g. priority) is less than that of computations waiting for the event. In this paper we show how the sponsor model developed for speculative computation in Multilisp can be extended to provide a novel solution to these two problems. The idea is for the computation awaiting some action, such as the production of a value or the release of a semaphore, to sponsor the computation or set of computations that will perform the awaited action. This sponsorship ensures that the awaited action executes, and executes with at least the waiter's level of importance. We show how to apply this technique to solve the above problems for several producer/consumer and semaphore applications. The idea extends naturally to other synchronization mechanisms.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Abelson and G. Sussman. Structure and Interpretation of Computer Programs. M.I.T. Press, Cambridge, MA., 1984.

    Google Scholar 

  2. R. Gabriel and J. McCarthy. Qlisp. In J. Kowalik, editor, Parallel Computation and Computers for Artificial Intelligence. Kluwer Academic Publishers, 1987.

    Google Scholar 

  3. R. Goldman and R. Gabriel. Qlisp: Parallel processing in Lisp. IEEE Software, pages 51–59, July 1989.

    Google Scholar 

  4. R. Halstead. Multilisp: A language for concurrent symbolic computation. ACM Trans. on Prog. Languages and Systems, pages 501–538, October 1985.

    Google Scholar 

  5. M. Herlihy. Wait free synchronization. ACM Trans. on Prog. Languages and Systems, January 1991.

    Google Scholar 

  6. IEEE Std 1178-1990. IEEE Standard for the Scheme Programming Language. Institute of Electrical and Electronic Engineers, Inc., New York, NY, 1991.

    Google Scholar 

  7. M. Katz and D. Weise. Continuing into the Future: On the interaction of Futures and First-class Continuations. In ACM Conference on Lisp and Functional Programming, 1990.

    Google Scholar 

  8. W. Kornfeld and C. Hewitt. The scientific community metaphor. IEEE Trans. on Systems, Man, and Cybernetics, pages 24–33, January 1981.

    Google Scholar 

  9. B. Lampson and D. Redell. Experience with Processes and Monitors in Mesa. Communications of the ACM, pages 105–117, February 1980.

    Google Scholar 

  10. J. Miller. MultiScheme: A parallel processing system based on MIT Scheme. Technical Report TR-402, Laboratory for Computer Science, M.I.T., September 1987.

    Google Scholar 

  11. R. Osborne. Speculative computation in Multilisp. Technical Report TR-464, Laboratory for Computer Science, M.I.T., November 1989.

    Google Scholar 

  12. R. Osborne. Speculative computation in Multilisp. In T. Ito and R. Halstead, editors, Parallel Lisp: Languages and Systems, Proceedings of U.S./Japan Workshop on Parallel Lisp. Lecture Notes in Computer Science, Springer-Verlag, Number 441, July 1990.

    Google Scholar 

  13. R. Osborne. Speculative computation in Multilisp: An overview. In ACM Conference on Lisp and Functional Programming, 1990.

    Google Scholar 

  14. R. Osborne. Details on Extending the Multilisp Sponsor Model to Handle Semaphore-based Intertask Synchronization. Mitsubishi Electric Research Labs, Technical Note, October 1992.

    Google Scholar 

  15. R. Rajkumar, L. Sha, and J.P. Lehoczky. Real-Time Synchronization Protocols for Multiprocessors. In Proceedings of Real-time Systems Symposium, December 1988.

    Google Scholar 

  16. B. Randell. System Structure for Software Fault Tolerance. In International Conference on Reliable Software, pages 437–449, 1975.

    Google Scholar 

  17. L. Sha, R. Rajkumar, and J.P. Lehoczky. Priority inheritance protocols: An approach to real-time synchronization. Technical Report CMU-CS-87-181, CMU, November 1987.

    Google Scholar 

  18. J. Silberschatz, A. Peterson and P. Galvin. Operating System Concepts, 3rd Edition. Addison-Wesley, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Robert H. Halstead Jr. Takayasu Ito

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Osborne, R.B. (1993). Extending the Multilisp sponsor model to deal with intertask synchronization side effects. In: Halstead, R.H., Ito, T. (eds) Parallel Symbolic Computing: Languages, Systems, and Applications. PSC 1992. Lecture Notes in Computer Science, vol 748. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018647

Download citation

  • DOI: https://doi.org/10.1007/BFb0018647

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57396-8

  • Online ISBN: 978-3-540-48133-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics