扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
1 网格的数据管理
数据是网格中的一种重要资源,具有可复制、可移动、可压缩、可加密等特性。网格上许多数据的数据量非常大,且通常为分布式存储,需要专门的管理机制来管理网格上的数据,如数据传输、数据存储、副本管理等。
1.1 网格数据
网格数据也是一种资源,但这种资源与其他网格资源相比,具有一些与众不同的特点:
(1)网格中数据的量是巨大的
网格计算,特别是数据密集型的众多科学和工程计算,通常会需要处理大量的数据,如美国宇航局的卫星每天都将处理和生成超过2TB的数据,全球气候变暖模拟实验也产生TB数量级的数据。另外,对于追求高精度的网格应用,如天气预报的计算、大型仿真计算等,为了提高计算问题的精度,就需要处理更大的数据量。
(2)数据资源是网格应用或程序之间联系的纽带
网格应用领域中的程序需要访问和产生大量的数据,不同的程序之间也需要传输大量的数据,以实现信息的交互和协调的工作。以天气预报为例,原始的数据来自各个地区观测台的实时观测数据以及某个数据中心的历史天气信息,它们经计算中心处理加工后,形成未来天气的预报信息,该信息数据再由发布系统发布给用户,如电视台、专业网站等。贯穿此过程的就是数据资源,包括实时观测数据、历史数据、预报数据,它们将观测系统、处理系统、发布系统联系起来,构成完整的天气预报网格应用。
(3)数据资源具有可无限复制的特点
只要通过合法的用户请求,网格数据资源就可以被复制成指定的多个备份。例如一份数字地图的数据,可以复制给多个使用者;或者是一类商品的类型、价格、销量等信息,可以在厂家、代理和销售商之间复制和同步。而其他类型的网格资源则不一定具有可复制的特点。例如硬件资源就无法复制,操作系统、应用软件及其许可证(License)也不应该被复制。
(4)数据资源具有特殊的存储机制
网格中的数据资源可以创建多个副本,并存于不同的地方,用户请求该数据时,网格管理机构在原始数据和多个备份之间选择合适的数据副本供用户使用。一个数据集也可以是地理上分布的,即一个数据集的多个部分存放在不同的地方,但对用户而言,看到的还是一个完整的数据集,请求使用时当作一个资源来请求,网格管理机构将分散的数据部分合理地组织起来交给用户使用。数据资源还是可被缓存的,用户使用数据资源时可以在本地或距离使用点近的范围中缓存该资源,当以后需要再次使用时只要访问本地缓存就可以了。
1.2 网格数据管理的功能
数据管理是网格系统中重要的模块,它要为网格用户提供透明地共享使用网格上存储资源和数据资源的手段,为用户提供透明地访问、存储、传输和管理数据的界面,使用户能够方便地实现数据共享。
(1)数据实例
网格中的数据可以用数据文件或数据库的形式存在,为了隐藏以不同形式存储的数据的具体细节,提供一个统一的接口,网格中引入了“数据实例”这个新的概念。数据实例是网格上数据管理的基本单位,它可以是一个数据文件或其中的一部分,也可以是一个数据库或其中的部分数据记录,还可以是数据实例的组合,通过数据实例的属性就可以访问相应的数据。
(2)数据传输
数据传输将数据从源节点传输到目的节点,这是网格数据管理的基本功能之一。用户作业所需的输入数据、应用运行产生的结果数据、交换运算过程中的中间数据都需要数据传输的支持。将数据下载到本地,然后开始应用是普遍可见到情况,在某些情况下,如因本地存储空间的限制而不能将所有数据下载到本地后再使用时,数据传输将会更加频繁。数据传输需要满足传输速度、数据完整性、容错性的要求。
数据传输可以在源节点和目的节点之间建立一条通路,完成所有数据的传输。为了提高数据传输的速度,可使用并行传输技术。这种方式在节点之间建立多个数据连接,在不同的数据通道上传输数据的不同部分。在源节点的发送能力和目的节点的接收能力足够的前提下,增加通路的数量,从而提高数据传输的速度。
数据传输过程中由于各种原因,如网络故障导致丢包,可能会导致源节点传出的数据和目的节点接收到的数据不一样。有些应用对此不十分敏感,如少量的丢包不会影响语音应用,许多其他的应用,如文件传输,则不允许这种情况的发生。为此,一般使用出错重传或纠错的方式来解决。但某些应用场合,如实时控制,还对时间有严格的要求,没有多余的时间请求出错重传或纠错,这时可使用容错传输技术获得很好的服务质量。容错传输在源节点和目的节点之间建立多条数据通道,每条通道上传输相同的内容,一旦某条或多条通道出现传输错误,就会出现目的节点接收多个数据不一样的情况,通过表决的方式,少数服从多数,选择正确的数据,从而避免重传或纠错操作。这种方式虽然不能完全消除传输错误,但可以降低出错的概率。
网格中除了目的节点主动向源节点请求、源节点向目的节点自动分发会触发数据传输外,还有一种特殊的情况,即由第三方驱动数据传输。这种方式为网格应用带来了便利,任何一个用户或应用可以从任何节点发出请求实现特定两个节点之间的数据传输,在此基础上不仅可以建立复杂的数据共享关系,还可以建立复杂的数据流程,实现复杂的数据驱动。另外,支持第三方控制下的数据传输还可以用来在网格环境下创建新的安全机制,把身份认证的工作由除了通信双方以外的第三方完成,建立符合人类社会习惯的安全体系。
从传输的参与者来看,除了源节点和目的节点之间的点对点传输外,网格还需支持分布传输和汇集传输。分布传输是把一个完整的数据集当中的不同部分分散传输到不同目标节点上,汇集传输则与之相反,数据从多个不同的节点流向一个相同的节点。将一个大任务分解为多个小的子任务交由多个节点处理,最后将结果汇总,这是网格中常见到情况,需要分布传输和汇集传输技术的支持。
(3)数据存储
数据存储机制直接影响着数据的访问。通常而言网格数据分布存储在网格中不同资源的存储介质中,这是因为网格中数据量很大,单个个人或组织所拥有的存储资源容量有限,而且他们拥有的计算资源能力有限,不一定有能力不断处理快速增长的数据,另外分布存储可避免传输带宽的限制带来的问题。网格数据分布存储在不同位置的不同设备中,并具有不同的特点,数据管理模块为用户提供一个统一的数据视图、统一的访问接口,用户不需要了解数据对象的具体底层实现机制。
网格中还有些数据的数据量很小,只有几个或几十个字节,如状态数据、信息记录等信息,但这些数据的使用却是独立的。如果这些数据都作为文件单独存储,其数量将急剧增加,占用大量存储空间,并带来管理的难度,降低存储介质的有效利用率。为避免这种现象,可采用聚集存储技术,把文件大小小于一定规模的多个文件聚集成一个复合文件存储在网格存储空间。与可以将多个文件压缩为一个文件的文件压缩相比,聚集存储的一个文件,不需要解压就可以直接访问,包括读取、修改和删除等操作,
网格中数据实例的访问者与提供者一般都在不同的节点上,访问过程实际上是将数据实例从远程获取后缓存在本地,进行本地操作,执行结束后根据情况决定是否将文件写回远程。如果文件内容被修改,且访问者具有写远程文件的权限,则文件写回远程,覆盖原来的内容。如果没有权限,则缓存在本地的文件被简单地抛弃。这种缓存存储的方式可以减少访问者与提供者之间在通信介质上的数据流量,并且不用考虑访问文件过程中的中间交互环节。缓存存储对用户是完全透明的,用户不能指定访问某个缓存的文件。
(4)副本管理
副本管理系统一般由副本管理器、副本目录、副本选择器等几个主要部分组成。副本管理器是副本管理系统的核心部件,副本目录是登记和查找副本的场所,副本选择器负责从多个可用副本中选择一个合适的副本。
副本管理的功能包括副本创建、副本一致性维护、副本选择、副本删除、数据移动。
副本的创建根据数据被请求使用的实际情况,如一段时间内访问数据的请求者位置、每次访问的服务质量等,决定在何处创建和发布新的副本。其目的是避免网格中资源负载给用户访问带来的不良影响,为分散在不同位置的用户提供保证质量的数据访问服务。
当同一数据文件在网格上存在多个副本时,需要在其有效生命周期内保证各种访问的正确性,这就要由副本一致性维护操作保证所访问的任何副本的内容都完全相同。网格数据管理的副本一致性维护可用“加锁”、“解锁”的方式保证同时只有一个访问者可以修改文件的内容。网格中还有一个特殊的文件访问方式,任何用户都可修改文件,每个用户的修改结果都作为该文件添加了附加属性的新文件来存储,这种方式就无需使用加锁了。
副本对请求者是透明的,需要由副本管理系统查阅副本目录,寻找数据副本,根据一定的策略从数据的所有副本中选择一个最合适的副本给请求者访问。副本的选择受请求者与提供者之间的数据通路情况、提供者目前的访问负载、请求者与提供者之间的距离等众多因素的影响。
对于那些请求次数日益减少的数据,大量的副本已经没有存在的必要性了。副本管理系统可以根据实际需要删除几个甚至全部副本,并释放这些副本占用的存储空间。原始数据必须要保留下来,直到数据拥有者显式地请求删除为止。
随着时间的推移,数据的用户群可能会发生变化,密集的请求在不同时间段来自不同的地理区域,副本管理系统需要根据情况对数据进行移动,迁移到最佳位置,以便为用户提供最好的服务。数据移动不能影响正在使用的数据应用,它需要两个步骤来完成,首先将数据在新位置做一个副本,然后把新来的请求引导到新的数据上,并在旧数据上的请求都完成后删除旧数据。
2 网格QoS保证技术
QoS(Quality of Service,服务质量)是网格技术中极其重要的研究内容。网格资深专家伊安 ?福斯特(Ian Foster)提出判断网格的三个标准之一就是“提供非凡的服务质量”。下面我们简要地介绍网格QoS保证技术。
2.1 网络QoS与网格QoS的关系
QoS在计算机网络中是一个流行的研究领域,它关注的是如何提供更可靠的网络传输服务,满足应用的传输延时、延时抖动、分组丢失等质量保证。
网格是运行在互联网之上的,单纯的网络QoS机制不能够保证网格应用的QoS。网格中除了网络资源外,还有计算、存储等其它类型的资源。网格应用需要所有这些网格资源,包括网络资源在内,都能按需地向网格应用提供相应的QoS保证。所有这些资源都为E2E(End to End,端到端)QoS做出了贡献,但是E2E资源QoS并不是所涉及的这些资源简单、线性的组合,而需要高层对它们进行协调。
总之,为了满足网格应用的端到端QoS保证,除了网络层次的QoS保证外,还需在网格系统结构上考虑相应的QoS保证措施。
2.2 网格QoS的要求
为了保证网格应用的端到端QoS,需要网格QoS机制能够满足以下要求:
(1)以服务为中心的网格特点
网格体系结构已经由以协议为中心的五层沙漏结构发展为以服务为中心的OGSA结构。以服务为中心的网格是主流趋势,在这类网格中,所有的一切都是服务。网格用户使用网格发现和使用服务,这个特性要求网格QoS的保证机制也以服务的形式提供给用户。
(2)不同特征混合流的支持
远程可视化、科学数据分析、科学仪器在线控制和远程沉浸等领域中的网格应用经常混合着大量不同特征的多个流,这些特征包括带宽、时延、抖动、可靠性等。它们要求网格QoS机制能支持这些流,并允许具有不同特征流的共存,同时需要网络QoS技术为应用提供可靠的网络数据传输服务的保证。
(3)统一的资源预约和分配
高性能应用对一些特别的资源需求很大,如高带宽虚拟通道、科学仪器和超级计算机等。需要新的概念和构造,为属于不同管理域的多种异构资源实现统一形式的提前和立即预约,以及多资源联合分配,以保证网格应用使用资源和提供服务时的性能。
(4)安全性
网格QoS机制应当是安全的,可使用网格中的安全机制,对QoS服务的访问进行验证、鉴别和授权,防止保证网格QoS所需的服务QoS能力、资源预约、策略等相关信息被非法用户侵入或篡改。
(5)强壮性和可扩展性
由于网格是一个全球规模的基础设施,连接着巨大数目的动态网格资源,随时都有新资源加入和旧资源退出,这要求网格QoS机制能适应网格的动态变化,具有强壮性和可扩展性。
2.3 网格QoS控制模型
在网格QoS 控制模型方面,罗伊(Roy)和伊安 ?福斯特等人在Globus 工具集(GT,Globus Toolkit)之上建立了GARA(General-purpose Architecture for Reservation and Allocation,通用预约和分配体系结构)模型。GARA 由各级API(Application Program Interface,应用编程接口)和各种RM(Resource Manager,资源管理器)组成,通过统一的接口,使用现有的DiffServ BB (Bandwidth Broker,带宽代理)、DSRT(Dynamic Soft Real Time,动态软实时)、DPSS (Distributed Parallel Storage System,分布式并行存储系统)分别作为网络、CPU和存储资源管理器,提供提前和立即预约功能,实现端到端网格QoS保证。
开放网格服务体系结构是继五层沙漏结构之后新的网格体系结构。2002年,英国Cardiff大学的Rashid Al-Ali提出了G-QoSM(Grid QoS Management Architecture,网格QoS管理体系结构),它是OGSA 网格环境中进行资源预约和自适应调节的QoS 管理体系结构。它提供三个主要功能:QoS服务的注册、发现和选择;建立服务等级协定(SLA,Service Level Agreement),要求在中间件层和网络层提供QoS;为分配的资源提供自适应调节功能。
GARA和G-QoSM是目前仅有的两种比较完整的网格QoS体系结构。GARA首次提出了对异构资源使用统一的API进行预约和管理,着重网格中间件级和网络级的QoS提供,但是它没有深入研究网格中资源预约的实现机制和预约的性能问题。同时,它还不能直接应用到目前的面向服务的网格体系结构当中来。G-QoSM考虑的主要问题是如何在服务网格中提供和管理QoS服务,重点在于应用级的QoS机制。对网格中间件级和资源级的QoS保证机制完全依靠GARA机制。这两个体系结构目前对包括网络在内的资源级的QoS 控制研究仍没有深入。它们使用的NRM(Network Resource Manager,网络资源管理器)是现有的DiffServ 带宽代理,单纯的DiffServ 带宽代理不能很好地完成NRM 的功能。其它现有的资源管理器也不能完全适合网格的要求。
2.4 网格QoS关键技术
网格QoS控制机制主要包括基于QoS属性的网格服务注册与发现机制、网格服务组合机制、网格资源的预约与管理机制、网格性能监控与自适应调节机制等。
保证网格应用QoS的第一步就是要发现能够提供QoS保证的网格服务,但目前常规的服务注册与发现机制不支持基于QoS属性的服务注册与发现,为了实现该功能,国内外研究者对已有的UDDI注册中心进行非功能性属性的扩展, 使用tModel来发布由服务提供者宣布的QoS信息。由于QoS信息是动态变化的,这种方式注册和发布QoS信息很难保证信息的实时性。同时,发布的QoS信息要求具有准确性和公平性,为此有学者提出了基于代理的注册与发现机制,该机制中由代理实施对服务提供者宣布的QoS信息进行验证,但由提供者单方面宣称的QoS不能保证其真实性,这需要由公正的第三方实时地对服务的QoS进行监测和评价。
在网格服务组合方面,对服务组合的方式、服务组合的流程描述语言都有了较多的研究。服务组合的关键之一是如何选择合适的服务,服务选择有两种方式,一种是局部选择的方式,即独立地为每个任务选择服务,这种方式最大的缺点就是无法实现全局的选择优化。另一种是全局的服务选择,这种方式可实现全局的选择优化,例如可指定总的执行价格作为全局约束。
服务选择时考虑功能性要求是必需的,但也要考虑服务的QoS能力,这方面开展的研究还不多。在网格QoS的计算方面,需要讨论如何建立公开、公平、动态和安全的Web 服务QoS评价机制,并且对QoS 的公平计算和执行既不能引入大量的额外开销,同时又要赢得服务提供者和使用者双方的信任。
资源预约是在网格中为资源的使用提供QoS 保证的一种手段,资源的预约和资源的分配通常联系在一起,实现服务到资源的映射。资源预约包括立即预约和提前预约两种,其中立即预约可以看作预约时间和使用时间都是现在的、特殊的提前预约。预约请求至少包括预约的时间、资源能力、要求的QoS等参数。常规的预约请求中这些参数是固定不变的,但是这样的预约请求通常会导致资源的利用率降低,甚至是预约请求得不到满足而被拒绝。为此,提出可延伸预约的概念,这种预约在时间参数、QoS等参数上可变化,以增加预约请求的接受率和资源利用率。但是最初的可延伸预约机制中QoS 参数只能按单一恒定的数值预约,这使得需要较长持续时间的预约请求由于资源使用的多个峰值时刻的存在而被拒绝。为此有研究者提出柔性预约的机制,通过参数相对柔性的变化,克服了可延伸预约的缺点。
为提高预约资源的可靠性,研究者提出了基于资源聚集的备份资源选择算法。该算法将为应用分配的资源按照资源之间的关系聚集成多个资源集合,然后根据应用的可靠性需求为每个资源集合选择备份资源,每个资源集合中的资源共享同一组备份资源。但是这种方式中如果设置集合中最大资源数目的阈值不恰当,就会导致集合数目多,从而造成备份资源的浪费。另外任务迁移到备份资源后网格应用的QoS没有保证。
在网格性能监控与自适应调节方面,GGF(Global Grid Forum,全球网格论坛)提出了GMA(Grid Monitoring Architecture,网格监控体系结构),它描述了一种生产者/消费者模型和发布/订阅的数据传送方式,但它还不成熟,有关的实现仍不完整,许多研究者对其进行了扩充。自适应调节是其中重要的一个环节,在GMA基础上,可引入自适应调节机制提高了网格应用的性能。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。