A Cost-Based Buffer Replacement Algorithm in Object-Oriented Database Systems

객체지향 데이타베이스에서의 비용기반 버퍼 교체 알고리즘

  • 박종목 (삼성전자소프트웨어센터) ;
  • 한욱신 (한국과학기술원 전산학과) ;
  • 황규영 (한국과학기술원 전산학과)
  • Published : 2000.03.31

Abstract

Many object oriented database systems manage object buffers to provide fast access to objects. Traditional buffer replacement algorithms based on fixed length pages simply assume that the cost incurred by operating a buffer is propertional to the number of buffer faults. However, this assumption no longer holds in an objects buffer where objects are of variable length and the cost of replacing an object varies for each object. In this paper, we propose a cost based replacement algorithm for object buffers. The proposed algorithm replaces the have minimum costs per unit time and unit space. The cost model extends the previous page based one to include the replacement costs and the sizes of objects. The performance tests show that proposed algorithm is almost always superior to the LRU-2 algorithm and in some cases is more than twice as fast. The idea of cost based replacement can be applied to any buffer management architectures that adopt earlier algorithms. It is especially useful in object oriented database systems where there is significant variation in replacement costs.

많은 객체지향 데이타베이스 시스템들은 객체에 대한 빠른 액세스를 제공하기 위하여 객체 버퍼를 관리한다. 기존의 고정 길이의 페이지를 단위로 하는 교체 알고리즘들은 고정 크기의 페이지의 교체 비용이 일정하므로 버퍼에서 발생하는 비용이 단순히 버퍼 폴트 횟수에 비례한다고 가정하고 있다. 그러나, 객체 버퍼에서는 객체들의 크기와 교체 비용이 객체마다 다르므로 이러한 가정은 더이상 성립하지 않는다. 본 논문에서는 객체버퍼를 위한 비용기반 교체 알고리즘을 제안한다. 제안된 알고리즘은 객체들의 크기 와 교체 비용을 포함하도록 기존의 페이지 기반 모델을 확장한 비용 모텔을 기반으로 단위 시간 및 단위 공간당 비용이 최소가 되도록 하는 객체를 교체한다. 성능 평가 결과에 따르면 이 알고리즘은 기존의 LRU-2에 비해 거의 항상 우수하며 경우에 따라 2배 이상의 성능을 보인다. 비용기반 알고리즘은 기존의 방법들이 적용된 어떤 응용에도 쉽게 적용될 수 있으며, 특히 교체 비용이 일정하지 않은 객체지향 데이타베이스 시스템에서 효율적으로 활용될 수 있다.

Keywords

References

  1. Kemper, A. and Kossmann, D., 'Dual-Buffering Strategies in Object Bases,' In Proc. Int'l Conf. on Very Large Data Bases, Santiago, Chile, pp. 427-438, Sept. 1994
  2. Kim, W., Introduction to Object-Oriented Databases, MIT Press, 1990
  3. Coffman, E. G. Jr. and Denning, P. J., Operating Systems Theory, Prentice-Hall, 1973
  4. Effelsberg, W. and Haerder, T., 'Principles of Database Buffer Management,' ACM Trans. on Database Systems, Vol. 9, No. 4, pp.560-595, Dec. 1984 https://doi.org/10.1145/1994.2022
  5. O'Neil, E. J., O'Neil, P. E., and Weikum, G., 'The LRU-K Page Replacement Algorithm For Database Disk Buffering,' In Proc. Int'l Conf. on Management of Data, ACM SIGMOD, Washington, D.C., May 1993 https://doi.org/10.1145/170035.170081
  6. UniSQL, Inc., UniSQL/X Application Program Interface Reference Guide, UniSQL, 1995
  7. Versant Object Technology Corp., VERSANT C++ Reference Manual, 1993
  8. Butterworth, P., Otis, A., and Stein, J., 'The Gemstone Object Database Management System,' Comm. of the ACM, Vol. 34, No. 10, pp. 64-77, Oct. 1991 https://doi.org/10.1145/125223.125254
  9. Aho, A. V., Denning, P. J., and Ullman, J. D., 'Principles of Optimal Page Replacement,' Journal of the ACM, Vol. 18, No. 1, pp. 80-93, Jan. 1971 https://doi.org/10.1145/321623.321632
  10. Aggarwal, C., Wolf, J. L., and Yu, P. S., 'Caching on the World Wide Web,' IEEE Trans. on Knowledge and Data Engineering, Vol. 11, No. 1, Jan./Feb. 1999 https://doi.org/10.1109/69.755618
  11. Scheuermann, P., Shim, J., and Vingralek, R., 'WATCHMAN: A Data Warehouse Intelligent Cache Manager,' In Proc. Int'l Conf. on Very Large Data Bases, Mumbai, India, 1996
  12. Sinnwell, M. and Weikum, G., 'A Cost-Model-Based Online Method for Distributed Caching,' In Proc. Int'l Conf. on Data Engineering, IEEE, Birmingham, U.K., Apr. 1997 https://doi.org/10.1109/ICDE.1997.582022
  13. Park, C.-M., Persistent Object and Object Buffer Management in Object-Oriented Database Systems, Ph. D. Thesis, Department of Computer Science, Korea Advanced Institute of Science and Technology, 1997
  14. Whang, K.-Y. and Park, C.-M., 'A Cost-based Object Buffer Replacement Algorithm for Object-Oriented Database Systems,' Korean Patent, File No. 96-66427, 1996
  15. Belady, L. A., 'A Study of Replacement Algorithms for Virtual Storage Computers,' IBM Systems Journal, Vol. 5, No. 2, pp. 78-101, 1966
  16. Denning, P. J., Chen, Y. C., and Shedler, G. S., A Model for Program Behavior under Demand Paging, IBM Research Report RC-2301, IBM T. J. Watson Research Center, Yorktown Heights, N. Y., Sept. 1968
  17. Johnson, T. and Shasha, D., '2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm,' In Proc. Int'l Conf. on Very Large Data Bases, pp. 439-450, Santiago, Chile, Sept. 1994
  18. Park, C.-M., Shim, J.-G., Lee, J.-H., Woo, J.-H., Cho, W.-S., and Whang, K.-Y., 'ODYSSEUS: A Multi-User Object-Oriented Database System for UNIX,' In Proc. Spring Biannual Conf. of Korea Information Science Society, Vol. 21, No. 2, pp. 31-34, Apr. 1994
  19. Carey, M. J., DeWitt, D. J., and Naughton, J. F., 'The OO7 Benchmark,' In Proc. Int'l Conf. on Management of Data, ACM SIGMOD, Washington, D.C., May 1993
  20. Whang, K.-Y., 'Constructing Cost Formulas for Relational Database Query Optimizers: A Tutorial,' In Proc. IEEE TENCON '87, IEEE, Seoul, Korea, Aug. 1987