基于CORBA的自适应负载均衡服务的设计与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
实施负载均衡是提高分布式系统的整体性能,改善其可扩展性和可用性的一个有效手段,也是分布式应用程序不断发展的必然要求。负载均衡可以在系统中的不同层次上得到实现,其中,基于中间件的负载均衡技术与基于网络、基于操作系统以及基于应用层的负载均衡技术相比,在整合异构系统、透明访问和扩展能力等方面具有很大的优势。本文的主要研究内容就是基于CORBA中间件的负载均衡,具体的研究工作有以下几点:
     探讨了系统负载的衡量问题,借鉴前人的研究成果,采用以资源利用率和节点的调和性能平均值来综合衡量系统负载的方法,量化了异构系统中各节点的性能,使得负载具有可比性。
     系统地论述了动态负载均衡的四个组成要素:转移策略、选择策略、定位策略和信息策略,这些内容是进行负载均衡研究的基础。
     详细分析了CORBA规范中可以用来实现负载均衡的基本原理:ServantLocator机制、ForwardRequest机制和Portable Interceptor机制。伺服程序定位器和可移植拦截器都能够引发ForwardRequest异常,指示ORB将客户请求转发到其它对象上,并且这种转发是透明的和可移植的。
     针对现有的CORBA负载均衡解决方案的不足,提出了若干设计目标,并在CORBA的对象服务层上设计和实现了一个负载均衡服务。该服务具有较好的可扩展性、适应性和透明性,是一种预防型的负载均衡方法并具有一定的容错能力。
     提出了一个自适应的负载均衡算法ALLRR,避免了有突发式的请求时,将大量请求绑定到同一个服务器对象上和系统重载情况下的任务迁移,并把这个算法应用到所设计的负载均衡服务中。通过实验数据表明,该算法能够有效地提高系统性能特别是在系统负载比较重的情况下。
Load balancing is an increasingly popular and effective technique that can improve the overall performance of the distributed system and fulfill the needs of applications in high demand of scalability and availability. It can be implemented at various levels in a distributed system. Middleware-based load balancing has more advantages over network-based, OS-based and application level load balancing, such as shielding heterogeneousness and providing transparency and scalability.
    This thesis focuses on middleware-based load balancing supported by CORBA, and has made the following contributions:(1) Based on the previous research, we give a method using resource utilization and harmonic mean performance to quantify the load of each node in the heterogeneous environment, which makes the loads comparable. (2) We systematically review the main components of dynamic load balancing: transfer policy, location policy, information policy and selection policy that are the basic points of load balancing researches. (3) We analyze the mechanisms mandated by the CORBA specification to develop load balancing. Both the 'servant locator and the portable interceptor can throw ForwardRequest exception indicating that the ORB should forward the client request to other object transparently and portably. (4) In view of the insufficiencies of existing solutions, we design a load balancing service with certain fault tolerance at CORBA service level, striving for more scalability, adaptivity and transparency. (5) We present an adaptive load balancing algorithm which avoids binding a large number of bursting requests to the same object and dispatching tasks under the over-loaded situation. Experimental results demonstrate that our algorithm performs more effectively than conventional approaches especially when the system has heavy burden.
引文
[1] 徐金梧,徐科,吕志民 等译.基于C++ CORBA高级编程.清华大学出版社.2000,7
    [2] http://www-900.ibm.com/developerWorks/cn/linux/cluster/mosix/part1/index.shtml
    [3] 朱其亮,郑斌编.CORBA原理及应用.北京邮电大学出版社.2001,8
    [4] http://www.microsoft.com/applicationcerter/techinfo/development
    [5] Object Management Group. The Common Object Request Broker: Architecture and Specificaton. 3.0 ed. June 2002
    [6] G. Coulouris, J. Dollimore, and T. Kindberg. Distributed Systems: Concepts and Design. Harlow, England: Pearson Education Limited. 2001
    [7] 李登.分布式计算机系统中的动态负载均衡[硕士学位论文].南京航空航天大学计算机系.2001,3
    [8] Hui Chi-chung, Chanson S. T. Theoretical analysis of heterogeneous dynamic load-balancing problem using a hydrodynamic approach. Journal of Parallel and Distributed Computing, 1997,43(2): 139~146
    [9] Chen Hua-ping, Ji Yong-chang, Chen Guo-liang. A universal model of distributed dynamic load balancing. Journal of Software, 1998,9(1): 25~29
    [10] Zaki M. J., Li W., Parthasarathy S. Customized dynamic load balancing for a network of workstations. Journal of Parallel and Distributed Computing, 1997,43(2): 156~162
    [11] Kunz, T., "The influence of different workload description on a heuristic load balancing scheme", IEEE Transactions on Software Engineering, 1991, 17(7), 725~730
    [12] 李师贤,郑红,吴涛 等译.CORBA企业解决方案.机械工业出版社.2001,1
    [13] http://www.cisco.com/warp/public/cc/pd/cxsr/dd/index.shtml
    [14] Andrew S. Tanenbaum. Distributed Operating Systems. Prentice-Hall, Inc. 1995
    [15] Ferrari D, Zhou S. A load index for dynamic load balancing, 1986 Fall Joint Computer Conference, Nov. 1986
    [16] Ferrari D. A study of load indices for load balancing schemes, Report No. UCB/CSD85/262, Computer Science Division, UCB, Oct. 1985
    [17] Zhou S. An experimental assessment of resource queue lengths as load indices, Winter USENIX Conference, Jan. 1987
    
    
    [18] Bonomi F, Fleming P J, Steinberg P. An adaptive join-the-biased-queue rule for load sharing on distributed computer system. 28th Conference On Decision and Control, Dec. 1989
    [19] Kunz T. The influence of different workload description on a heuristic load balancing scheme, IEEE Transaction On Software Engineering, July 1991, 17(7).
    [20] Banawan S A, Zahorjan J. On comparing load indices using oracle simulation, 1990 Winter Simulation Conference, 1990
    [21] Stumm M. The design and implementation of a decentralized scheduling facility for a workstation cluster. 2~(nd) Conference on Computer Workstation, March 1988.
    [22] 鞠九滨,杨鲲,徐高潮.使用资源利用率作为负载平衡系统的负载指标.软件学报,Vol.7,No.4 Apr.1996
    [23] http://202.194.193.6/csnews/bkjx/doc/xtjg/curseware/performance.pdf
    [24] C. C. Hui and S. T. Chanson, "Improved Strategies for Dynamic Load Balancing," IEEE Concurrency, vol.7, July 1999
    [25] J. Orvalho, L. Figueiredo, and F. Boavida. Evaluating light-weight reliable multicast protocol extension to the CORBA event service. In Proceedings of the 3~(rd) International Enterprise Distributed Object Computing Conference (EDOC'99). University of Mannheim. Germany. 1999.
    [26] P. Narasimhan. L. E. Moser, P. M. Melliar-Smith. The international Approach to Reliable Distributed CORBA Objects. Proceedings of the Third USENIX Conference on Object-Oriented Technologies and Systems. Portland. 1997
    [27] R. R. Koch, L. E. Moser, P. M. Melliar-Smith. A reliable many-to-many multicast protocol for group communication over ATM networks. Proceedings of the International Conference on Dependable Systems and Networks. New York. 2000. pp. 227-246
    [28] I. Inprise Corporation, Visibroker for Java 4.0: Programmer's Guide: Using the POA. 1999
    [29] J. Basney, M. Livny. Deploying a High Throughput Computing Cluster. High Performance Cluster Computing. Vol 1.1999
    [30] D. Ridge, D. Becker, P. Merkey, and T. Sterling. Beowulf: Harnessing the Power of Parallelism in a Pile-of-PCs. In Proceedings, IEEE Aerospace, IEEE, 1997
    
    
    [31] M. Rozier, V. Abrossimov, F. Armand, I. Boule, M. Gien, F. Herrmann, C. Kaiser, S. Langlois, P. Leonard, and W. Neuhauser. Overview of the CHORUS Distributed Operating Systems. Tech. Rep. CS-TR-90-25,Chorus Systems, 1990
    [32] W. G. Krebs. Queue Load Balancing / Distributed Batch Processing and Local RSH Replacement System. http://www.gnuqueue.org/home.html
    [33] M. Lindermeier, Load Management for Distributed Object-Oriented Environments. in Proceedings of the 2nd International Symposium on Distributed Object and Applications (DOA 2000), (Antwerp, Belgium), OMG, Sept. 2000.
    [34] K. S. Ho and H. V. Leong, An Extended CORBA Event Service with Support for Load Balancing and Fault-Tolerance,in Proceedings of the 2nd International Symposium on Distributed Object and Applications (DOA 99), (Antwerp, Belgium), OMG, Sept. 2000.
    [35] http://www.iona.com/support/docs/manuals/orbix/33/html/orbix33cxx_intro/Chapter_09.html
    [36] BEA System Inc. WebLogic Administration Guide. http://edoc.bea.com/wle

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700