




已阅读5页,还剩71页未读, 继续免费阅读
(计算机应用技术专业论文)基于进程迁移的apache服务器集群负载均衡机制.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重鏖坚皇盔堂塑圭堡塞 煎墨 摘要 随着i n t c m e t 的迅猛发展,网络的信息量和访问量飞速增长,服务器超载的 问题日益严重,w e b 服务器集群技术提供了一种有成本效益的高性能解决方案。 集群系统的关键问题在于如何有效利用系统范围内的资源。负载均衡技术的引 入,使得负载可以在集群各节点间尽可能平均地动态分配,从而完成大运算量 的计算,提供较高的响应能力,满足当今日益增长的信息服务的需求。 基于l i n u x 操作系统的a p a c h e 服务器是当今互联网上最流行的w e b 服务器 之一本文针对资源共享和有效利用问题,遥过扩展l i n u x 内核,构建了一个 基于抢占式进程迁移机制的a p a c h e 服务器集群负载均衡原型系统。负载均衡是 实现节点资源高效利用的重要手段,进程迁移机制是负载均衡算法的一种有效 实施机制 , 论文对集群背景知识及相关领域进行了简要介绍,对负载均衡和进程迁移 机制的关键问题进行了阐述阐述了a p a c h e 服务器进程的体系结构,重点介绍 了a p a c h e 服务器体系结构中的进程迁移相关的内容。包括:a p a c h e 服务器的 预先分配多处理模块、共享内存、临界区等,进行了针对a p a c h e 服务器进程迁 移机制的基础性研究。研究了a p a c h e 服务器集群的负载均衡策略和算法,结合 系统的各个功能模块的设计。着重分析了选择策略。位置策略和信息策略的内 容和实现;综合考虑了集群结构、特定应用环境、负载指数、。负载阈值、信息 管理模型和进程生命模型,使之更符合a p a c h e 服务器进程迁移的应用特点,并 对系统各软件模块的实现进行了描述。在对a p a c h e 服务器体系结构分析的基础 上,阐述了a p a c h e 服务器进程迁移机制的实现,包括进程上下文的保存、进程 的中断和迁移、进程的恢复其中对剩余相关性和性能有重要影响的是套接字 的迁移,论文的最后部分对系统进行了测试,主要测试了用户请求响应时间。 进程迁移开销、负载阈值等指标,并分析了测试结果,做出了结论:基于进程 迁移的负载均衡机制可有效地缩短a p a c h e 服务器集群的用户响应时间,从而提 高整体资源利用率, 关键词。a p a c h e 集群,负载均衡,进程迁移 重庆邮电大学硕土迨塞 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e t , o v e r l o a do fs e r v e rh a sb e e nas e r i o u s - p r o b l e ma st h er e s u l to ff a s t , s i n gt ot h e 佗q l l i 崩n e mo fi n f o r m a t i o na n da c c e s s i n g al o w - c o s te f f e c t i v es o l u t i o ni sw r c bs e r v e rc l u s t e r n 壕k e yp r o b l e mo ft h e c o m p u t i n gc l u s t e rs y s t e mi sh o wt ou t i l i z ea l lt h er e s o u 玎瑚e f f e c t i v e l y t op r o v i d e m a s s i v ec o m p u t i n g , f a s tr e s p o n s ea n dm e e tt h eu s e r sr e q u i r e m e n to fi n f o r m a t i o n , o n ec a nd i s t r i b u t et h el o a da m o n gn o d es e r v e r sd y n a m i c a l l yw i t hl o a db a l e n c i n g 。 p r e s e n t l y , o n eo f t h em o s tp o p u l a ri n t e m e tw e bs c n v e ri sa p a c h es e l n f f fw h i c hi s b a s e do l ll i n u x t os h a 聆a n du t i l i z et h el e s o 嘲e f f e c t i v e l yw i t h i nt h ec l u s t e r s y s t e m , ap r o t o t y p es y s t e mi sp r o p o s e dt oa c h i e v el o a db a l a n c i n go fa p a c h es e r v e r c l u s t e rb ye x p a n d i n gl i n u xk e r n e l l o a db a l a n c i n gi sa c h i e v e db yp r o c e s s m i g r a t i o ns o a s t om a k eu s eo f a l lt h e “塔o u “瑚i nac l u s t e r e f f e c t i v e l y , f i r s t l y , t h eb a c k g r o u n da n dc o r r e l a t e df i e l do fc l u s t e ra r ei n t r o d u c e db r i e f l yi n t h ep a p 矗9i n c l u d i n gt h ek e yp r o b l e m so fl o a db a l a n c i n ga n dp r o c e s sm i g r a t i o n 硼 1 e , a r c h i t e c t u r eo f t h e a p a c h es c l w e r i sd i s c u s s e di nd e t e r , i n c l u d i n gt h ea p a c h es e l l c e r 1 1 m u l t i - p r o c e s s i n gm o d u l e ,s h a r e dm e m o r y , c r i t i c a lr e g i o n , e t e t h i si st h e f u n d a m e n t a lr e s e a r c ho fa p a c h ep r o g c s $ m i g r a t i o n t h ed i s c u s s i o no fp o l i c ya n d a l g o r i t h mo fl o a db a l a n c i n go fa p a c h es e r v e rc l u s t e ra r ef o l l o w e d e a c hf u n c t i o n m o d u l ei sd e s i g n e da f t e rc o m p l e t ea n a l y s i so ft h es c h e d u l i n g ,l o c a t i o na n d i n f o r m a t i o np o l i c y c l u s t e ra r c h i t e c t u r e 、s p e c i a la p p l i c a t i o ne n v i r o n m e n t * l o a d i n d e x 、l o a dt h r e s h o l d 、i n f o r m a t i o nm a n a g e m e n tm o d e la n dp r o c e s sl i f em o d e li s t a k e ni n t oa c c o u n ts y n t h e t i c a l l y t h es o f t w a r em o d u l ei sr e a l i z e db a s e do nt h e r e s e a r c ho f l o a db a l a n c i n g - t h ei m p l e m e n t a t i o no fa p a c h es e r v e rp r o c e s sm i g r a t i o nm e c h a n i s mi s d i s c u s s e do nt h eb a s eo ft h ea n a l y s i so ft h ea p a c h e s & c h i t e d a t r e s a v i n go ft h e p r o c e s sc o n t e x t s , i n t e r r u p t i o na n dm i g r a t i o np r o d u r ea n dr e s u m p t i o no f p r o c e s sa r e a l s oa d d r e s s e d t h es o c k e tm i g r a t i o n , w h i c hi si m p o r t a n tt or e s i d u a ld e p e n d e n c y , i s r e a l i z e da sa p a r to f p r o c e s sm i g r a t i o n a tl a s t , t h es i m u l a t i o ni sc a r r i e do u tt ot e s tt h e r e s p o n s et i m ef o rw e br e q u e s t 、m i g r a t i o n ss p e n d i n ga n dl o a dt h r e s h o l d a n dt h e p a p e ri sc o n c l u d e dw i t ht h ec o n c l u s i o nt h a tt h el o a db a l a n c i n gb a s e do np r o c e s s m i g r a t i o nc a l ld e c r e a s er e s p o n s et i m eo f a p a c h ew 曲s e i n e l - k e yw o r d s :a p a c h es e r v e r ,c l u s t e r , l o a db a l a n c i n g , p r o c e s sm i g r a t i o n h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得 的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得重废监鱼盔堂或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:毛文涛签字日期:z - - 年钿夕日 学位论文版权使用授权书 本学位论文作者完全了解重麽邮电太堂有关保留、使用学位论文的 规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文 被查阅和借阅。本人授权重鏖邮电太堂可以将学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇 编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 毛乏海 毒师签名:铷 签字日期:。即- z 年月7 日签字日期:协年月7 日 重庆邮电大学硕士论文第一章绪论 1 1 研究背景 第一章绪论 自从i b m 公司于1 9 6 0 年提出集群( c l u s t e r ) 计算的概念以后,集群计算技 术一直都是计算机界研究的热点之一。集群计算技术介于通过专用互连硬件建立 的紧耦合并行计算系统( m p p ) 和通过网络技术建立的松耦合分布式计算系统之, 问,。它的基本思想在于利用计算机网络技术,整合现有的廉价计算机资源,以较 低的软、硬件代价获得较高的计算性能;它的主要目标是通过网络互连实现全系 统范围内的资源共享,同时通过高校的资源管理和任务调度技术实现资源的有效 共享,提高系统资源利用率,获得高性能。上世纪9 0 年代以后,随着典型科学 计算和商业应用对高价格比系统需求的增加,特别是i n t e m e t 的飞速发展,集群 计算作为一种有着成本效益的并行份布式计算资源,受到越来越多的重视。 ,随着i n t e r n e t 的迅猛发展,网络的信息量和访问量成几何级数增长,服务器 超载的问题日益严重,w e b 服务器集群技术提供了一种高性能的解决方案它的 特点是扩展性强、易于管理、资源利用率高等。w e b 服务器集群设置专门机制将 用户的请求按照某种方案发送到内部节点服务器进行并行处理,对外以单一映像 对外提供w e b 服务。 为了使w e b 服务器集群在实时性和吞吐量方面达到较高的性能,必须为其提 供调度、负载均衡和共享服务。进程迁移是支持负载均衡和高容错性的一种非常 有效的技术一系列的负载均衡策略的研究证明,进程迁移可以成为负载均衡机 制的有效支撑因此,资源的有效利用是w e b 服务器集群技术研究的一个关键 性问题,进程迁移机制是实现负载均衡的有效途径。, , 综上所述,通过进程迁移实现负载均衡具有十分重要的理论研究价值。本课 题以i n t e m e t 流行的w e b 服务器a p a c h e 为模型,对以进程迁移机制作为支撑的 w e b 服务器集群的架构、实现进行了分析讨论,研究通过进程迁移机制实现高效 率负载均衡的途径和技术方案 重庆邮电大学硕士论塞第一章绪论 1 2 课题来源及主要内容 1 。2 1 研究内容与问题 i n t e m e t 的发展使得许多热门w w w 站点开始面临访问数量饱和、服务器超 载的问题。为了提高访问响应速度,增加吞吐能力,升级或更换现有服务器成为 必然。这里有两个途径:一种是采用昂贵的高性能主机或s m p 计算机,另一种 则是把多台现有服务器通过廉价网络联结成集群,通过软件的并行处理以扩展性 能。后者具有成本优势,且更容易扩展和管理, 对于提供w e b 服务的集群系统而言,大多使用d n s “、h t t p 重定向啪、网络 地址转换( n a t ) 册等i p 负载均衡技术实现负载均衡,但是,当w e b 服务中包含 大规模科学计算、w e b 视频播放等服务时,上述方法将导致节点服务器花费较多 时间用于单个请求,在处理请求过程中,不能即时根据集群内部的负载变化情况, 调整各节点负载,造成运行服务的节点处于长时间重负载状态。对于w e b 服务 器集群而言,动态负载均衡的基本目标是实现w e b 服务器服务质量( q o s ) 控制, 主要体现在对请求实时要求的满足面对越来越多的请求处理时间较长的w 曲 请求,可以将进程迁移机制硼和w e b 服务器结合起来,在集群内部动态地将重负 载节点上w e b 服务器进程迁移到轻负载节点上运行,迁移过程中,应保持对客户 端的透明性和服务器端w e b 服务器进程状态的一致,从而有效实现集群内部各节 点间的动态负载均衡。 a p a c h e 服务器是当今i n t e m e t 上最流行的服务器之一,具有开源、高效、。稳 定等优点本课题以a p a c h e 服务器作为集群的构建模型,主要研究为a p a c h e 服务器集群中基于进程迁移机制的负载均衡机制。这主要包括两个方面:a p a c h e 服务器集群的进程迁移机制,以及在此条件下的负载均衡策略。 集群系统研究的实质问题是集群范围内资源的合理共享问题。只有平衡的负 载才能达到最大的资源利用率,因此负载均衡是实现系统资源有效共享、提高资 源利用率的关键要求负载均衡算法是系统资源管理研究的重要问题。进程迁移 机制是在任务的执行过程中,根据系统负载的要求,将占据资源较多的活跃进程 迁移到其他节点运行的过程。进程迁移是实现动态负载均衡的有效机制 负载均衡算法由策略算法和实现机制构成策略算法包括六种:信息策略。 转移策略、位置策略、选择策略、接受策略和决定策略其中信息策略、位置策 略和选择策略是我们课题研究的重点 信息策略考虑的是对w e b 集群内各节点机上不同资源使用状况信息的收集 和散布方法资源负载信息是进行有效负载均衡的依据,因此是负载均衡算法的 2 重庆邮电大学硕士递交 第一章绪论 基础由于这些信息的采集和传输需要消耗一定时间,这就决定了用于进程迁移 判断的信息具有陈旧的、部分的弱一致性如何将这些非精确的信息转换为负载 均衡调度的提示信息。,是我们研究的一个重点。 通过进程迁移实现各节点间的动态负载均衡,需要确定适合迁移的源节点和 a p a c h e 子进程,以及适合迁入的目标节点迁移节点和进程的选择是由选择镱 略完成的。迁移进程的选择需要根据一定的标准对进程迁移可能导致的代价和可 能获得的收益进行比较与权衡。在基于资源的负载均衡算法中,这种权衡还要考 虑迁移进程对源节点和目标节点资源利用率的影响。针对a p a c h e 服务器进程的 迁移选择标准是我们需要考虑的问题之一调度算法是一个应用相关的问题,工 作负载特性,尤其是进程生命时间分布特性。对于选择迁移a p a c h e 服务器进程 有着重要影响。因此,迁移选择标准应该从节点服务器上a p a c h e 服务器进程的 工作负载的特性入手源节点的选择需要着重考虑的是负载阈值的确定。采用双 负载阈值和单负载阈值对于负载均衡系统性能的影响是需要我们考虑的一个问 题。 迁移目标节点的选择由位置策略决定目标节点的选择需要从全系统资源共 享的角度考虑,是基于信息策略提供的信息基础上进行判断的采用何种有效的 信息管理模型是我们研究的一个问题。 进程迁移机制是负载均衡算法调度决定的实际执行机制进程迁移的主要挑 战性工作在于两个方面。减少进程的冻结时问和降低剩余相关性进程的冻结时 间是指进程被中止( 暂停) 到在目标节点恢复执行的时间间隔。剩余相关性是指 被迁移的进程与源节点或先前访问节点之间的依赖关系一般来说,系统的透明 性越高,剩余相关性就越大这通常是由于底层系统不完全适应进程迁移机制造 成的。现在很多进程迁移系统的实现都会导致剩余相关性,例如在a c e e t n t 系统 中。进程的虚存页面直保存在源节点,只到被访闯;而在s p r i t e 系统中,当迁 移进程退出或生成子进程时,都需要源节点的参与 剩余相关性对可靠性和性能有着重要影响: 会继续给源节点带来负载,降低进程迁移带来的好处。 容易受源节点的影响,例如源节点失效或崩溃, 由于a p a c h e 是开源软件,同时运行环境可以是l i n u x 平台。所以就可以通 过阅读其源代码,分析出a p a c h e 进程地址空间的组织结构以及对w e b 请求的处 理流程,找出a p a c h e 服务器进程与进程迁移机制的不相容的地方。进行改进。 这是在开发进程迁移机制过程中需要重点考虑的一个问题。 打开的文件状态和网络通信状态是产生剩余相关性的主要原因在w e b 服务 器集群中- 这个网络通信状态主要是指w e b 服务器与客户端之间的w e b 服务的 重庆邮电大学硕i 垒支 第一章绪论 s o c k e t 连接现有的很多进程迁移系统并不支持打开网络连接的进程的迁移,如 f r e e d m a n 和c o n d o r 【5 , 6 系统:或为了维持网络连接而在源节点上留下一个影子进 程,用于消息的转发,从而导致迁移的不彻底,在多次迁移的情况下将极大的损 害系统的健壮性。如何在a p a c h e 服务器集群中有效的解决针对w e b 服务的 s o c k e t 迁移、确保网络连接在迁移后的正确性和高效性是需要着重考虑的一个问 题。 1 。2 2 本文的主要贡献 本文的主要贡献有如下几点, 分析了a p a c h e 服务器核心源代码,实现了对a p a c h e 服务器的整体进程 迁移,并进行了优化。 针对c p u 密集型的w e b 服务,对以进程迁移为实现机制的a p a c h e 服务 器集群负载均衡机制进行了研究,包括负载信息的向量化,进程选择调 度算法和迁移位置算法等 研究了如何降低迁移后的剩余相关性,构造了针对a p a c h e 服务器集群网 络连接迁移的模型 1 3 论文的组织 本论文是按照以下顺序进行论述;第一章介绍问题背景、课题来源和论文组 织。第二章主要对本课题的背景知识及相关领域进行简单介绍,主要包括集群计 算技术和进程迁移。第三章主要分析a p a c h e 服务器的核心结构以及请求处理流 程,理解它的设计思想。第四章给出了基于整体进程迁移的a p a c h e 服务器动态 负载均衡框架,着重分析了信息的搜集和散布模型、迁移选择调度和位置策略等, 第五章简要介绍对a p a c h e 服务器整体进程迁移的实现,给出了针对a p a c h e 服务器集群的网络连接迁移的模型和算法,对其降低剩余相关性的效果做了探 讨。第六章是对整体a p a c h e 集群系统的测试,包括功能测试和性能测试,并对 下一步的工作进行了展望。 。 重庆邮电大学硕士论文第二童集群计算和进程迁移 第二章集群计算和进程迁移 从二十世纪七十年代开始,集群计算技术一直是国际国内一个活跃的研究 领域。集群( c l u s t e r ) 系统是一组相互独立的、通过高速网络互联的计算机。 这些计算机被称为节点( n o d e ) ,它们构成了一个组,并以单一系统的模式加 以管理。随着微处理器技术和高速网络技术的发展,集群系统逐渐成为一种有 成本效益的分布式并行计算资源。 2 1 集群概述 集群是一种并行或分布式处理系统。由一组互相连接的多个独立计算机的 集合组成,并作为一个单独的继承计算资源工作。这些计算机可以是单机或多 处理器系统( p c 、工作站或s m p ) ,每个节点都有自己的存储器,f o 设备和操 作系统,集群对用户和应用来说是一个单一的系统,可以提供低价高效的高性 能环境和快速可靠的服务这样的系统可以提供一种具有价格优势的高性能解 决方案,这在以往只能通过更昂贵的共享内存系统实现。 集群系统一般采用通用的商用器件、操作系统、并行编程环境以及典型应 用软件等,通过有效的资源调度和管理,从而以较低的代价获得高性能( h i g h p c r f o r m a n c 圮) 、高可伸缩性( h i g hs c a h b i l i t y ) 、高吞吐率( h i g ht h r o u g l i p m ) 或 高可用性( h i g h a v a i l a b i l i t y ) ; 集群系统通常包含下列组件l 刀t 多个高性能的计算节点机( p c ,工作站或s m p ) ;, 先进的操作系统; 高性能网络,交换机( 如千兆比以太网) : 网卡; 快速通信协议和服务; 集群中间件层m i d d l e w 黜( 单系统映像、系统可用性结构、资源管理和 调度系统) , 并行程序设计环境和工具( 如编译器、p v m 、m p i ) ; 应用( 包括并行和串行应用) : 图2 ,1 描述了基于上述组件的集群系统体系结构: 重庆邮电大学硕士论文第二章集群计算和进程迁移 区围 c l u s t e rm 瞰d k w a i i| il | p c w o r k s m t k mp c w o r k s t a t i o np c w o r k s t a t i o n 图2 h 集群系统体系结构 2 2 集群系统分类 集群系统以较低代价提供了以下特性:高性能、可扩展和可伸缩性、高吞 吐率和高可用性。按照不同因素,集群可分为一下几种;, 应用目标; 一 高性能集群系统( n i g hp c r f o r m a n ) 。 高吞吐率集群系统( 1 i i g ht h r o u g h p u t ) 。 高可用性集群系统( h i g ha v a i l a b i l i t y ) 计算节点的所有权 专用集群系统:个人不拥有节点的所有权。集群资源由所有用户共享 非专用集群系统g 个人拥有节点的所有权。在节点的使用上具有优先权 计算节点的硬件 一 c l u s t e ro f p c s c l u s t e ro f w o r k s t a t i o n s c l u s t e r o f s 胁 计算节点的操作系统 l i n u xc l u s t e r ( 如:b c o w u l l 垌) s o l a r i sc l u s t e r ( 如:b e r k e l e y n o w ) n tc l u s t e r ( 如li 玎) v m ) a i xc l u s t e r ( 如:i b ms p 2 ) 节点的配置;根据节点的处理能力、内存容量、f o 能力和存储容量等 同构集群( h o m o g e n e o u sc l u s t e r ) 异构集群( h e t e r o g e n e o u s c l u s t e r ) , 6 重庆邮电大学硕i 垒交 第二章集群计算和进程迁移 2 3 负载均衡 集群系统一般是多用户( m u l t i - u s e r ) 、分时共享( 1 n n e - s h a r i n g ) 系统集 群系统的主要目标是通过网络互连实现全系统范围内的资源共享,通过高效的 资源管理和任务调度技术实现资源的有效共享,从而提高资源利用率。实现高 性能。为了使集群系统运转,并形成对用户的单系统映像( s s i 9 1 ) ,必须为其 提供调度、负载均衡和共享服务。因为,资源管理和调度技术r m s ( r e s o u r c e m a n a g e m e n ta n ds c h e d u l i n g ) 是集群系统软件研究的主要问题 从系统的角度看,集群系统的资源利用率是最重要的问题资源利用率越 高,说明系统吞吐能力( t h r o u g h p u t ) 越大,资源的共享效果就越好高吞吐 性集群 下 重庆邮电大学硕堡塞 第二章集群计算和进程迁移 提取和恢复进程状态相对容易,现有的工作大多是基于同构环境的本课题所 进行的a p a c h e 集群进程迁移系统也是基于同构节点的。 2 5 5m o s i x 系统 m o s i x t l 6 , 1 7 , 1 8 , 1 翎是由以色列的h e b l :e w 大学设计实现的一个分布式操作 系统。这个项目从1 9 8 1 年开始并持续至今。m o s l x 通过进程迁移完成自动 的负载平衡功能,采用单一系统映像模式s s l ( s i n g l es y s t e mi m a g e ) ,支持所 有的u n i x 接口和机制,具有如下特性: 易使用性和透明性;支持多用户和时分共享环境,基于内核的支持,透 明性好,不用修改应用程序; 动态负载平衡:根据负载的波动和资源的可用性来发起进程迁移,通过 在工作站上平均分布负载来提高性能; 分布式控制和高度的可伸缩性:为了利用硬件的冗余来达到高可用性, 工作站之间没有主从关系。控制也是分布的,m o s i x 中不存在集中的 控制机构每个节点都能够作为独立的系统运行,并且自主的做出控制 决策这种设计允许动态配置,节点可以自由的加入或退出网络系统而 不会给其它节点带来影响。 m o s i x 是一个较成功的负载平衡系统,但也还有一些需要解决的问题:j 在m o s i x 中,一个迁移进程是由用户级上下文( r e m o t e = ,远程) 和系 统级上下文( d e p u t y = 代理) 这两部分组成的。d e p u t y 包括进程系统上 下文中具有节点依赖性的那部分,因此是不能被迁移的。r e m o t e 通过 d e p u t y 进行节点依赖性的工作。如环境变量和i ,o 。如果d e p u t y 所 在节点出现故障,r e m o t e 将不能正常运行而且如果r e m o t e 与 d e p u t y 阿有大量的通讯,也会使性能下降 m o s i x 不支持s o c k e t 迁移即没有对网络服务器应用程序的迁移支 持;t 由于要保持系统的单一系统映像,m o s i x 对操作系统本身的结构改动 很多,降低了系统的可移植性 2 。6 本章小结 , 本章阐述了集群的一般性概念,并以影响很大的l v s 项目为例,着重阐述 了w e b 集群的负载均衡策略,。对于负载均衡而言,通常有两种实现方式。初 始放置和进程迁移本章的最后分别从实现的角度、关键问题阐述了进程迁移 重庆邮电大堂亟! 垒窒 第二章集群计算和进程迁移 的实现。m o s i x 是现在较具有代表性的一个进程迁移系统,本章最后也对它进 行了描述。 i;-1, n a _ 柏 第三章a p a c h e 服务器体系结构 由于a p a c h e 服务器是当今i n t e r n e t 上应用最多的w e b 服务器,它不仅高效、 稳定、而且开放源代码,所以本课题选择a p a c h e 服务器作为w e b 服务器集群 的研究对象。 课题研究中通过分析a p a c h e 服务器的源代码,按照课题研究目标并结合 a p a c h e 服务器的工作原理和a p a c h e 服务器的体系结构,修改a p a c h e 服务器的 源代码实现进程迁移。本章首先了描述了a p a c h e 服务器的工作流程,其次分析 了基于l i n u x 系统的a p a c h e 2 0 服务器的父子进程体系结构和临界区的实现代 码本章内容是a p a c h e 服务器集群负载均衡机制的支撑性研究。, 3 ,1a p a c h e 简介 a p a c h e 的前身是n c s a 的h t t p d 1 9 9 5 年,美国国家计算机安全协会( n c s a ) 的开发者创建了n c s z 全球网络服务软件,其最大的特点是h t y p 精灵程序。 它比当时的c e r n 服务器更容易由源码来配置和创建,又由于当时其他服务器 软件的缺乏。它很快流行起来。由于此后该服务器的核心开发人员几乎都离开 了n c s a ,。一些使用者们自己成立了一个组织来管理他们编写的补丁,于是 a p a c h eg r o u p 应运而生。他们把该服务器软件称为a p a c h e a p a c h e 源于ap a t c h y $ e r v e r 的读音,意思是充满补丁的服务器。如今a p a c h e 慢慢地已经成为i n t e r n e t 上最流行的w e b 服务器软件了在所有的w e b 服务器软件中,a p a c h e 占据绝 对优势,远远领先排名第二的m i c r o s o f th s 。a p a c h e 作为自由软件之一。像其 他自由软件一样,他们都是由许许多多的自由开发人员投入了大量的时间和精 力来实现并逐步完善的因为强大的功能和灵活的设置及平台移植性,a p a c h e s e r v e r 取得了广泛的信赖,使用a p a c h e 发送网页的网站在2 0 0 4 年t 月已经从 去年同期的大约2 2 0 0 万个网站( 当时网站总数大约为3 5 0 0 万个) 增加到了3 l o o 万个网站( 网站总数大约是4 6 0 0 万个) ,a p a c h e 的市场份额从大约6 2 提高到 了大约6 7 所以a p a c h e 是实现w e b 服务器集群的第一选择,a p a c h e 服务器 开放源代码的发布方式更为课题研究提供了直接的资料 1 6 3 2 基于l i n u x 平台的a p a c h e 服务器体系结构4 3 2 1a p a c h e 服务器的工作原理 、 a p a c h e 服务器是建立在h t t p 2 0 1 协议之上的应用软件,w e b 浏览器和 a p a c h e 服务器通过h t t p 协议进行交互目前h t t p 协议的版本是h t t p1 1 , r f c2 6 1 6 描述了h t l p 协议的具体信息,这个协议是浏览器和a p a c h e 服务器 之间通讯的标准。a p a c h e 服务器拥有一系列组织成文档树的信息,并遵循h t t p 协议为客户提供w e b 服务。a p a c h e 服务器的工作原理可以从以下4 个步骤来阐 述: 第一步。等待客户的请求, a p a c h e 服务器通过侦听t c p 8 0 端口等待客户的连接。 第二步:,客户请求到来。 在客户浏览器和a p a c h e 服务器的t c p 连接上,客户浏览器遵循h t t p 协 议向a p a c h e 服务器发送请求页面的信息例如:g e t s a m p l e h t m lm 1 p ,1 1 。 第三步:服务器解析请求。 a p a c h e 服务器对客户浏览器发送过来的请求按照h t t p 协议进行解码来确 定进一步的动作,根据客户的请求,a p a c h e 服务器可能搜索文档树,发送文档 给客户,也可能执行脚本或者访问数据库并生产一个新的页面发送给用户。 第四步,关闭文件和网络连接,结束会话。 当请求处理结束或者错误指示已发出后,a p a c h e 服务器结束整个会话。它 关闭打开的被请求文件,关闭网络端口从而结束网络连接有关的其他工作则 是由客户端来完成的,包括接收数据并以用户可读的方式呈现出来。这些与服 务器无关操作由客户端的浏览器完成 3 。2 。2a p a c h e 服务器多处理模块m p b , , i 基于l i a u x 操作系统平台的a p a c h e 服务器是一个开源软件。课题研究中通 过分析a p a c h e 服务器的源代码,按照课题研究目标并结合a p a c h e 服务器的工 作原理和a p a c h e 服务器的体系结构,修改a p a c h e 服务器的源代码实现进程迁 移本节将阐述a p a c h e 服务器的体系结构,为课题研究中实现a p a c h e 服务器 进程迁移展开基础性的研究。 a p a c h e 服务器是一个模块化的服务器,模块可以用于执行w e b 服务器希望 执行的所有操作核心模块知道如何在磁盘文件上找到静态网页文件。而且将 1 7 重鏖坚鱼盔堂塑主丝塞笙三兰垒! 堂皇壁箜墨堡墨绝塑 其提供给客户特别是2 0 版本以后,a p a c h e 服务器能够使用模块来完成所有 工作。 在论文研究中实现a p a c h e 服务器进程的迁移必须研究多处理模块( m p m ) 如何调度进程、接受用户连接、处理用户请求、进程之问的通信这些问题。因 为m p m 决定了a p a c h e 服务器在l i n u x 操作系统中的运行模式。m p m 是a p a c h e 服务器必须装载的一种模块,它负责绑定本机网络端口、接受请求,并调度子 进程来处理请求。a p a c h e 服务器通过m p m 来屏蔽平台差异。在任一时刻只能 装载一种m p m ,且m p m 是唯一同时在父进程和子进程中运行的模块。l i n u x 平台下- 核心模块启动后,默认加载p r e f o r km p m ( 预先派生多处理模块) 在p r e f o r km p m l 2 q 下。父进程读取配置文件,设置a p a c h e 服务器的运行环 境,同时将自己设为后台进程;建立侦听套接字,并且绑定所有配置端口整 个初始化过程,父进程打开了8 个文件描述符,包括标准输入、输出、错误日 志文件、侦听套接字。客户登录日志文件、管道文件等。接着启动子进程:在 最初建立s t a t t s e r v e r s 个子进程后。为了满足配置文件中空闲进程的设置的值, 需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四 个如此按指数级增加创建的进程数,最多达到每秒3 2 个。直到满足配置文 件中m i n s p a r e s e r v e r s 的设置的值为止如果存在过多的子进程,那么父进程就 会每次终止一个进程,直到a p a c h e 服务器回到配置文件中设置的 m a x s p a r e s e r v c r s 之下这就是预先派生( p r e f o r k ) 的由来。这种模式可以不必 在请求到来时再产生新的进程,从而减小了系统开销以增加性能子进程继承 父进程的文件描述符并与父进程共享初始化打开的文件描述符所指向的文件。 通过对a p a c h e 服务器源代码的分析,加载预先派生模块的a p a c h e 服务器 体系结构是父子进程的结构 其中父进程完成如下功能:, 读取配置文件。设置a p a c h e 服务器的运行环境 加载服务器的模块 。 把进程设置为后台进程 为服务器建立侦听套接字 建立父子进程之间通信的管道 为监视子进程建立父子进程之间的共享内存( s c o r e b o a r d ) f o r k 出一定数量的之进程 监视子进程的数量,使其保持有一定数量的空闲子进程 子进程完成如下功能: 每个子进程竞争进入临界区接受客户的连接 ll,t, 重庆邮l u 大学硕士论文 为客户提袋w e b 藏务 蔓兰至垒塑虫! 坐箜矍! 圭= 墨塾塑 在共享内存( s c o r e b o a r d ) 中砸新子进程的状悉 图3 是a p a c h e 黢务嚣父子篷程之闫麴翊互联系: 、。j 一一c i 纛s c o r n e r l 、。一一共事内存一 毒 :善l 篓黪薯童喽繁:j 。| 。薯| _ _ i 。i l 南菇砖鳓她一_ ,d 喇蝴- 芒右、 1 争豫蝴耀螂 砖骶融蛾巾- - i 2 一尊奠! 罂塑g 惫_ _一2 jf q ”? # o 0 4 一 紫哆誉炒举# 嚣g o 誊卅_ _ _ _ : - 4 。譬。j 一“一i 綮遂 - 1 i 。 7 _ o _ 吩i 畛u 口g 卅_ 一 年 1 _ _ 手 世 程 恁 址 空 阍 潮3 :a p a c h e 鞭务器父子进稚结构 在a p a c h e 服务器父进程初始化服务器的运行环境时,它打开了8 个文件描 述符,当受f k 产生予进程辩,这些子进程也继承了父遴释的文件捕述宇。并桶父 进程共享这些文件描述符所指向的文件。其中0 和1 是指向n u l l ,凶为a p a c h e 鞭务器进程是蜃台进程把标漫埝入郡输出定义为n u ! 土;数债为2 的文份攫述 符将标准错误f _ 1 志指向错误f 志文件e r r o rl o g ,记录系统产生的错误;数值为 3 文件描述鼹是a p a c h e 服务器进程恢睚客户网络连接的套接字:数僮为4 的 文件描述符是a p a c h e 服务器进程记录客户臀录的日子文件a c c e s sl o g ;数值为 5 年【i6 的文件描述符足父子进程之间通信的管遵;数值为7 的文件描述符指向 耩| 霜的错误| ,j 志文件e r r o rl o g 。 父进程通过共享内存和管道对于进程进行鼢控。父进程通过管道向予进程 发送逡容为字褥“l ”的酒患, 车臻是终止子遴凝;子避程逶道共享内存将自身 状态传递给父进程。在核心模块叶1 惟一使用共享内存的地方是汜分板 ( s c o r e b o a r d ) 。默认酝置f ,m p m 馊疆m m a p 方式创建记分投,其中包含每 个予进程对应的插槽。通过撵作记分板情针( a ps c o r e b o a r di m a g e ) ,了进程将 自身运行过程巾的不同状态写入对应的插槽。这些状态包括s e r v e rd e a d 、 s e r v e rr e a d y 等,记录在i n c l u d e s c o r e b o a r d h 中。 父进裎根据这些状态值,处理以下情况:没有足够的,进程、过多的予进 :。 。! m _ 。: f 。: ; 重庆邮电大学硕士论文第三章a p a c h e 服务器体系结构 程、以及子进程意外终止的情况。 在a p a c h e 服务器中计分板的数据结构( s c o r e b o a r d ) 的定义如下l 在h t t p d - 2 0 4 9 i n c l u d e s c o r e b o a r d h 中1 4 2 行定义: t y p e d e f s t r u c t g l o b a l _ s c o r e g l o b a l ; p r o c e s s _ s c o r e p a r e n t ; w o r k e rs c o r e + + s e r v e r s ; s c o r e b o a r d ; 共享内存( s c o r e b o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场销售总监合作协议6篇
- 12 做个小温室 教学设计-2023-2024学年科学二年级下册苏教版
- 2024-2025学年高中物理 第三章 相互作用 2 弹力教学设计 教科版必修第一册
- 课程汇报:汇报人
- 财务经理晋升述职报告
- 腹部增强CT的护理
- 薛建改生产运营管理
- 《减法》(教学设计)-2024-2025学年三年级上册数学人教版
- 七年级美术(浙美版)上册教学设计7.鸟语花香
- 4梅花魂 教学设计-2024-2025学年语文五年级下册统编版
- 痛风中医护理常规
- 三年级下册乘除法竖式计算题100道
- 2024年4月全国自考概率论与数理统计(一)02024真题及答案
- 《岩土工程勘察安全》课件
- 《宫颈癌防治》课件
- 小学数学:时间教材
- 220V直流容量计算书
- 脑卒中康复临床路径(PT)
- 铁路客运段QC小组运用PDCA循环减少旅客列车乘降问题发生次数现场型成果汇报
- 红外测温培训课件
- 四百字作文格子稿纸(可打印编辑)
评论
0/150
提交评论