Affinity-based Dynamic Transaction Routing in a Shared Disk Cluster

공유 디스크 클러스터에서 친화도 기반 동적 트랜잭션 라우팅

  • 온경오 (영남대학교 컴퓨터공학과) ;
  • 조행래 (영남대학교 전자정보공학부)
  • Published : 2003.12.01

Abstract

A shared disk (SD) cluster couples multiple nodes for high performance transaction processing, and all the coupled nodes share a common database at the disk level. In the SD cluster, a transaction routing corresponds to select a node for an incoming transaction to be executed. An affinity-based routing can increase local buffer hit ratio of each node by clustering transactions referencing similar data to be executed on the same node. However, the affinity-based routing is very much non-adaptive to the changes in the system load, and thus a specific node will be overloaded if transactions in some class are congested. In this paper, we propose a dynamic transaction routing scheme that can achieve an optimal balance between affinity-based routing and dynamic load balancing of all the nodes in the SD cluster. The proposed scheme is novel in the sense that it can improve the system performance by increasing the local buffer hit ratio and reducing the buffer invalidation overhead.

공유 디스크(Shared Disks: SD) 클러스터는 온라인 트랜잭션 처리를 위해 다수 개의 컴퓨터를 연동하는 방식으로, 각 노드들은 디스크 계층에서 데이타베이스를 공유한다. SD 클러스터에서 트랜잭션 라우팅은 사용자가 요청한 트랜잭션을 실행할 노드를 결정하는 것을 의미한다. 이때, 동일한 클래스에 속하는 트랜잭션들을 가급적 동일한 노드에서 실행시킴으로써 지역 참조성을 극대화할 수 있으며, 이를 친화도 기반 라우팅이라 한다. 그러나 친화도 기반 라우팅은 트랜잭션 클래스의 부하 변화에 적절히 대처할 수 없으며, 특정 트랜잭션 클래스가 폭주할 경우 해당 노드는 과부하 상태에 빠질 수 있다는 단점을 갖는다. 본 논문에서는 친화도 기반 라우팅을 지원하면서 SD 클러스터를 구성하는 노드들의 부하를 동적으로 분산할 수 있는 동적 트랜잭션 라우팅 기법을 제안한다. 제안한 기법은 지역 버퍼에 대한 참조 지역성을 높이고 버퍼 무효화 오버헤드를 줄임으로써 시스템의 성능을 향상시킬 수 있다.

Keywords

References

  1. M. Yousif, 'Shared-Storage Clusters,' Cluster Comp., Vol.2, No.4, pp.249-257, 1999 https://doi.org/10.1023/A:1019095112733
  2. IBM DB2 Data Sharing: Planning and Administration, IBM SC26-9935-01, 2001
  3. Oracle 9i Real Application Cluster-Concepts, Oracle Part No. A89867-02, 2001
  4. H. Cho, 'Cache Coherency and Concurrency Control in a Multisystem Data Sharing Environment,' IEICE Trans. Information and Syst., Vol.E82-D, No.6, pp.1042-1050, 1999
  5. C. Mohan and I. Narang, 'Recovery and Coherency Control Protocols for Fast Intersystem Page Transfer and Fine-Granularity Locking in a Shared Disks Transaction Environment,' Proc. 17th Int. Conf. on VLDB, pp.193-207, 1991
  6. S. Haldar and D.K. Subramanian, 'An Affinity-based Dynamic Load Balancing Protocol for Distributed Transaction Processing Systems,' Performance Evaluation, Vol.17, No.1, pp.53-71, 1993 https://doi.org/10.1016/0166-5316(93)90012-J
  7. C. Nikolaou, M. Marazakis, and G. Georgiannakis, 'Transaction Routing for Distributed OLTP Systems: Survey and Recent Results,' Info. Sciences, Vol.97, No.1-2, pp.45-82, 1997 https://doi.org/10.1016/S0020-0255(96)00173-9
  8. P. Yu and A. Dan, 'Performance Analysis of Affinity Clustering on Transaction Processing Coupling Architecture,' IEEE Trans. Knowledge and Data Eng., Vol.6, No.5, pp.764-786, 1994 https://doi.org/10.1109/69.317706
  9. E. Rahm, 'A Framework for Workload Allocation in Distributed Transaction Processing Systems,' J. Syst. Software, Vol.18, pp.171-190, 1992 https://doi.org/10.1016/0164-1212(92)90126-5
  10. P. Yu and A. Dan, 'Performance Evaluation of Transaction Processing Coupling Architectures for Handling System Dynamics,' IEEE Trans. Parallel and Distributed Syst., Vol.5, No.2, pp.139-153, 1994 https://doi.org/10.1109/71.265942
  11. B. Shirazi, A. Hurson, and K. Kavi, Scheduling and Load Balancing in Parallel and Distributed Systems, IEEE Computer Society Press, 1995
  12. M. Squillante and E. Lazowska, 'Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling,' IEEE Trans. Parallel and Distributed Syst., Vol.4, No.2, pp.131-143, 1993 https://doi.org/10.1109/71.207589
  13. J. Torrellas, A. Tucker, and N. Gupta, 'Evaluating the Performance of Cache-Affinity Scheduling in Shared-Memory Multiprocessors,' J. Parallel and Distributed Comp., Vol.24, No.2, pp.139-151, 1995 https://doi.org/10.1006/jpdc.1995.1014
  14. B. Hamidzadeh, L. Kit, and D. Lilja, 'Dynamic Task Scheduling Using Online Optimization,' IEEE Trans. Parallel and Distributed Syst., Vol.11, No.11, pp.1151-1163, 2000 https://doi.org/10.1109/71.888636
  15. V. Kanitkar and A. Delis, 'Site Selection for Real-Time Client Request Handling,' Proc. 19th Int. Conf. on Distributed Computing Syst., pp.298-305, 1999 https://doi.org/10.1109/ICDCS.1999.776531
  16. T. Kunz, 'The Influence of Difference Workload Descriptions on a Heuristic Load Balancing Scheme,' IEEE Trans. Software Eng., Vol.17, No.7, pp.725-730, 1991 https://doi.org/10.1109/32.83908
  17. M. Carey, S. Krishnamurthi, and M. Livny, 'Load Control for Locking: The 'Half-and-Half' Approach,' Proc. 9th Symposium on Principles of Database Syst., pp.72-84, 1990 https://doi.org/10.1145/298514.298543
  18. H. Schwetman, CSIM User's Guide for use with CSIM Revision 16, MCC., 1992