节点文献

云计算环境中多核多进程负载均衡技术的研究与应用

Research and Application of Multi-Processing Load Balancing Technology Based on Multi-Core in Cloud Computing

【作者】 吴和生

【导师】 谢俊元;

【作者基本信息】 南京大学 , 计算机科学与技术, 2013, 博士

【摘要】 可用性是网络安全的基本要素之一,也是衡量网络安全的基本指标之一。负载均衡是保障大型网络应用系统高可用性的关键技术之一。现代负载均衡已经发展成为云计算的重要组成部分。与早期相比,现代负载均衡所面临的外部环境发生了显著变化,其中最为重要的三个变化是:1、云计算技术的蓬勃发展;2、计算机处理器由单核发展为多核:3、云计算时代适逢计算机处理器多核化。在云计算环境中,基于多核的负载均衡技术面临着一些新问题,其中最为重要的问题是负载均衡在云计算环境中的弹性资源管理、基于多核的多进程负载均衡会话保持以及弹性资源管理和多核多进程负载均衡的安全集成问题。在云计算环境中,负载均衡不再管理固定的物理机器,而转为管理云中的虚拟机,这使其成为云计算中虚拟资源管理和调度的核心。综合学术界和业界研究现状,该项研究尚存在如下不足:1、灵活性不够,没有从面向服务的角度考虑提供资源的动态部署,不能充分体现云计算弹性、按需使用资源的特性;2、不支持趋势预测,不同程度存在资源分配明显滞后的问题,影响用户体验,严重时甚至无法满足部分用户请求。相较于传统的单进程负载均衡架构,基于多核的多进程架构可以充分利用处理器的并行处理能力以提高系统的整体性能。但多核多进程负载均衡架构需要解决的会话保持问题较单核环境中更为复杂,目前针对该问题主要采用共享内存式锁机制来解决。这种解决方案存在如下不足:1、不管锁机制的设计如何精妙,由于需要频繁查询、修改会话表,都会或多或少地造成系统性能的降低;2、使用共享内存的多进程负载均衡会话保持方案需要对原有单进程负载均衡程序进行大量结构上的修改。云计算中弹性资源管理使得云计算具备大规模水平可扩展性。多核多进程负载均衡有助于提升云计算垂直扩展和并行化处理能力。如果云计算中弹性资源管理和多核多进程负载均衡能够有机集成,将有效提高负载均衡的整体性能,从而改善云计算技术的服务能力,从某种意义上促进了云计算的发展。该项集成优势明显,但仍需要解决许多问题,其中之一就是安全集成的方法问题。本文专注于云计算中多核负载均衡的关键问题,重点研究云计算环境中的弹性负载均衡资源管理、基于多核的负载均衡会话保持以及弹性资源管理和多核多进程负载均衡的安全集成问题。主要工作和创新如下:1、针对现有云计算弹性负载均衡存在的不足,提出了一种基于预测的弹性负载均衡资源管理算法(TeraPELB),不仅能更加灵活地动态调配资源,而且支持基于负载的趋势预测。算法分析和仿真实验表明,随着网络负载的变动,算法能根据负载变化情况动态地调整后端服务集群的处理能力,解决了从云中申请虚拟机具有延迟性而导致迟滞甚至无法满足用户请求的问题,相较于传统的弹性负载均衡算法效果更好,具有更高的可扩展性和可用性。2、针对多核多进程负载均衡会话保持问题,面向Linux内核,基于Hash化管理内核网络数据包传递的思想,提出并实现了一种无锁的多进程负载均衡会话保持方案。该方案避免了锁的使用,而且不需要对原有单进程负载均衡程序进行结构上的修改,能够快速地将现有单进程负载均衡程序转变为多进程架构。算法分析和实验表明,该方案提高了基于多核的负载均衡系统效率。相较于传统的共享内存式锁机制会话保持解决方案,该方案性能更好、适用性更强。3、针对云计算中弹性资源管理和多核多进程负载均衡的安全集成方法问题,采用软件构件化思想,将云计算环境中基于预测的弹性负载均衡资源管理算法与无锁的多核多进程负载均衡解决方案有机集成到一个负载均衡器中,采取相关的安全防范措施,相辅相成,有效地提高了负载均衡器的整体性能,弥补了云计算环境中现有负载均衡器的功能缺陷。此外,鉴于无线通信网中的负载均衡技术研究处于起步阶段,本文也对其进行了简要讨论。

【Abstract】 Availability is one of the fundamental elements of network security, and one of the basic indicators to measure network security as well.Load balancing is one of the key technologies to guarantee high availability for large global network application system.Load balancing has become an important part of cloud computing. Compared with that of the earlier load balancing technology, the external environment that the modern load balancing technology faces has undergone significant changes. And the three most important changes are: firstly, cloud computing technology is flourish; secondly, the architecture of computer processor changes from single core to multiple cores; thirdly, cloud computing era coincides with the architecture of the computer processor multi-core development.In cloud computing, load balancing technology based on multi-core processor is facing some new problems, among which the most important issue are elastic load balancing resource management in cloud computing environment, load balancing based on multi-core session persistence, and security integration between elastic resource management and multi-processing load balancing based on multi-core.In cloud computing, the back-end server of load balancing management is a virtual machine in IaaS instead of an physical one, which makes load balancing the core of virtual resource management and scheduling in cloud computing. Integrated academic and industry research status, this study is still less than the following:1) Insufficient flexibility. Not be considered from the perspective of service-oriented dynamic deployment of resources, not fully reflect the "use on demand" feature of cloud computing.2) Does not support the trend prediction. Exist to varying degrees the allocation of resources has lagged far behind, that affect the user experience, serious and even unable to meet user requests.Compared to traditional single-processing load balancing architecture, multi-processing architecture based on multi-core can take full advantage of the processor’s parallel processing capabilities to improve overall system performance. Due to the fact that session persistence is more complicated for multi-processing load balancing in multi-core environment than that in single-core environment, session persistence solutions of shared-memory locking mechanism will lead to lower system performance. Moreover, considerable structural modifications are necessary for existing single-processing load balancing procedure.Elastic load balancing resource management in the cloud computing environment makes cloud computing with large-scale horizontal scalability. Multi-processing load balancing based on multi-core helps to improve the vertical scalability and parallel processing capabilities of cloud computing. The integration of elastic resource management and multi-processing load balancing based on multi-core in cloud computing can effectively improve the overall performance of the load balancing, so as to improve the service capabilities of cloud computing technology, and to promote the development of cloud computing. The integration has obvious advantages, but still need to solve many problems, one of which is security integration methodological issues.This dissertation focuses on the key issues of load balancing based on multi-core in cloud computing. The main issues of the dissertation are elastic load balancing resource management in cloud computing, load balancing based on multi-core session persistence, and the security integration of elastic resource management and multi-processing load balancing based on multi-core. The main contributions and innovation are as follows:1) To overcome the drawbacks of the existing elastic load balancing in cloud computing, an algorithm of prediction-based elastic load balancing resource management (TeraPELB) is presented. Theoretical analysis and experiments have shown that the required number of virtual machines change in compliance with the change of network load, thus TeraPELB is able to dynamically adjust the processing capacity of back-end server cluster with the applied load. It concludes that compared with the traditional elastic load balancing algorithm, it overcome the drawback that it might lead network service response to turn slow even no response as hysteresis of the applied virtual machine from the cloud, and TeraPELB is more reasonable for providing scalability and high availability.2) For the issue of multi-processing load balancing session maintenance in multi-core environment, the dissertation proposes and implements a lock-free multi-processing load balancing session maintenance solution in Linux kernel based on the idea of Hash management kernel network packet delivery. The given solution avoids the use of the lock, and is able to quickly transfer the load balancing of existing single-process architecture into that of multi-processing architecture without structural changes. The Theoretical analysis and experimental results show that the proposed architecture is able to efficiently improve the overall performance of load balancing in multi-core environment. Compared with the traditional session maintenance solution based on shared memory lock mechanism, the proposed solution is able to get better performance and has stronger applicability.3) As for the issue of security integration for elastic resource management and multi-processing load balancing based on multi-core in cloud computing, the prediction-based elastic load balancing resource management algorithm and lock-free multi-processing load balancing based on multi-core solution are integrated into a load balancer using the software component ideological. The dissertation adopts the safety precautions, which are complement with each other, to effectively improve the overall performance of the load balancer, and make up for the drawbacks of the existing load balancer in cloud computing.Besides, in the view that the research of load balancing in the wireless communication network is in its infancy, the dissertation also briefly discusses it.

  • 【网络出版投稿人】 南京大学
  • 【网络出版年期】2014年 05期
节点文献中: 

本文链接的文献网络图示:

本文的引文网络