Skip to main content

Concurrent Shadow Paging in the Flask Architecture

  • Conference paper

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

The differing requirements for concurrency models in programming languages and databases are widely diverse and often seemingly incompatible. The rigid provision of a particular concurrency control scheme in a persistent object system limits its usefulness to a particular class of application, in contrast to the generality intended by the provision of persistence. One solution is to provide a flexible system in which concurrency control schemes may be specified according to the particular task in hand, allowing the same data to be used in conjunction with different concurrency control schemes according to the needs of the application.

A major difficulty in the engineering of such a system lies in the building of generic mechanisms to provide the facilities of data visibility restriction, stability, and atomicity, independently of the combination of these employed by a particular concurrency control scheme. Flask is a architecture which is designed to achieve this goal by defining a layering whereby the memory management is not tied to any one concurrency control scheme operating above. This paper outlines the Flask architecture and focuses on an implementation based on concurrent shadow paging. The architecture described is currently being used as the basis for experimentation in generic concurrency specification.

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   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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Acceta, M., Baron, R., Bolosky, W., Golub, D., Rashid, R., Tevanian, A. & Young, M. “Mach: A New Kernel Foundation for Unix Development”. USENIX (1986) pp 93–112.

    Google Scholar 

  2. Agrawal, R. & DeWitt, D. “Recovery Architectures for Multiprocessor Database Machines”. In SIGMOD International Conference on Management of Data, (1985) pp 131–147.

    Google Scholar 

  3. Agrawal, R. & DeWitt, D. “Integrated Concurrency Control and Recovery Mechanisms: Design and Performance Evaluation”. ACM Transactions on Database Systems, 10,4 (1985) pp 529–564.

    Article  Google Scholar 

  4. Brown, A.L. & Rosenberg, J. “Persistent Object Stores: An Implementation Technique”. In Dearie, Shaw, Zdonik (eds.), Implementing Persistent Object Bases, Principles and Practice, Morgan Kaufmann, 1991 pp 199–212.

    Google Scholar 

  5. Chamberlin, D.D., Astrahan, M.M., Blasgen, M.W., Gray, J.N., King, W.F., Lindsay, B.G., Lorie, R.A., Mehl, J.W., Price, T.G., Selinger, P.G., Schkolnick, M., Slutz, D.R., Traiger, I.L., Wade, B.W. & Yost, R.A. “A History and Evaluation of System R”. CACM 24, 10 (1981) pp 632–646.

    Google Scholar 

  6. Challis, M.P. “Data Consistency and Integrity in a Multi-User Environment”. Databases: Improving Usability and Responsiveness, Academic Press, 1978.

    Google Scholar 

  7. Davies, C.T. “Recovery semantics for a DB/DC System”. In Proc. ACM Annual Conference, (1973) pp 136–141.

    Google Scholar 

  8. Davies, C.T. “Data Processing Spheres of Control”. IBM Systems Journal 17,2 (1978) pp 179–198.

    Article  Google Scholar 

  9. Deux, O. “The Story of 02”. IEEE Transactions on data and knowledge engineering. March 1990.

    Google Scholar 

  10. Ellis, C.A. & Gibbs, S.J. “Concurrency Control in Groupware Systems”. In Proc. SIGMOD International Conference on Management of Data. (1990) pp 399–407.

    Google Scholar 

  11. Eswaran, K.P., Gray, J.N., Lorie, R.A. & Traiger, I.L. “The Notions of Consistency and Predicate Locks in a Database System”. CACM 19,11 (1976) pp 624–633.

    MathSciNet  MATH  Google Scholar 

  12. Garcia-Molina, H. “Using Semantic Knowledge for Transaction Processing in a Distributed Database”. ACM Transactions on Database Systems, 8,2 (1983) pp 186–213.

    Article  Google Scholar 

  13. Gray, J., McJones, P., Blasgen, M., Lindsay, B., Lorie, R., Price, T., Putzolu, F. & Traiger, I. “The Recovery Manager of the System R Database Manager”. ACM Computing Surveys, vol. 13, no. 2, June 1981 pp 223–242.

    Article  Google Scholar 

  14. Gingell, R.A., Moran, J.P. & Shannon, W.A. “Virtual Memory Architecture in SunOS”. USENIX Summer Conference Proceedings, Phoenix 1987.

    Google Scholar 

  15. Garcia-Molina, H. & Salem, K. “Sagas”. In Proc. SIGMOD International Conference on Management of Data. (1987) pp 249–259.

    Google Scholar 

  16. Kent, J., Garcia-Molina, H. & Chung, J. “An experimental evaluation of crash recovery mechanisms”. In Proc. 4th ACM Symposium on Principles of Database Systems (1985) pp 113–122.

    Google Scholar 

  17. Kolodner, E.K. “Recovery Using Virtual Memory”. M.Sc. Thesis, MIT (1987).

    Google Scholar 

  18. Krablin, G.L. “Building Flexible Multilevel Transactions in a Distributed Persistent Environment”. 2nd International Workshop on Persistent Object Systems, Appin, (August 1987) pp 213–234.

    Google Scholar 

  19. Lorie, A.L. Physical Integrity in a Large Segmented Database, ACM Transactions on Database Systems, 2,1 (1977) pp 91–104.

    Article  Google Scholar 

  20. Moss, J.E.B. “Nested Transactions: An Approach to Reliable Distributed Computing”. Ph.D. Thesis, MIT (1981).

    Google Scholar 

  21. Munro, D.S. “On the Integration of Concurrency, Distribution and Persistence”. Ph.D. Thesis, University of St Andrews (1993).

    Google Scholar 

  22. Nodine, M.H. & Zdonik, S. B. “Co-operative Transaction Hierarchies: Transaction Support for Design Applications”. VLDB Journal 1,1 (1992) pp 41–80.

    Article  Google Scholar 

  23. Oki, B., Liskov, B. & Scheifler, R. “Reliable Object Storage to Support Atomic Actions”. In Proc 10th Symposium on Operating Systems Principles, 1985 pp 147–159.

    Google Scholar 

  24. O’Toole, J. & Shrira, L. “Opportunistic Log: Efficient Installation Reads in a Reliable Object Server”. Technical Report MIT/LCS-TM-506, March 1994. To appear in 1st International Symposium on Operating Systems Design and Implementation, Monterey, CA (1994).

    Google Scholar 

  25. “The PS-algol Reference Manual fourth edition”. Technical Report PPRR-12 (1987), Universities of Glasgow and St Andrews.

    Google Scholar 

  26. Reed, D.P. “Naming and Synchronisation in a Decentralised Computer”. Ph.D. Thesis, M.I.T. (1978).

    Google Scholar 

  27. Stemple, D. & Morrison, R. “Specifying Flexible Concurrency Control Schemes: An Abstract Operational Approach”. Australian Computer Science Conference 15, Tasmania (1992) pp 873–891.

    Google Scholar 

  28. Stonebraker, M. (Editor) “The Ingres Papers”. Addison-Wesley, Reading, MA (1986).

    Google Scholar 

  29. Sutton, S. “A Flexible Consistency Model for Persistent Data in Software-Process Programming”. In Dearie, Shaw, Zdonik (eds.), Implementing Persistent Object Bases, Principles and Practice, Morgan Kaufmann, 1991 pp 305–319.

    Google Scholar 

  30. Velez, F., Darnis, V., DeWitt, D., Futtersack, P., Harms, G., Maier, D., and Raoux, M. “Implementing the O2 object manager: some lessons”. In Dearie Shaw Zdonik (eds.), Implementing Persistent Object Bases, Principles and Practice, Morgan Kaufmann, 1991 pp 131–138.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 British Computer Society

About this paper

Cite this paper

Munro, D.S., Connor, R.C.H., Morrison, R., Scheuerl, S., Stemple, D.W. (1995). Concurrent Shadow Paging in the Flask Architecture. In: Atkinson, M., Maier, D., Benzaken, V. (eds) Persistent Object Systems. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-2122-0_3

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2122-0_3

  • Publisher Name: Springer, London

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

  • Online ISBN: 978-1-4471-2122-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics