PerDiS: Design, Implementation, and Use of a PERsistent DIstributed Store

  • Paulo Ferreira
  • Marc Shapiro
  • Xavier Blondel
  • Olivier Fambon
  • João Garcia
  • Sytse Kloosterman
  • Nicolas Richer
  • Marcus Robert
  • Fadi Sandakly
  • George Coulouris
  • Jean Dollimore
  • Paulo Guedes
  • Daniel Hagimont
  • Sacha Krakowiak
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1752)

Abstract

The PerDiS (Persistent Distributed Store) project addresses the issue of providing support for distributed collaborative engineering applications. We describe the design and implementation of the PerDiS platform, and its support for such applications. Collaborative engineering raises system issues related to the sharing of large volumes of fine-grain, complex objects across wide-area networks and administrative boundaries. PerDiS manages all these aspects in a well defined, integrated, and automatic way. Distributed application programming is simplified because it uses the same memory abstraction as in the centralized case. Porting an existing centralized program written in C or C++ is usually a matter of a few, well-isolated changes. We present some performance results from a proof-of-concept platform that runs a number of small, but real, distributed applications on Unix and Windows NT. These confirm that the PerDiS abstraction is well adapted to the targeted application area and that the overall performance is promising compared to alternative approaches.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Virginie Amar. Intégration des standards STEP et CORBA pour le processus d’ingéenierie dans l’entreprise virtuelle. PhD thesis, Université de Nice Sophia-Antipolis, September 1998.Google Scholar
  2. 2.
    João Garcia, Paulo Ferreira, and Paulo Guedes. The PerDiS FS: A transactional file system for a distributed persistent store. In Proc. of the 8th ACM SIGOPS European Workshop, Sintra, (Portugal), September 1998.Google Scholar
  3. 3.
    M. P. Atkinson, P. J. Bailey, K. J. Chisholm, P. W. Cockshott, and R. Morrison. An approach to persistent programming. The Computer Journal, 26(4):360–365, 1983.MATHGoogle Scholar
  4. 4.
    T. Berners-Lee, L. Masinter, and M. McCahill. Uniform resource locators (URLs). Request for Comments 1738, December 1994.Google Scholar
  5. 5.
    B. Bershad, M. J. Zekauskas, and W. A. Sawdon. The Midway distributed shared memory system. In Proc. of the 1993 CompCon Conf., 1993.Google Scholar
  6. 6.
    A. D. Birrell and B. J. Nelson. Implementing Remote Procedure Calls. ACM Transactions on Programming Languages and Systems, 2(1), February 1984.Google Scholar
  7. 7.
    A. Black, N. Hutchinson, E. Jul, and H. Levy. Object structure in the Emerald system. In ACM Conference on Object-Oriented Programming Systems, Languages and Applications, Portland, Oregon, October 1986.Google Scholar
  8. 8.
    Xavier Blondel, Paulo Ferreira, and Marc Shapiro. Implementing garbage collection in the PerDiS system. In Int. W. on Persistent Object Systems: Design, Implementation and Use, Tiburon CA (USA), August 1998.Google Scholar
  9. 9.
    P. Butterwoth, A. Otis, and J. Stein. The GemStone object database management system. Com. of the ACM, 34(10):64–77, October 1991.CrossRefGoogle Scholar
  10. 10.
    Michael J. Carey, David J. DeWitt, Michael J. Franklin, Nancy E. Hall, Mark L. McAuliffe, Jeffrey F. Naughton, Daniel T. Schuh, Marvin H. Solomon, C. K. Tan, Odysseas G. Tsatalos, Seth J. White, and Michael J. Zwilling. Shoring up persistent applications. In Proc. Int. Conf. on Management of Data (SIGMOD), pages 383–394, Minneapolis MN (USA), May 1994. ACM SIGMOD.Google Scholar
  11. 11.
    J. S. Chase, H. E. Levy, M. J. Feely, and E. D. Lazowska. Sharing and adressing in a single address space system. ACM Transactions on Computer Systems, 12(3), November 1994.Google Scholar
  12. 12.
    George Coulouris, Jean Dollimore, and Marcus Roberts. Role and task-based access control in the PerDiS project. In W. on Role-Based Access Control, George Mason University, VA (USA), October 1998. ACM.Google Scholar
  13. 13.
    George Coulouris, Jean Dollimore, and Marcus Roberts. Secure communication in non-uniform trust environments. In ECOOP W. on Dist. Object Security, Brussels (Belgium), July 1998.Google Scholar
  14. 14.
    Alan Dearle, Rex di Bona, James Farrow, Frans Henskens, Anders Lindström, John Rosenberg, and Francis Vaughan. Grasshopper: An orthogonally persistent operating system. Computing Systems, 7(3):289–312, 1994.Google Scholar
  15. 15.
    O. Deux et al. The 02 system. Communications of the ACM, 34(10):34–48, October 1991.CrossRefGoogle Scholar
  16. 16.
    Digital Equipment Corporation, Hewlett-Packard Company, HyperDesk Corporation, NCR Coporation, Object Design, Inc., and SunSoft, Inc. The Common Object Request Broker: Architecture and specification. Technical Report 91-12-1, Object Management Group, Framingham MA (USA), December 1991.Google Scholar
  17. 17.
    Daniel R. Edelson. Smart pointers: They’re smart, but they’re not pointers. In C++ Conference, pages 1–19, Portland, OR (USA), August 1992. Usenix.Google Scholar
  18. 18.
  19. 19.
    Paulo Ferreira and Marc Shapiro. Garbage collection and DSM consistency. In Proc. of the First Symposium on Operating Systems Design and Implementation (OSDI), pages 229–241, Monterey CA (USA), November 1994. ACM.Google Scholar
  20. 20.
    Paulo Ferreira and Marc Shapiro. Modelling a distributed cached store for garbage collection. In Proc. of the 12th European Conf. on Object-Oriented Programming (ECOOP), Brussels (Belgium), July 1998.Google Scholar
  21. 21.
    Michael Franklin, Michael Carey, and Miron Livny. Transactional client-server cache consistency: Alternatives and performance. ACM Transactions on Database Systems, 22(3):315–363, September 1997.CrossRefGoogle Scholar
  22. 22.
    Olivier Gruber and Laurent Amsaleg. Object grouping in EOS. In Proc. Int. Workshop on Distributed Object Management, pages 184–201, Edmonton (Canada), August 1992.Google Scholar
  23. 23.
    Sytse Kloosterman and Xavier Blondel. The PerDiS Reference Manual, version 2.1. INRIA, B.P. 105, 78150 Le Chenay Cedex, France, 2.1 edition, May 1998. ftp://ftp.inria.fr/INRIA/Projects/SOR/PERDIS/PLATFORM/PPF-2.1/ppf-2-1-manual.ps.gz
  24. 24.
    Charles Lamb, Gordon Landis, Jack Orenstein, and Dan Weinreb. The ObjectStore database system. Communications of the ACM, 34(10):50–63, October 1991.CrossRefGoogle Scholar
  25. 25.
    Barbara Liskov, Mark Day, and Liuba Shrira. Distributed object management in Thor. In Proc. Int. Workshop on Distributed Object Management, pages 1–15, Edmonton (Canada), August 1992.Google Scholar
  26. 26.
    J. Eliot. B. Moss. A performance study of the Mneme persistent object store. ACM Transactions on Information Systems, 8(2):103–139, April 1990.CrossRefGoogle Scholar
  27. 27.
    J. Eliot B. Moss. Working with persistent objects: To swizzle or not to swizzle. IEEE Transactions on Software Engineering, 18(8):657–673, August 1992.CrossRefGoogle Scholar
  28. 28.
    Tony Printezis, Malcom Atkinson, Laurent Daynes, Susan Spence, and Pete Bailey. The design of a new persistent object store fir pjama. In International Workshop on Persistence for Java, San Francisco Bay Area, California (USA), August 1997.Google Scholar
  29. 29.
    Roger Sessions. COM and DCOM: Microsoft’s Vision for Distributed Objects. Wiley, December 1998. ISBN 0-471-19381-X.Google Scholar
  30. 30.
    Marc Shapiro, Yvon Gourhant, Sabine Habert, Laurence Mosseri, Michel Ruffin, and Câline Valot. SOS: An object-oriented operating system — assessment and perspectives. Computing Systems, 2(4):287–338, December 1989.Google Scholar
  31. 31.
    K. Singhal, S. Kakkad, and P. Wilson. Texas: An efficient, portable persistent store. In Proc. of the Fifth International Workshop on Persistent Object Systems Design, Implementation and Use, pages 13–28, San Miniato Pisa (Italy), September 1992.Google Scholar
  32. 32.
    Pedro Sousa, Manuel Sequeira, André Zúquete, Paulo Ferreira, Cristina Lopes, José Pereira, Paulo Guedes, and José Alves Marques. Distribution and persistence in the IK platform: Overview and evaluation. Computing Systems (Fall 1993), 6(4), 1993.Google Scholar
  33. 33.
    Paul R. Wilson and Sheetal V. Kakkad. Pointer swizzling at page fault time: Efficiently and compatibly supporting huge address spaces on standard hardware. In 1992 Int. Workshop on Object Orientation and Operating Systems, pages 364–377, Dourdan (France), October 1992. IEEE Comp. Society, IEEE Comp. Society Press.Google Scholar
  34. 34.
    Ann Wollrath, Roger Riggs, and Jim Waldo. A distributed object model for the java system. In Conference on Object-Oriented Technologies, Toronto Ontario (Canada), 1996. Usenix.Google Scholar
  35. 35.
    S. Zdonik and D. Maier. Readings in Object-Oriented Database Systems. Morgan-Kaufman, San Mateo, California (USA), 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Paulo Ferreira
    • 1
  • Marc Shapiro
    • 2
  • Xavier Blondel
    • 2
  • Olivier Fambon
    • 3
  • João Garcia
    • 1
  • Sytse Kloosterman
    • 2
  • Nicolas Richer
    • 2
  • Marcus Robert
    • 4
  • Fadi Sandakly
    • 5
  • George Coulouris
    • 4
  • Jean Dollimore
    • 4
  • Paulo Guedes
    • 1
  • Daniel Hagimont
    • 3
  • Sacha Krakowiak
    • 3
  1. 1.INESCLisboaPortugal
  2. 2.INRIA RocquencourtLe Chesnay CedexFrance
  3. 3.INRIA Rhône-Alpes ZIRST - 655Montbonnot Saint-MartinFrance
  4. 4.QMW Queen Mary and Westefield CollegeLondonUK
  5. 5.CSTBSophia Antipolis CedexFrance

Personalised recommendations