(计算机科学与技术专业论文)基于分级cache的透明计算系统研究与实现.pdf_第1页
(计算机科学与技术专业论文)基于分级cache的透明计算系统研究与实现.pdf_第2页
(计算机科学与技术专业论文)基于分级cache的透明计算系统研究与实现.pdf_第3页
(计算机科学与技术专业论文)基于分级cache的透明计算系统研究与实现.pdf_第4页
(计算机科学与技术专业论文)基于分级cache的透明计算系统研究与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机科学与技术专业论文)基于分级cache的透明计算系统研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基十分级c a c h e 的透明计算系统研究与实现 摘要 基于客户机服务器架构的新的网络计算模式透明计算能够有效降低用 户使用和维护计算机系统的成本,并且其客户主机的各种性能甚至与同配置的有 存储硬件的p c 机相当,从而在学校、网吧、政府等地方具有广泛的应用前景。 不过随着透明计算模式中客户主机数量的增多,客户主机的i o 性能下降明显, 严重制约了透明计算系统的应用,如何针对特定的透明计算应用环境提高i o 性 能以适应大规模的透明计算系统成为研究热点和难点。 首先,详细研究了各种透明计算模式的技术特点,实现了一种基于透明计算 模式的远程启动协议,利用i n t e l 的p x e 远程启动技术实现操作系统的远程引导和 程序的动态加载;同时提出了一种基于客户机服务器架构的高效通用透明计算 系统i o 管理框架,通过s c s i 端口微端口驱动程序在客户端实现基于块的本地虚 拟磁盘,提供给客户端与本地物理硬盘类似的存储视图,设计了一个简化的类 i s c s i 通信协议,将客户端访问磁盘的i o 请求通过网络透明的重定向到服务器 端,完成相应的i o 处理。 其次,为提高透明计算系统对i o 请求的响应性能,研究分析了透明计算中 访问服务器的i o 请求访问模式,提出了一种两级缓存结构分别在透明计算系统 的客户端和服务端进行读写缓存来提升i o 性能;同时,在缓存的管理策略上, 针对透明计算应用环境,以提高缓存命中率为主要目标,实现了一种基于访问频 率计数阈值的改进l r u 置换算法l r u a f s 。 最后,在以上研究的基础上,设计并实现了一个基于分级c a c h e 的透明计算 系统一一h c t s ,并且对h c t s 的系统性能进行了测试,测试结果表明:h c t s 不仅能够较好的实现透明计算功能,相较其他通用透明计算系统,h c t s 能够在 显著减少网络流量的同时大幅缩短客户机启动时间,提高随机读写吞吐量,使得 客户主机的i o 性能得到了明显的改善和提高。 关键词:透明计算;分级c a c h e ;i o 性能;虚拟磁盘 i i a b s t r a c t a san e wm o d e lo fn e t w o r kc o m p u t i n gb a s e do nc sa r c h i t e c t u r e ,t r a n s p a r e n t c o m p u t i n gc a ne f f e c t i v e l y r e d u c et h eu s i n ga n dm a i n t a i n i n gc o s to f 。c o m p u t e r s v s t e m s ,w h a t sm o r e ,i t sc l i e n t s p e r f o r m a n c ei sc l o s et os o m ep e r s o n a lc o m p u t e r s w i t ht h es a m eh a r d w a r ec o n f i g u r a t i o n s ,c o n s e q u e n t l yw i d e l ya p p l i e d i ns om a n y p l a c e s ,s u c ha ss c h o o l ,i n t e r n e tb a r ,g o v e r n m e n ta n ds oo n h o w e v e r ,w l t hg r o w l n g i nn u m b e ro fc l i e n t sg r a d u a l ly ,t h e i ri 0p e r f o 姗a n c e w i l ld e c l i n er a p i d l y ,w h i c hw i l l s e r i o u s l yl i m i tt h ep o p u l a r i z a t i o n o ft r a n s p a r e n tc o m p u t i n gs y s t e m i tl san o t r e s e a r c ht o p i ct os t u d yh o wt oi m p r o v ei 0p e r f l o r m a n c ei n c e r t a l na p p l l c a t l o n e n v i r o n m e n t0 ft r a n s p a r e n tc o m p u t i n g ,w h o s eg o a l i st of i tf o rs u p e rt r a n s p a r e n t c o m p u t i n gs y s t e m f i r s to fa l l ,t h ep a p e rs t u d i e sa n da n a l y z e st h et e c h n i q u ec h a r a c t e r i s t i c so fa 1 1 t r a n s p a r e n tc o m p u t i n gm o d e l s ,a n di m p l e m e n t sar e m o t es t a r t u pp r o t o c o l b a s e do n t r a n s p a r e n tc o m p u t i n gm o d e l s ,w h i c hm a k e su s eo ft h es k i l l s o fp x el o n g 。d i s t a n c e s t a r t u pi ni n t e lt ol o a do p e r a t i n gs y s t e m s1 0 n g d i s t a n c e i n d u c t i n ga n dp r o g r a m s d v n a m i c a l ly a tt h es a m et i m e ,t h e np r o p o s e sa ne f f e c t i v ei m p l e m e n t a t i o nf a m e w o r k o fat r a n s p a r e n tc o m p u t i n gs y s t e mb a s e do nh i e r a r c h i c a l c a c h e t h ef r a m e w o r k i m p l e m e n t sl o c a lv i r t u a ld i s k sb a s e do nb l o c km o d ei n c l i e n t sb yd r i v e r so fs c s i p o r t so rt i n yp o r t s ,p r o v i d i n gas t o r a g ev i e ws i m i l a rt o1 0 c a lp h y s i c sd i s k s t oc l i e n t s , a n dd e s i g n sas i m p l i f l e ds i m 订a ri s c s ic o m m u n i c a t i o np r o t o c o l ,w h i c hr e d i r e c t st h e i ov i s i t i n gr e q u e s t sf o rd i s k si nc l i e n t st o s e r v e r su s i n gt h em e t h o do fn e t w o r k t r a n s p a r e n tc o m p u t i n ga n da c c o m p l i s h e sc o r r e s p o n d i n gi o t a s k s s e c o n d ly ,f o rt h es a k eo fi m p r o v i n gr e s p o n s ep e r f o r m a n c eo fi or e q u e s tf r o m t r a n s p a r e n tc o m p u t i n gs y s t e m s ,a f t e rs t u d y i n ga n da n a l y z i n gt h ev i s i t i n gm o d e lo f i or e q u e s tf o rs e r v e r si nt r a n s p a r e n tc o m p u t i n g ,t h ep a p e rd e s i g n sa t w o i e v e lc a c h e s t r u c t u r e , w h i c hr e a d sa n dw r i t e sc a c h e si n c l i e n ta n ds e r v e rt oi m p r o v ei o p e r f o r m a n c e a tt h es a m et i m e ,i no r d e rt oi m p r o v et h ec a c h e h i tr a t i oa c c o r d i n gt o t h eg i v e ne n v i r o n m e n to ft r a n s p a r e n tc o m p u t i n g ,t h ep a p e ri m p l e m e n t sam o d i f i e d l r ur e p l a c e m e n ta l g o r i t h mc a l l e dl r u a f sb a s e do nt h ec o u n tt h r e s h o l do fd a t a a c c e s s i n gt i m e s i nt h ee n d ,t h ep a p e rd e s i g n sa n di m p l e m e n t sat r a n s p a r e n tc o m p u t l n gs y s t e m b a s e do nh i e r a r c h i c a lc a c h eb a s e do nt h e2 l b o v er e s e a r c ha n dt e s t s l t sp e r t o r m a n c e i i i 基于分级c a c h e 的透明计算系统研究与实现 t e s tr e s u l t ss h o wt h a t ,w i t hg r o w i n gi nn u m b e ro fc l i e n t si nl a n ,h c t sc a nb e t t e r i m p r o v ea n de n h a n c et h ec l i e n ti op e r f o r m a n c ec o m p a r e dt og e n e r a lt s ,r e d u c i n g t h en e t w o r kt r a f n cd r a m a t i c a l l y ,s h o r t e n i n g t h eb o o tt i m e s i g n i n c a n t l y a n d i n c r e a s i n gt h er a n d o mr e a d - w r i t et h r o u g h p u to fc l i e n t se f f b c t i v e ly k e yw o r d s :t r a n s p a r e n tc o m p u t i n g ;h i e r a r c h i c a lc a c h e ;i op e r f d m a n c e ;v i r t u a l d i s k i v 硕l 学位论文 插图索引 图2 1p x e 的远程引导过程9 图2 2i o 管理的工作环境1 2 图3 1l r u a f s 算法一1 8 图4 1 分级c a c h e 的体系结构图2 0 图4 2c a c h e 基本操作的伪码描述2 l 图4 3 虚拟磁盘与镜像文件间的映射机制2 6 图4 4w i n d o w s 磁盘驱动设备堆栈2 7 图4 5s c s i 端口小端口驱动程序结构:2 8 图4 6s c s i 端口小端口驱动模块关系图2 9 图4 7t d i 客户驱动程序结构层次3 l 图4 8t d i 客户传输器交互一3 2 图4 9s e r v e r 的系统体系结构图3 4 图4 10 类的静态关系图一3 5 图5 1 测试网络拓扑结构3 7 图5 2 不同数量客户主机的启动时间对比3 8 图5 3s c s i 磁盘与i d e 磁盘随机读吞吐量对比3 9 图5 4s c s i 磁盘与i d e 磁盘随机写吞吐量对比3 9 图5 5g n t s 与h c t s 随机读吞吐量对比4 0 图5 6g n t s 与h c t s 随机写吞吐量对比4 0 v i l 基于分级c a c h e 的透明汁算系统研究与实现 附表索引 表4 1 常见的s c s i 命令定义2 3 表4 2 模块汇总表3 0 表4 3 类汇总表:j 3 6 v i i i 硕士学位论文 第1 章绪论 1 1 研究背景及意义 随着计算技术与网络技术的飞速发展和广泛应用,网络计算的概念得到重 视,网络计算模式让用户可以在任何合适的地点和时间通过网络便可自由地获取 所需的计算服务【。但是由于传统的计算机系统必须将机器的硬件设备与操作系 统进行绑定,用户必须不断的升级硬件与软件,使得用户的使用和维护成本越来 越高。文献 2 提出了一种新的基于客户机服务器架构的网络计算模式透明 计算,透明计算是一种用户在使用计算机系统时,无需感知操作系统、中间件、 应用程序的具体所在,只需根据自己的服务需求,通过网络得到相应计算服务的 计算模式。 在当前基于传统冯诺依曼结构的计算模式中,计算机系统的硬件设备都必 须与一个特定的操作系统进行绑定,这不仅是硬件设备的底层接口和操作系统内 核匹配的需要,也是迄今为止的传统模式。而透明计算模式与传统的计算模式不 同,用户可以通过网络动态加载所选择的不同的操作系统和应用程序,而且,这 些操作系统和应用程序都不是存储在客户主机的本地存储设备中,而是以文件的 形式存储于透明计算系统的服务端磁盘上,客户主机通过网络将这些存储在服务 器上的操作系统、支撑工具和应用程序通过网络下载到本地,然后在本地执行。 只要设备的硬件接口是支持这些操作系统的,用户就可以根据需要动态下载和动 态安装这些操作系统、支撑工具和应用程序等,从而实现了将存储程序与计算程 序的分离,从而大量节省了客户机的存储空间和计算时间。形象地说,透明计算 模式就像视频网站播放系统,其中透明计算系统服务器就相当于视频网站的服务 端,负责制作和传输节目,而客户机则像进行视频点播的在线用户,用户可以通 选择点播不同在线视频内容,比如电影、电视节目等而不必关心这些节目从何而 来,或由谁制作。 由于透明计算模式将分布式计算和集中存储管理进行结合,透明计算系统的 客户主机没有本地存储设备,客户主机的操作系统和应用程序都以文件的形式存 储于服务器上,用户根据需要从服务器端动态加载所选择的操作系统和应用程 序,将所需的指令和数据通过网络下载到本地,客户主机然后在客户主机本地执 行计算任务,从而显著降低了用户使用和维护计算机系统的成本,并且在客户主 机较少的情况下,其各种性能甚至与同配置的有存储硬件的p c 机相当,在学校、 网吧、政府等地方具有广泛的应用前景,从而成为网络计算模式中的一个研究热 皋于分级c a c h e 的透明汁算系统研究j 实现 点。 1 2 国内外研究现状 在传统冯诺依曼体系结构中,由于计算机系统的计算资源与存储设备必须 静态绑定在一起构成一个能进行局部自治、自主决策的计算实体,导致冯诺依 曼体系结构的局部计算实体之间缺乏有效的协同能力,难以联合起来共同完成大 型分布式系统的计算任务,这种相对独立的状态一方面严重影响了计算实体内部 资源综合效用的发挥;另一方面分散式管理与维护相对独立的计算实体,其工作 量和费用相对庞大,并且需要根据计算实体数量支付相应的软件版权费用,导致 计算机的总体拥有成本提高。 针对当前基于传统冯诺依曼结构的计算机系统存在的问题。国内外一些相 关研究机构及企业通过研究提出了如下一些计算模式:为了降低计算机的总体拥 有成本,使得计算机更加容易管理和维护,o r a c l e 公司于19 9 5 年提出了n e t w o r k c o m p u t e r 的概念,它主要通过浏览器来实现对j a v a 应用程序的访问,但是由于 其对w i n d o w s 系统支持的不足,导致其功能较差。为方便对传统计算机集中管理 和维护,m i c r o s o f t 公司和i n t e l 公司于19 9 6 年联合提出了n e t p c i 4 】的概念,由于 n e t p c 必须将全部资源下载到本地执行,导致网络负担较重,对带宽的要求较高, 严重限制了其应用。从客户服务端计算结构演化出来的t h i nc 1 i e n t 【5 】【6 1 ,其应用 程序运行和数据计算都在服务器上进行,在客户端接收结果并对其进行显示;因 此其对服务器的要求较高。最早由n o v e l l 公司于提出的无盘工作站概念,能实现 操作系统的动态加载,但是其配置复杂并且客户端不支持即插即用,以及其以文 件形式下载数据的方法具有速度慢、安全性低等缺点。针对上述计算模式的不足, 清华大学网络与系统结构实验室提出了普适计算的一种实现模式:透明计算 肠儿7 1 ,让用户可以在合适的地点和合适的时间简便自由地获取所需的计算服务。 透明计算的基本思想是通过对传统冯诺依曼体系结构进行空间扩展,把“存储程 序”【s 】的概念由单一计算机实体扩展到整个网络中,在不同的计算机上分别实现 对程序的存储和执行,而不需要对现有软件环境作任何修改的情况下,完全实现 了存储与计算的分离。 传统冯诺依曼体系结构把要执行的指令和数据看作程序,存储于本地存储 设备中。需要时将要执行的指令和数据通过总线传输到c p u 执行。而透明计算模 式把存储程序的概念由单一计算机扩展到到网络中,其中服务器作为数据库存放 所有客户主机所需要的软件资源,比如各种操作系统和应用程序等;其中系统中 的客户主机共享服务器上存储的应用程序,只负责计算任务和进行输入输出,而 且不预先安装任何软件包括操作系统,程序以数据块即扇区的方式按需动态下载 到客户机,然后使用客户机本地的c p u 和内存等资源执行计算。用户可以自主选 2 硕十学位论文 择所需的操作系统和应用程序,而不用关心程序的安装、管理和维护等,这些都 由系统自身或者管理员在服务器进行集中管理。所有的服务和技术对用户都是透 明的,用户可以像使用本地p c 机一样在客户机上进行操作,从而大大降低了用 户的总体拥有成本,并且方便对其进行管理和维护。 在透明计算环境中,由于客户主机只执行计算任务,程序的存储都在服务器 进行,因此即使用户使用较低配置的机器也可以运行大型软件,有效的降低了用 户升级硬件的成本;系统中的客户主机共享服务器上存储的应用程序,实现了对 软件资源的共享模式,因此有效降低了用户对软件资源的购买成本;而且在服务 端对系统中的所有资源进行集中管理和维护,减少了用户管理系统的复杂度,并 且降低了对系统的管理维护成本,让用户将注意力回归到要完成的任务本身;提 高物理资源的利用率和管理效率,保证数据的安全。 透明计算模式对传统冯诺依曼体系结构的扩展主要体现在以下如下: 一是真正实现了包含操作系统在内的程序的存储和执行的分离,透明计算系 统的所有程序和资源等都存储在网络中的服务器上,由于客户主机本地没有硬盘 等存储设备,因此其不能预置任何操作系统、支撑工具或应用程序。用户必须透 过客户主机所提供的界面提交所需要的计算或服务之后,客户主机通过网络存储 访问协议和i o 管理方法从服务器上以数据块的方式动态下载所需的操作系统、 支撑工具和应用程序等,然后在客户主机的本地执行。而且不需要对现有软件环 境做任何改变,从而保证应用程序的可操作性和兼容性。 二是把存储器和c p u 之间的连接由总线扩展到网络,服务器就像信息管理系 统中服务端的数据库,客户主机相等于信息管理系统中的客户端,它负责执行应 用程序与计算任务,并为用户提供所需要的服务;服务器相当于它所连接的客户 机的巨大的虚拟存储系统,处理来自于客户主机的i o 请求。并把客户主机所需 要的操作系统、支撑工具和应用程序等资源以数据块方式通过网络动态的传输到 客户主机。服务器中存储的操作系统、支撑工具和应用程序越多,则用户可选择 的计算服务就越多,从而扩展了计算机的物理空间。 三是提高了用户自主选择其所需软件的权利,用户可以在客户主机端任意选 择其所需运行的操作系统及其上的应用程序,这改变了传统计算模式中操作系统 必须与客户主机硬件进行绑定的模式,以及软件厂商用一个操作系统去适应不同 硬件设备的状况,从而使得用户可以在低配置的硬件设备上选择不同的操作系统 及其上运行的各种软件。 透明计算模式主要基于客户机服务器架构,其将分布式计算与集中存储管 理相结合,客户主机负责完成客户端应用程序的计算工作,服务端负责进行资源 的存储和管理。目前国内外针对透明计算的相关技术研究主要有:文献 9 提出 一种基于透明计算模式的可管理的多媒体网络计算机m m n c ( m a n a g e a b l e 甚于分级c a c h e 的透l j 计算系统研究j 实现 m u l t i m e d i an e t w o r kc o m p u t e r ) ,m m n c 采用服务器进行信息存储和管理、客户 端进行任务计算与用户交互的计算模式,它通过m r b p 协议为用户提供系统定 制,并通过虚拟交换与调度技术将服务器系统中的应用程序代码调用到客户机上 执行,实现了客户端的无操作系统化和程序的按需定制加载,具有较好的灵活性和 成本低等优点,但是这种以文件形式下载数据的方法具有速度较慢、安全性低等 缺点。文献 10 设计并实现了一个基于透明计算模式的i os e r v e r 系统,提出了 一种按扇区下载数据的方式来实现操作系统远程启动的网络存储访问服务。文献 1 1 基于透明计算模式提出了一种工作在局域网环境下的i 0 管理方法i o m a n , i o m a n 通过用软件方法在客户端设置磁盘i o 重定向机制,按需动态下载数据, 而不需修改当前操作系统的启动机制,也不影响其他i o 操作,能够支持多种操 作系统的远程启动和应用程序的运行。目前国内外基于p x e 技术的无盘系统, 如国外v e n t u r c o m 公司开发的b x p 无盘技术,国内锐起、网众等公司开发的无 盘系统都是针对透明计算的具体实现与应用。 以上基于透明计算模式的系统在客户主机数量较少时,客户主机的各种性能 和同配置的p c 机性能相近,但是当随着客户主机数量增多时,由于服务器无法 承受大量并发的的i 0 数据传输的负载,客户主机的启动速度与应用程序加载速 度变慢,而且系统启动时间和应用程序加载时间与客户机的增长数量呈指数关系 【6 】,客户主机的i o 吞吐量与同配置p c 相比下降明显。 1 3 本文主要工作 在传统冯诺依曼结构中,程序的存储与执行都在本机,程序运行时从本地 硬盘将当前要运行的指令或数据装入内存中便可运行;程序在运行时如果它所要 访问的指令或者数据尚未调入内存,则会向硬盘发出i o 请求,要求从硬盘读取 指令和数据到内存中,以使程序执行下去。而在透明计算中,不对程序的运行机 制做任何改变,允许程序仍然可以像在传统冯诺依曼结构上一样以按需从硬盘 分页读取数据的方式在客户端上远程加载运行,但因为客户端没有本地硬盘,所 以当程序向硬盘要求读取指令和数据时,就需要有一种i 0 管理方法能够扮演本 地硬盘的角色。接收访问硬盘的i o 请求以及设备中断请求。然后通过网络从服 务器端下载客户端程序所需的指令和数据到客户端内存中,以使程序运行下去, 而且整个过程对程序透明,让程序感觉不到与在传统冯诺依曼结构上运行有区 别。 本文主要完成以下几个方面的工作: 首先,通过对透明计算模式扩展冯诺依曼体系结构后的i o 管理问题的研 究,拟提出一种基于透明计算模式的i o 管理框架,在客户端创建虚拟磁盘,提 供客户端系统像真实硬盘一样的硬盘视图,截取客户端的中断请求和用户应用程 4 硕士学位论文 序的i o 请求,并将i o 请求通过网络传输给服务器端,完成相应的中断处理和i o 操作,实现透明计算动态按需加载程序指令和数据的功能。 其次,在将透明计算模式客户主机的i o 请求扩展到网络中时,以何种格式 以及如何将客户主机访问虚拟磁盘的i o 请求重定向到服务器端,以及如何接受 服务器端的处理结果是一个首先要解决的关键问题。本文设计并实现一种基于透 明计算模式的网络存储访问协议简化的类i s c s i 协议,它定义虚拟磁盘的i 0 请求 和数据传输的报文类型及格式,保证i o 请求传输的可靠性,使得透明计算系统 客户端与服务端之间的数据传输具有较高的传输效率及安全性,而且简单。 最后,由于透明计算在服务器端存储和管理客户主机所需的所有软件资源, 因此当客户主机的并发i o 请求增多时,服务器很容易成为系统性能的瓶颈,为 提高服务器的响应性能,研究分析了透明计算中访问服务器的i o 请求访问模式, 拟提出一种两级缓存结构分别在透明计算系统的客户端和服务端进行读写缓存 来提升i o 性能,同时,在缓存的管理策略上,针对透明计算应用环境,以提高 缓存命中率为主要目标,拟提出一种缓存置换算法。最后本文设计并实现一个基 于分级c a c h e 的透明计算系统h c t s ,并且对h c t s 的系统性能进行测试。 1 4 本文的结构 全文分五章,结构安排如下: 第一章介绍了研究背景及意义,对国内外研究现状和研究的内容作了简要 介绍,并对本论文的主要研究工作和论文组织结构进行了说明。 第二章从透明计算操作系统远程启动、透明计算i o 管理等方面对透明计 算的相关技术进行了研究,并针对透明计算应用环境,分别提出一种基于透明计 算模式的远程启动协议和i o 管理方法。 第三章对缓存管理策略的相关研究进行了介绍,详细描述了当前透明计算 系统存在的i o 性能瓶颈问题,并研究分析了透明计算中访问服务器的i o 请求 访问模式,提出基于分级c a c h e 的体系结构和改进的c a c h e 管理算法。 第四章针对透明计算系统存在的i 0 性能瓶颈问题,设计并实现了一个基 于分级c a c h e 的透明计算系统。 第五章对本文实现的基于分级c a c h e 的透明计算系统对透明计算的支持效 果进行了一系列的测试,主要进行的是功能测试和i o 性能测试,并对测试结果 进行了分析讨论。 最后对全文的研究做出总结并对未来的工作进行了展望。 基十分级c a c h e 的透明计算系统研究与实现 第2 章透明计算的相关技术研究 在透明计算系统中,由于客户主机没有本地物理硬盘等存储设备,客户主机 必须通过网络动态按需从服务器端加载操作系统和应用程序的指令和数据,客户 主机在动态加载指令和数据的过程中会产生大量访问虚拟磁盘的i o 请求。因此 透明计算远程启动和i o 管理是实现透明计算系统的关键。在本章中,我们将详 细探讨透明计算的远程启动技术和i 0 管理方法,并提出一种基于透明计算的远 程启动协议和一种透明计算i 0 管理框架。 2 1 透明计算远程启动技术 2 1 1 远程启动相关研究 目前有如下两种方法支持没有本地存储硬件的计算机进行远程启动,其中一 种比如n e t w o r kc o m p u t e r 【3 1 ,n e t p c f 4 1 和t h i nc 1 i e n t 【5 1 【6 】等系统,其通过为客户主 机定制特定操作系统内核或者远程演示协议,并将定制的操作系统内核或者远程 演示协议预置到客户主机的只读内存里,从而没有本地存储设备的客户主机就可 以在不依靠远程服务器的情况下完成本地启动;另外一种是采用远程启动的方 法,其中n o v e l l 公司提出的远程启动协议r p l ( r e m o t ep r o g r a ml o a d ) 是最早被提 出来的远程启动技术,但是由于r p l 只能应用于n o v e l l 的网络环境,并且n o v e l l 网络的建立与维护过于很杂,严重限制了远程启动协议r p l 的应用与推广;针对 远程启动协议r p l 的不足,i n t e l 公司于19 9 8 年提出了一种称为p x e ( p r e b o o t e x e c u t i o ne n v i r o n m e n t ) f 1 2 】的远程启动技术,其远程启动过程如下,客户主机远 程启动时首先与服务器建立连接,通过p x e 提供的t f t p 协议从服务器上下载一 个操作系统内核映像【1 3 】,然后使用特定的网络文件系统,例如广泛用于无盘工 作站的n f s 【14 1 、a f s 【15 】作为外存,通过服务器来实现对客户主机程序的远程动态 按需加载和运行。 由于第一种方法要求为客户主机定制特定的操作系统内核或者远程演示协 议,并必须将定制的操作系统内核或者远程演示协预置在客户主机的只读内存 里,显然其灵活性与应用受到了限制,因为当要支持其它操作系统或者远程演示 协议时,用户就必须重新刷新客户主机只读内存里的内容;或者当客户主机的硬 件升级时,用户就必须重新为客户主机定制特定的操作系统和远程演示协议。显 然,相对于在客户主机的只读内存里预置一个特定的操作系统内核或者远程演示 协议,采用远程启动的方法要更好。更为重要的是本地启动的方法不能满足透明 6 硕,l 二学位论文 计算模式的应用环境,即在现有软件应用环境对程序不做任何修改的情况下,支 持程序的存储与计算的分离,允许用户在客户主机上远程动态按需加载并运行程 序,而本地启动方法与其是相矛盾的,从而不能很好的满足透明计算模式的要求; 而远程启动方法就更加灵活,用户可以透明的远程动态加载要运行的程序。 网络文件系统由于主要应用于远程文件共享,因此采用网络文件系统的传统 远程启动方法由于以下原因也并不适用于透明计算模式。 首先,如果要使用传统远程启动方法来实现客户主机操作系统的远程启动, 以便其与网络共享文件系统来实现客户主机程序的远程动态按需加载和运行,就 必须修改或者重新编译操作系统的内核源代码,而对于当前最广泛使用的 w i n d o w s 操作系统来说,很难获得一个能够支持w i n d o w s 网络文件系统c i f s 【1 6 】 的独立内核,因为相对于l i n u x 【1 7 】的开源操作系统和用于分布式计算的开放的操 作系统内核【1 8 】来说,我们是无法获得w i n d o w s 的源代码去重新编译它的,并且传 统远程启动方法要求必须要获得一个单一的系统内核映像文件,而w i n d o w s 操作 系统并没有一个清晰的单一内核文件【l9 1 ,所以如果采用网络共享文件系统的方 法,很难应用于象w i n d o w s 没有单一清晰内核文件的操作系统。 其次,因为网络文件系统本身并不是用来作为根文件系统设计的,因此把网 络文件系统作为根文件系统会存在以下问题【2 0 1 。由于根文件系统的用户相当于 具有超级管理员权限,因此用户可以对根文件系统上的所有文件进行读、写、修 改的任何操作,这会造成当某个用户误删或者无意修改了某个系统文件的时候, 会导致系统崩溃;在网络文件系统中,由于共享根文件系统意味着临时文件目录 也被共享,而客户主机的程序在运行时会动态创建相应的临时文件,所以当不同 客户主机运行同一个程序时就会产生数据不一致性的问题,从而导致程序在运行 时会出现问题。为了解决存在的数据不一致性问题,网络文件系统为每个用户提 供了如小硬盘、r a md i s k 【2 1 1 、或者私有网络文件系统目录等私有存储区,然后 必须将用户特定的文件移动到该用户的私有存储区。但是由于必须手动将所有可 能产生的问题文件移动到其对应的私有存储区,即使不同客户主机只共享网络文 件系统只读部分的内容,也会造成服务器端的存储空间不够并且性能较低。上述 问题使得网络文件系统很难被用作被多用户共享的根文件系统,因此,采用网络 文件系统的传统远程启动方法并不能支持当| j 常用的操作系统w i n d o w s 以支持 透明计算模式。 2 1 2 透明计算远程启动 通过以上分析得出,传统的远程启动方法是针对p c 启动提出来的,并不适 合于透明计算的网络环境。在透明计算环境中,由于客户主机本地没有用于存储 的物理硬盘等存储设备,因此在透明计算系统客户主机上运行的操作系统具有如 7 皋于分级c a c h e 的透明计算系统研究j 实现 下特点:首先,它是被客户主机按需动态加载的,即一旦客户主机断电或者用户 退出,则该操作系统在客户主机上将不复存在;其次,在透明计算系统客户主机 上运行的只是操作系统的一部分,即只是当前程序运行所需的指令和数据,而不 是整个操作系统。因此在透明计算系统客户主机上如何让用户加载所需的操作系 统,并且支持透明计算系统的客户主机能够通过网络远程启动是首先要解决的问 题。目前针对透明计算网络环境远程启动的相关研究有: 文献 1 2 和文献 2 2 通过从b i o s 中构建远程启动技术实现了客户主机的远 程启动,其远程启动的实现过程如下: ( 1 ) 机器开机,初始化系统b 1 0 s ; ( 2 ) 系统b 1 0 s 自检测,读取设备控制卡上的只读内存的内容; ( 3 ) p c i 总线上检测到网卡的扩展只读内存中带有引导信息,将控制权转 给网卡r o m ; ( 4 ) 初始化网卡r o m 中的引导程序,通过d h c p 广播包从服务器获取本机 的i p 地址和操作系统映像文件的下载地址; ( 5 ) 使用t f t p 协议从服务器下载操作系统的网络引导程序,并改写b i o s 磁盘中断实现本地虚拟磁盘; ( 6 ) 通过网络从服务器上读取m b r ( m a s t e rb o o tr e c o r d ,主引导记录) ; ( 7 ) 将控制权交给m b r ,由m b r 来加载操作系统内核,直到引导成功; 文献 2 3 提出了一种基于透明计算的远程启动协议m r b p 2 ,其通过把远程 服务器上的操作系统通过o s p m 机制和s f t p 协议下载到客户主机来完成操作系 统的远程启动和运行;文献 2 4 】提出了一种基于网络存储协议n a s p 的操作系统 远程启动机制,很好的解决了多文件内核操作系统的远程启动问题;文献 2 5 】提 出了一种可靠、安全、高效并可定制的远程启动协议n c b p ,其通过扩展d h c p 协议获得本机i p 地址,在利用a p t p 协议加载m b a t c h 脚本执行环境来实现操作 系统的远程启动。 2 1 3 基于透明计算远程启动协议 通过对现有透明计算远程启动的研究与分析,提出一种基于i n t e l 的p x e 远 程启动技术,通过改写网络引导程序n b p 的中断处理程序实现了操作系统内核 的远程加载与启动。基于p x e 的远程引导过程如图2 1 。 硕士学位论文 轳 ”一 。 :而入; 吖 p r o x y 、 id h c p s e r v i c e i , 一一 i 。面i j p r o x y j 飞 d h c p s e r v ic e j 、 jd l l c p p r o x y! 一 d | l c ps e r v e 飘 。 磁 4 0 1 l b o o t 二氐s e r v i c e: 、: ,石斋、 m r l f t p 、! i 芝乡 入j ? 、, b o o ts e r v e r 冬 图2 1p x e 的远程引导过程 操作系统启动时,在操作系统内核文件被加载之前系统处于实模式下,系统 不能直接访问本地物理磁盘,必须要通过b i o s 提供的磁盘基本输入输出中断来 访问本地物理磁盘加载主引导记录m b r 等引导程序。但是在透明计算系统中, 由于客户主机没有物理磁盘等本地存储设备,因此必须从透明计算系统服务器端 上的镜像文件里下载m b r 等引导程序,以支持客户主机操作系统的远程启动。 但是原有b i o s 提供的磁盘基本输入输出中断处理程序只能访问本地磁盘获取数 据,因此,基于p x e 远程启动技术的网络引导程序n b p 首先被下载到客户端内存 运行,它首先替换原有b 1 0 s 提供的基本输入输出中断处理程序,将实模式下从 磁盘读取主引导记录m b r 以及引导程序b o o t s e c t o r 等内容的i o 请求通过p x e 提 供的u d pa p i 接口重定向到局域网中的服务器端。 通用机器b 1 0 s 提供的磁盘基本输入输出中断调用为i n t13 中断【7 】【8 】,i n t13 中断可以完成对磁盘( 包括硬盘和软盘) 的复位、读写、校验,定位、诊断和格式 化等功能。i n t13 中断向量存放在系统b i o s 的基本内存中,其中中断向量包括 中断名称( 比如i n t1 3 ) 以及中断处理程序在内存中存放的地址。i n t1 3 中断根据 肇十分级c a c h e 的透明计算系统研究j 实现 功能号参数a h 取值的不同,对磁盘进行不同的操作,比如:a h = 0 2 h 对应磁盘的 读操作,因为在操作系统远程启动过程中只需要对磁盘进行读写以及获取驱动器 参数等操作,因此网络引导程序n b p 只需要改写相应的功能号处理程序,即改写 i n tl3 中断,将访问本地磁盘的i o 请求重定向到服务器端,具体工作过程如下: ( 1 ) 系统b i o s 读取基本内存中的中断向量表中的i n t13 中断的处理程序地 址: ( 2 ) 在i n t13 中断处理程序地址处,将中断处理程序流程跳转到网络引导程 序n b p 实现的新的中断处理程序的代码处; ( 3 ) 关闭i n t1 3 中断; ( 4 ) 执行通用网络引导程序n b p 的功能,将客户主机的i o 请求通过p x e 提供 的u d pa p i 接口发送给服务器端,服务器端然后将对i o 请求的处理结果 返回给客户端; ( 5 ) 重新打开i n tl3 中断。 2 2 一种透明计算i o 管理框架 2 2 1 透明计算i 0 管理 在传统的冯诺依曼体系结构中,操作系统一般都默认为机器有本地物理硬 盘。系统启动时,会动态按需从本地硬盘读取所要运行的程序的指令和数据。而 且在操作系统启动后,当系统要运行新的应用程序时,操作系统内核会为该应用 程序创建个新的进程,并且会为该新进程在物理内存中分配相应的进程空间, 以存放该进程的数据和指令;进程在执行的过程中,若其所需的数据或指令不在 物理内存中,系统将首先在交换区查找所需的数据或指令,若在交换区中找到所 需的数据或指令,则将其调入物理内存进行处理;若没找到,则通过磁盘i o 从 硬盘读取。 而透明计算模式要求将传统冯诺依曼体系结构中c p u 与存储设备之间的i o 扩展到网络中,并且要求运行在透明计算系统客户主机上的操作系统和应用程序 不需做任何修改,使得在透明计算系统客户主机上运行的应用程序和在本地p c 机上一样,让用户感觉不到透明计算系统客户端没有本地硬盘,即对用户来说是 透明的。使得透明计算系统的客户主机在无需预装任何操作系统、应用程序和支 撑工具的情况下,可以通过网络从服务器上得到其需要的任何计算服务,因此具 有更大的灵活性和扩展性。 在透明计算系统中,由于透明计算系统的客户主机没有本地硬盘等存储设 备,因此透明计算系统服务器端作为整个系统的存储设备,透明计算系统客户主 机和服务端i o 操作主要是通过网络进行传输的。其中透明计算系统客户主机在 1 0 硕f :学位论文 启动和运行时会产生大量访问虚拟磁盘的i o 请求,因此透明计算模式需要有一 种i o 管理方法,能够对这些不同客户主机产生的大量i o 请求进行管理,使不同 客户主机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论