英语原文共 19 页,剩余内容已隐藏,支付完成后下载完整资料
网络气象服务:分布式资源性能预测服务
RichWolskia,1NeilT.Springb,2JimHayesb,3
加州大学圣地亚哥分校和田纳西大学诺克斯维尔分校
摘要:网络气象服务的目标是从一组分布式的元课程资源中提供动态变化的性能特征的准确预测。提供无处不在的服务,可以跟踪动态性能变化并保持稳定,尽管它们需要自适应编程技术,支持可扩展性的架构设计,以及可以有效和可移植地实现的内部抽象。在本文中,我们描述了NWSforUnix和TCP/IP套接字的当前实现,并提供了其性能监视和预测功能的示例。
关键词:网络天气;网络监测;性能预测;元计算;网络感知;分布式计算
1 概要
越来越多的高质量网络使用户可以使用广泛分散的计算和数据资源。虽然万维网的普及性说明了一个明显的例子,但几乎所有计算选区都期望某种形式的网络连接将附加到所有可能有用的资源上。
随着无处不在的连接性,可以根据其感知性能在其他等效资源之间进行选择。例如,在加州大学圣地亚哥分校计算机科学系共享资源的学生经常尝试为他们的活动选择负载最轻的服务器。如何有史以来,它不是每一个他们感兴趣的,而是什么样的负载会在不久的将来,当他们执行的程序的评价体系上的当前负载。他们使用系统提供的信息(例如Unix负载平均值,当前登录的用户数,这些用户是谁,是什么程序目前正在运行等,以预测将向其程序提供的性能。
在本文中,我们描述了网络天气的最新实现服务(NWS),一种用于短期生产的分布式通用系统基于历史绩效评估的绩效预测。该系统的目标是从一组网络和计算资源中动态地表征和预测应用程序级别的可存活性能。这些预测已成功用于实现元计算应用程序的动态调度代理[26,3],并选择复制网页之间[1]。
实现NWS在各种元计算和分布式环境中运行,每个环境都有自己动态变化的性能特征,它阐明了自适应编程技术,分布式容错控制算法和可扩展系统架构的实用性。。我们关注这些方法在构建和部署系统中的作用。
下一节将讨论当前NWS实现的设计目标和总体架构。本文的其余部分描述了系统核心组件流程的功能,以及它们如何结合起来形成可用于管理动态变化的性能信息的通用服务。第3节描述了系统内部使用的命名和持久状态管理,第4节描述了系统使用的性能监视工具,第5节描述了当前支持的预测功能,第6节详细介绍了可用的编程和Web接口。在第7节中,我们关注整个系统中实现的一些自适应控制和容错机制。第8节讨论相关的问题,在第9节中,我们总结了工作并讨论了未来的研究目标。
2 系统架构
以前的NWS实现[31,30,29]的设计侧重于提供调查动态调度在局部,中等和广域计算设置中的有效性所需的功能[26,3]。然而,这些实施不能很好地扩展,并且缺乏使NWS成为可靠系统服务所必需的稳健性。此外,我们希望扩展系统的监控和预测功能,以满足各种面向性能的分布式软件基础架构的需求,如Globus[12],Legion[18],Condor[27]和Netsolve[7]。因此,我们希望通过先前的实现来改进系统的可移植性,可扩展性和可靠性。
NWS旨在最大化四种可能具有特征的功能特征。尽管共享元计算系统提供了高度动态的执行环境和不断发展的软件基础架构,但它必须满足这些目标[2]。
- 预测准确性:NWS必须能够及时准确地估算未来的资源绩效。
- 非侵入性:系统必须加载它正在监视的资源尽可能少。
- 执行寿命:为了有效,NWS应该可以在任何地方使用时间作为一般系统服务。它不应该执行和完成{其执行生命周期在逻辑上是无限的。
- Ubiquity:作为系统服务,NWS应该可以从资源集中的所有潜在执行站点获得。同样,它应该能够监视和预测所有可用资源的性能。
我们使用四个不同的组件构建了当前的NWS过程。
- 持久状态过程:存储和检索来自persis-tent存储的测量值。
- 名称服务器进程:实现一个目录功能,用于将进程和数据名称与低级联系信息(例如TCP/IP端口号,地址对)绑定。
- 传感器过程:从指定的资源中收集性能测量值。
- 预报过程:产生可交付绩效的预测值在特定资源的指定时间范围内。
图1中表示的每个组件进程只能通过强类型消息与其他进程通信。它们的实现可以通过适当的标准实现来改进或替换。
图1.NWS流程分布在三个工作站上。名称服务器仅驻留在系统中的一个主机上。传感器监控网络和处理器的性能特征,并将其测量结果发送给持久状态管理器。Forecaster充当应用程序调度客户端和用户查询的代理。Workstation2可以集成在系统中,而不需要任何相关的存储空间,因为它的持久状态在Workstation3上进行管理。
目前,每个ve进程抽象都已在C中实现,对于Unix,使用TCP/IP套接字网络设施作为底层的通信传输。我们选择Unix和TCP/IP套接字作为初始编程平台源于它们几乎独家使用现存的元计算基础设施,如Globus[12]和Condor[27]。因此,本文的其余部分将重点介绍通过套接字实现Unix和Unix网络的NWS。
3 命名和状态管理
为了使系统更加健壮,所有NWS流程都是无状态的。持久状态{必须能够在进程内存失败后继续存在的状态{在整个系统中使用持久状态进程显式管理。每个持久状态进程提供简单的文本字符串存储和重新服务,并允许每个存储的字符串与可选的时间戳相关联。每个存储或检索请求必须附带要访问的数据集的名称,并且在返回确认之前,立即将发送到持久状态进程的任何数据写入磁盘。由于NWS的功能是生成在其历元通过后失去其效用的预测,因此系统不会无限期地维护任何数据。持久状态进程使用的每个文件都作为循环队列进行管理,其长度为一个配置选项。在队列lls之前,必须获取要永久存档的数据并将其存储在NWS之外的一些更永久的介质中。
NWS还维护自己的原始但高度可移植的命名和目录服务来管理名称,名称是人类可读的文本字符串,位置是TCP/IP地址和端口号,但所有数据都被操作为文本字符串。目前,实现此功能的名称服务器进程基于更一般的持久状态进程。然而,这种关系纯粹是一种工程学上的权宜之计,因为为持久状态存储实现的循环队列管理技术用于实现目录服务是很麻烦的。因此,我们将名称服务转换为使用轻量级目录访问协议[32](LDAP)的实现。
NWS名称服务器进程的地址是系统使用的唯一众所周知的地址,允许分发数据和服务。所有其他NWS进程都使用名称服务器注册其名称-位置绑定。这些绑定根据每次注册必须伴随的生存时间规定而超时。因此,活动进程必须定期注册其绑定。这种方法提供了一个简单的“心跳”,即流程特定。我们正在考虑使用GlobusHeartbeatMon-itor[13]作为此功能的实现平台,作为我们未来开发的一部分。
我们预计状态存储和名称服务功能最终将由较低级别的元计算服务提供,例如GlobusMetacomputing目录服务[10]和军团资源目录服务[8]。
4 性能监控
与从主动计算和网络资源中收集准确性能测量相关的问题继续引起重大的研究挑战[24,21,5,6,20,8,19]。一般而言,监测技术的侵入性与其提供的测量精度之间存在张力。NWS尝试使用现有的性能监视实用程序和活动资源占用来衡量性能。当前实现支持测量可用于新进程的CPU时间部分,TCP连接时间,端到端TCP网络延迟以及端到端TCP网络带宽。
4.1 NWS传感器
NWS传感器的功能是为特定资源收集和存储时间戳-性能测量对。每个传感器过程可以测量其感测的资源的几个不同的性能特征。例如,TCP/IP网络传感器提供带宽和端到端往返延迟测量,但每组测量都是单独命名和存储的。也就是说,Sensor不会尝试关联其监视的资源的单独性能特征。但是,由于传感器为每次测量附加时间戳,因此可以通过匹配其时间戳来关联不同类型的测量。虽然我们已经实现了几个不同的传感器(如下所述),任何可以生成时间戳测量元组的过程,使用持久状态进程存储它们,并使用名称服务器进程注册它们的位置可以向系统提供数据。
4.2 CPU传感器
所述NWSCPU传感器从Unix系统实用程序的信息相结合起来时和vmstat周期性活性CPU占用测试,以提供关于分时Unix系统的CPU可用性MEA-surements。CPU可用性测量为完全优先级标准用户进程可以获得的CPU占用时间的分数。通常,uptime实用程序将负载平均值报告为过去一,十分钟和十五分钟内运行队列中的平均进程数。CPU传感器使用一分钟测量来计算在进行正常运行时间测量时如果运行过程将获得的CPU占用时间的一小部分。从vmstat输出,CPUSensor使用空闲时间,用户时间和系统时间测量的组合来生成可用CPU占用率的估计值[31]。
由于这些实用程序使用内部Unix系统变量生成报告,因此调用实用程序可能不会产生显着的负载。也就是说,它们是相当非侵入性的监控实用程序。但是,两者都可能遗漏相当多的信息,这些信息可以衡量CPU的可用性。例如,正常运行时间和vmstat都不提供有关当前在系统上运行的进程的优先级的信息。为了获得更准确的测量结果,CPU传感器将有源探头纳入其计算中。它定期运行一个特殊的,计算密集型的探测程序,并将CPU可用性计算为其观察到的CPU占用时间与其执行的挂钟时间的比率。然后,Sensor会比较这些结果。探测使用正常运行时间和vmstat并使用报告最准确信息的实用程序。通常,探测过程的运行频率低于从vmstat或正常运行时间收集的测量值。当所有三个值同时进行时,探头被视为“基础事实”并用于偏置随后的正常运行时间和vmstat测量,直到进行下一次探测。
传感器还使用启发式方法自适应地调整活动探针的传导频率,从而进一步限制其侵入性。只要来自正常运行时间和vmstat的测量结果保持相对稳定,传感器就会假设估算中的误差也几乎没有变化,因此不太频繁地运行活动实验。在具有非常稳定使用模式的系统上,传感器每小时只能运行一次活动探测。相反,当效用估计值在连续测量值之间显着变化时,传感器会增加有源探测器的频率,以便计算更准确的误差估计值。
图2.使用正常运行时间(左)和vmstat(右)生成的CPU可用性估计中的主动探测的改进。实线表示未调整估计中的误差量,虚线表示调整估计值中的误差。
图2显示了通过合并不频繁运行的活动探测器来改进CPU可用性估计的示例。CPU可用性估计是由NWS传感器在三小时内在UCSD并行计算实验室工作站上生成的,在此期间运行低优先级进程。由于正常运行时间和vmstat都不返回优先级信息,因此实线显示的CPU可用性的未调整估计值与实际值相差多达CPU时间的40%。使用主动探测的结果调整估计值给出了由虚线示出的改进的估计。在三小时测试期间,NWS传感器运行三秒有源探头七次,消耗不到总CPU时间的0.2%,以便提供改进的估计。
4.3 网络传感器
由于任意计算机之间的端到端网络性能数据不一致,因此NWS网络传感器在确定网络负载时仅依赖于活动网络探测。每个探测包括定时网络操作,例如xed数据量的移动,或者在TCP的情况下,建立和解散网络连接。每隔一段时间,每个网络传感器连接到在感兴趣的机器上运行的一组对等传感器,并进行一个或多个不同类型的探测以收集其测量值。要从N个传感器收集任何类型的端到端性能测量,需要N.;N探针。为了避免引入这么多网络负载,传感器按层次结构组织,以便可以为传感器总数的代表性子集进行端到端测量。然后,可以使用这些代表性测量来描述任意传感器对之间的网络性能。我们将在第7节中更详细地讨论这种层级组织。
目前,NWS网络传感器能够测量三种网络性能特征:小消息往返时间,大消息吞吐量和TCP套接字连接断开时间。小消息探测器包含4字节TCP套接字传输,该传输在从源传感器发送到目标传感器并返回时定时。在进行探测之前,已经建立了用于促进传输的套接字连接。通过使用TCP定时传输消息并通过接收传感器确认其接收来计算大消息吞吐量(用于测量应用程序级别的可用网络带宽)。消息的大小,发送和接收套接字请求以及每个Sensor在套接字send()和recv()系统调用中使用的内部缓冲区的大小都可以为每个Sensor进行参数化。根据经验,我们观察到使用32K字节套接字缓冲区和16K字节send()和recv()发送的64K字节的消息大小会产生有意义的结果。
然而,重要的是要注意,通过套接字接口调节可以显着地提高应用级别的网络性能。例如,如果RFC1323大窗口扩展用于调节传输中使用的套接字,则vBNS[28]支持聚合和端到端的高吞吐率。然而,根据我们的经验,大多数标准“套接字通信在撰写本文时并未使用这些扩展。因此,当网络传感器测量可交付的网络性能时,我们选择不使用它们。我们计划扩展系统通过开发大窗口吞吐量探测器,并在持久状态下存储大窗口和标准性能测量。
为了向预报员提供实验结果,传感器联系持久的状态存储信息的过程。传感器配置时,传感器将为其收集的每个测量使用的持久状态过程的位置是指定的。初始化时,每个Sensor都会使用名称服务注册存储其测量数据的持久状态进程的位置,以便可以按名称定位测量数据。
5 预测
为了生成预测,Forecaster进程从持久状态进程请求相关的测量历史记录。回想一下,持久状态进程将持久状态存储为循环队列。如果传感器不断更新状态,则Forecaster发出请求时将显示最新数据。按时间戳排序,然后可以将测量值视为时间序列以用于预测。当前的NWSForecaster使用此类时间序列的性能测量来生成对未来测量值的预测。
NWSForecaster仅适用于时间戳测量对,并且当前不包含特定于特定系列的任何建模信息。相反,它将一组预测模型应用于整个系列,并动态选择最近一组测量中最
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[19822],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 为非政府组织OG慈善基金会设计的基于社区的救灾管理系统外文翻译资料
- 基于UML建模的医疗系统电子健康服务软件外文翻译资料
- 开发一种具有增强现实功能的智能手机应用程序, 以支持护理学生对心衰的虚拟学习外文翻译资料
- 在开发 Web 应用程序中应用 Vue.JS 框架外文翻译资料
- 基于MES系统的生产车间信息管理研究外文翻译资料
- 基于Vue.js和MySQL的电子商务平台的设计与实现外文翻译资料
- 详细的Spring配置和SpringBoot外文翻译资料
- 基于NS2的DSR和AODV协议的性能比较研究外文翻译资料
- 不同仿真参数下NS2的TCP吞吐量性能外文翻译资料
- 基于Spring Boot和VUE的车辆管理系统实现外文翻译资料