Implementation and Performance Analysis of Pointer Swizzling Method for Effective Access to Complex Objects

복합 객체의 효율적인 접근을 위한 포인터 스위즐링 방법의 구현 및 성능 분석

  • Min, Jun-Gi (Dept. of Computer Science, Korea Advanced Institute of Science and Technology) ;
  • Gang, Heum-Geun (Dept. of Computer Science, Korea Advanced Institute of Science and Technology) ;
  • Lee, Seong-Jin ;
  • Jeong, Jin-Wan (Dept. of Computer Science, Korea Advanced Institute of Science and Technology)
  • 민준기 (한국과학기술원 전산학과) ;
  • 강흠근 (한국과학기술원 전산학과) ;
  • 이성진 (한국과학기술원 정보 및 통신공학과) ;
  • 정진완 (한국과학기술원 전산학과)
  • Published : 1999.08.01

Abstract

포인터 스위즐링 기법은 포인터 스위즐링과 언스위즐링으로 이루어지며, 포인터 스위즐링은 객체 접근 시 객체 식별자를 해당 객체의 메모리 주소로 교체하는 것을 말하며, 언스위즐링은 객체 교체 또는 객체 저장 시에 스위즐링된 포인터를 원래의 객체 식별자로 환원하는 것을 말한다. 본 연구에서는 시스템 버퍼 구조에 따라 여러 포인터 스위즐링 기법을 분류하여 장단점을 분석하였으며, 이중 버퍼 구조 상에서 적극/소극, 직접/간접 스위즐링, 언스위즐링 모듈을 설계, 구현하였다. 또한 제한된 크기의 객체 버퍼 상에서 각 포인터 스위즐링 모듈의 성능을 평가하였다. 이 성능 평가의 결과로는 사용하지 않는 포인터는 스위즐링하지 않으며 언스위즐링 부담이 적은 소극 간접 스위즐링 기법이 일반적으로 뛰어난 성능을 나타냄을 알 수 있게 되었다.Abstract The pointer swizzling methods consist of pointer swizzling and unswizzling. Pointer swizzling replaces the OID of a object to the memory address of the object at object access time and unswizzling replaces the swizzling pointer of the OID at object replacement time or object save time. In this research, the different techniques for pointer swizzling are classified according to the system buffer structure and analyzed the pros and cons. In addition, eager/lazy, direct/indirect swizzling, unswizzling modules are designed and implemented on a dual buffering structure. Also, we evaluate the performance of pointer swizzling modules on the restricted object buffer size. The results of performance evaluation show that the performance of lazy indirect pointer swizzling technique is generally good because unused pointers are not swizzled, and unswizzling overhead is minimized.

Keywords

References

  1. Introduction to Object_Oriented Databases Kim, W.
  2. VLDB journal v.4 Adaptable Pointer Swizzling Strategies in Object Bases: Design, Realization, and Quantitative Analysis Kemper, A.;Kossman, D.
  3. IEEE Transactions on Software Engineering v.18 no.8 Working with Persistent Objects: To Swizzle or Not to Swizzle Moss, J.
  4. Pointer Swizzling Techniques for Object-oriented Database Systems White, S.
  5. A Trace-Based Simulation of Pointer Swizzling Techniques McAuliffe, L.;Solomon, H.
  6. Proceedings, Int'1.Conf. Dual-Buffering Strategies on Object Bases Kemper, A.;Kossman, D.
  7. Proceedings, 5th Int'1. Workshop on Persistent Object Systems Texas: An Efficient, Portable Persistent Store Singhal, V.;Kakkad, S.;Wilson P.
  8. Overview of Shore, Version 0.9.3 Beta The Shore Project Group
  9. The Shore Storage Manager Programming Interface, Version 0.9.3 Beta The Shore Project Group
  10. The 007 Benchmark, Version of April 12 Carey, M.;DeWitt, D.;Naughton, J.
  11. Technical Report Efficient Property Access in Memory Resident Object Oriented Databases Weddell, G.,