针对目前日益增长的用户量和用户需求,可能现有的服务机器已经难以满足其硬件要求。与其花费大量成本去更换升级服务器的硬件架构,不如使用负载均衡的策略,将庞大的任务量分发到不同的机器上,以达到缓解服务器压力,甚至提升服务器性能的作用。
负载均衡有两方面的含义:一是对单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高,这就是我们常说的集群(clustering)技术。第二则是对大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应用服务器等网络应用。
通常,负载均衡会根据网络的不同层次(网络七层)来划分。现代负载均衡技术通常操作于网络的第四层或第七层,这是针对网络应用的负载均衡技术,它完全脱离于交换机、服务器而成为独立的技术设备。这也是我们现在要讨论的对象。
网络负载均衡能将传入的请求传到多台服务器上,同时负载均衡技术保证即使是负载很重的情况下,服务器也能做出快速响应。负载均衡能自动检测不可用的服务器,并在剩余的服务器中重新指派用户的服务请求。也由此一台或几台服务器的损坏并不会造成服务的中断。当然,负载均衡的策略也允许用普通的计算机上实现。
本设计中的负载均衡主要在第七层网络应用层实现,实现原理是轮询的策略来对任务进行分发。
2.3 虚拟化技术
在IT领域,虚拟化通常指对物理资源进行抽象的一种技术。随着对计算机软硬件资源整合的需求不断增长,虚拟机技术得到了长远的进步。
由于云计算模式就是利用整合数据中心的各项资源形成像巨型机一样强大的计算能力,因此虚拟化技术在云计算中极为重要。
与多任务,多线程技术不同的是,虚拟化技术满足了让多个操作系统在同一台计算机上同时运行,并且这多个操作系统又可以同时运行多个任务的需求。这其中最为著名就是VMWare公司了,他们引发了最新一轮的虚拟化技术热潮。
云计算的目标是整合整个部门或企业,也可能是跨部门、跨地域的计算资源,使资源复用而达到利用率最大化。而虚拟机技术正是为这种构想提供了强有力的支撑。
2.4 实际应用背景
本次研究的对象是一个应用于ACM/ICPC的Online Judge判题系统,在对该系统进行分析的同时,我们对其进行进一步的优化,并对该类云计算节点协同工作所引发的一些普遍性问题进行探究,以期达到今后在遇到相同类型云节点协同工作的部署框架中,有一个统一的优化方案的效果。
ACM/ICPC,又称国际大学生程序设计竞赛,是由ACM(Association for Computing Machinery,美国计算机协会)组织的年度性竞赛,始于1970年。近年来,ACM/ICPC举办的国际大学生程序设计竞赛已经成为世界上规模最大、历史最长、影响最深远的全球性计算机专业竞赛。它旨在为大学生提供一个展示问题求解和程序设计能力的机会,同时促进不同地区大学生的文化交流。中国大陆高校从1996年开始参加ACM/ICPC亚洲预赛,清华大学是中国较早参加国际大学生程序设计竞赛的大学之一,上海交通大学曾经获得过国际大学生程序设计竞赛总决赛的冠军。在2002年,南京理工大学代表队首次参加 ACM/ICPC Asia Regional Contest,并且获得了一枚铜牌的好成绩。文献综述
设计该判题系统的初衷,是因为目前国内外许多的评测系统都存在瓶颈,在短时间内有用户密集的提交的时候,会常常由于服务器的资源有限,导致判题任务会堆积,使得用户体验不佳。严重的会造成服务器宕机,服务停止。 云节点协同工作若干问题的研究(5):http://www.751com.cn/jisuanji/lunwen_72345.html