SYEDWSIM:用于网格工作负载分析的基于Web的模拟器
1. 引言
网格计算已成为大规模资源共享的主流技术,它能提升系统计算能力,利用地理上分散的计算资源解决复杂的大规模科学问题。传统网络或超级计算机难以解决众多复杂的科学问题,因此网格计算的研发在逐步推进。网格计算系统将计算机、应用程序和存储设备等计算资源连接到网络,实现高性能计算并减少系统执行时间。
网格调度是对计算资源上的任务进行排序以及对它们之间的通信进行排序的过程,也可理解为随时间分配计算和通信。它是网格的核心组件,负责高效利用异构和分布式资源。
若要设计新的网格调度组件,就必须了解当前网格的使用方式和性能;若要评估现有的网格调度器,也需要了解真实网格工作负载的特征。所以,研究真实网格工作负载的性质对于提高现有网格调度器的质量至关重要。
不同研究人员使用不同程序分析工作负载跟踪数据,目前已开发出多种统计分析方法。本文提出一种基于Web的替代方法,用于模拟使用实际部署资源利用率跟踪数据的环境。我们设计并开发了一个基于Web的模拟器,用于对网格工作负载跟踪数据进行统计分析,可从用户、组和单个作业特征等不同角度详细分析任何真实的网格工作负载跟踪数据,量化网格系统的性能。该模拟器以GWF(网格工作负载格式)的真实跟踪数据为输入,并生成各种图表来分析工作负载的特征。本文对来自两个真实网格环境(科学网格LCG和研究网格DAS - 2)的两个著名跟踪数据进行了分析。
2. 相关研究
网格是一个高性能计算系统,由大量分布式和异构资源组成。网格计算可实现资源的共享、选择和聚合,以解决科学、工程和商业领域的复杂大规模问题。科学应用通常包含众多作业,会处理和生成大量数据集。在网格中处理复杂的科学应用面临诸多挑战,例如大量作业、文件传输和存储需求等。作业调度的重点是在共享资源上映射和管理任务的执行。
计算网格受电力网格的普及性、易用性和可靠性启发而发展,它是一种并行和分布式计算机系统,能实现各种资源的共享、选择和聚合。网格资源地理上分散且归不同组织所有,用于解决大规模问题。网格的“节点”可能是单个计算机,更可能是计算机站点,一个网格可能由多个组织的资源组成,内部有共享安排。大多数网格利用全球数千或数百万台计算机的空闲时间。
网格调度是在多个管理域中做出资源调度决策的过程,包括在多个管理域中搜索将作业分配到单个机器,或在单个站点或多个站点的多个资源上调度作业任务。网格调度主要分为三个阶段:
-
资源发现
:提供可用资源列表。
-
资源分配
:选择可行资源并将作业映射到资源,此阶段选择作业与资源的最佳匹配是一个NP完全问题。
-
作业执行
:包括文件暂存和清理。
评估新的网格调度算法性能时,需考虑两个基本问题:一是需要有代表性的工作负载跟踪数据以产生可靠结果;二是要建立良好的测试环境,通常通过模拟实现,且应使用标准工作负载作为评估调度算法的基准。
工作负载在计算机系统的实验性能评估中起着重要作用,工作负载特征化对理解系统性能至关重要。因此,需要开发工作负载模型来评估不同的网格调度策略。研究人员在真实工作负载收集、分析和建模方面投入了大量精力,但目前缺乏一个基于Web的模拟器来帮助研究人员对网格工作负载跟踪数据进行统计分析,以及评估和改进网格调度器的性能。本文旨在介绍一个用于对真实工作负载跟踪数据进行统计分析的基于Web的新模拟器,该模拟器将有助于研究人员研究不同网格的性质并评估网格调度算法的性能。
3. 基于Web的模拟器的设计与开发
我们使用Java设计并开发了一个基于Web的模拟器“SyedWSIM”,该模拟器要求输入的工作负载为GWF格式。SyedWSim的工作流程图如下:
graph LR
A[输入:真实工作负载跟踪数据、工作负载百分比、间隔大小] --> B[转换为关系数据结构]
B --> C[模拟不同调度策略对网格性能的影响]
C --> D[输出:用户特征、组特征、网格作业特征相关分析结果]
它以真实工作负载跟踪数据(也称为资源利用率跟踪数据)、工作负载百分比和间隔大小为输入,模拟不同调度策略在各种负载和策略下对网格性能的影响,并在运行时将源工作负载文件转换为关系数据结构进行分析。
该模拟器使用一个时序模型来描述系统的动态行为,该模型利用工作负载文件中给出的作业时间单位。模拟器的基本操作如下:主模拟器循环在一个定时器上运行,该定时器记录模拟系统中的时间。读取输入跟踪文件时,模拟器使用该定时器访问与相应时间戳关联的工作负载数据。它可以模拟用户特征、组特征和网格作业特征。
我们开发的软件包由以下组件组成:
-
CV2DChartPanel.Java
:该类包含用于绘制与网格用户、虚拟组织和作业相关的所有功能的图形,与模拟器的其他所有类交互,生成展示分析中工作负载性质的输出。它包含13个方法(如AddVisualizationMethod1、AddVisualizationMethod2等),每个方法对应Web模拟器的一个可用功能(如用户与总作业数、用户与对数(总作业数)等)。
-
CVApplet.Java
:这是一个基于Web的小程序文件,在客户端浏览器上执行。它包含一个可视化类,扩展了Java Applet类的功能,还包含所有可视化组件,并提供与Web模拟器交互的所有可视化界面。
-
CVToolBar.Java
:该类提供一个工具栏,包含允许用户对基于Web的模拟器进行工作负载分析实验的选项列表。
-
Dataset.Java
:该类文件用于从原始的GWF格式文本文件中下载数据集,并在运行时构建动态数据结构。
此外,我们在开发基于Web的模拟时还使用了开源代码:
-
Package edu.emory.mathcs.jtransforms.fft
:使用“JTransforms”包对自相关函数得到的值应用快速傅里叶变换(FFT)。
-
Package info.monitorenter.gui.chart
:使用“JChart2D”GUI包生成2D图表,用于显示ITrace2D中的数据,该包继承了javax.swing.JPanel的许多功能,更注重显示结果而非输出的美观性。
-
Package org.apache.commons.math
:使用开源数学包“Commons Math”进行数学和统计计算。
4. SyedWSim的图形用户界面
SyedWSim的图形用户界面展示了其操作和交互的可视化方式,用户可以通过该界面方便地进行工作负载分析实验。
5. 统计理论的实际应用
基于Web的模拟器是一个用于统计分析的应用程序,使用了两种主要技术:
-
自相关
:自相关是数据与其自身的互相关,是一种用于寻找观测列表与相同列表偏移一定“滞后”之间相似性的函数,是寻找重复模式的数学工具。在我们的模拟器中,该列表由作业到达间隔时间组成。
-
傅里叶分析
:使用“JTransforms”包进行傅里叶分析。
6. 使用SyedWSim进行工作负载的统计分析
在以往的研究中,对集群和网格上的各种工作负载跟踪数据进行了全面的统计分析。我们使用SyedWSim重现了相关图形,研究了LCG1和DAS - 2工作负载的动态特性。LCG1和DAS - 2的作业总数分别为188041和1124772。我们观察每64秒周期内到达的作业数量(即作业计数),并在实验中剔除运行时间为负或分配处理器数量为负的跟踪作业条目。
LCG1跟踪数据的输入格式(GWF格式)如下表所示:
| Job ID | Submit time | Run Time | NProcs | User ID | Group ID | Partition ID | Orig Site ID | Last Run Site ID |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 1 | 1132444805 | 83 | 1 | U1 | G1 | 1 | SWF | SWF |
| 2 | 1132444808 | 3611 | 1 | U2 | G2 | 2 | SWF | SWF |
| 3 | 1132444817 | 205 | 1 | U1 | G1 | 3 | SWF | SWF |
| … | … | … | … | … | … | … | … | … |
部分列填充为“ - 1”表示数据未给出,表中仅显示了188041个作业中的前三个,每个作业由用户提交,存在不同的用户组。例如,跟踪数据中的第一个作业(作业1)由用户U1提交,U1属于组G1。
通过实验,我们得到了以下结果:
-
用户特征
:展示了LCG1和DAS - 2中每个用户的作业数量以及前15名用户的规模,如LCG1中用户“U1”提交了60658个作业。
-
组特征
:呈现了LCG1和DAS - 2中每个组的作业数量、每个组的用户数量以及前15名组的规模,例如LCG1中的组“G1”提交了最多的作业(68893个)。
-
网格作业特征
:
-
作业计数分布
:展示了LCG1和DAS - 2跟踪数据的作业计数分布。
-
CPU运行时间需求
:显示了CPU运行时间需求。
-
自相关分析
:对不同滞后的作业计数进行自相关分析,绘制了LCG1和DAS - 2的自相关图。
-
傅里叶分析
:对自相关输出值应用FFT进行傅里叶分析。
这些结果表明,作业到达呈现出多种相关结构,包括短程依赖、伪周期性和长程依赖。长程依赖可能导致性能大幅下降,在评估调度算法时应考虑其影响。真实的网格工作负载LCG1和DAS - 2表现出丰富的相关性和缩放行为,与传统并行工作负载不同,不能用简单的模型(如泊松分布或其他基于分布的方法)来描述,它们将在调度算法的性能评估中发挥关键作用。
7. 结论
本文介绍的基于Web的模拟器可用于对真实工作负载跟踪数据进行详细的统计分析。对研究和生产网格的真实工作负载跟踪数据进行分析,有助于广泛的并行处理研究。我们使用该模拟器对来自研究网格的DAS - 2和来自生产网格的LCG1两个多集群网格环境进行了实验,深入研究了真实工作负载跟踪数据的性质。只要输入的工作负载跟踪数据为网格工作负载格式,该模拟器就允许用户进行分析。
SYEDWSIM:用于网格工作负载分析的基于Web的模拟器
在前面的内容中,我们详细介绍了SYEDWSIM模拟器的背景、设计开发、相关理论及初步分析结果。接下来,我们将进一步探讨其在实际应用中的意义和潜在价值。
8. SYEDWSIM在调度算法评估中的作用
网格调度算法的性能评估至关重要,而真实的工作负载数据是评估的基础。SYEDWSIM模拟器通过对LCG1和DAS - 2等真实网格工作负载的分析,为调度算法的评估提供了有力支持。
我们可以通过以下步骤利用SYEDWSIM评估调度算法:
1.
数据输入
:将真实的网格工作负载跟踪数据(GWF格式)输入到SYEDWSIM模拟器中。
2.
设置参数
:根据需要设置工作负载百分比、间隔大小等参数。
3.
运行模拟
:模拟器模拟不同调度策略在各种负载和策略下对网格性能的影响。
4.
分析结果
:通过生成的各种图表和统计数据,分析调度算法在不同指标下的性能,如作业完成时间、资源利用率等。
例如,在评估一个新的调度算法时,我们可以使用SYEDWSIM模拟该算法在LCG1和DAS - 2工作负载下的运行情况,然后将结果与现有的调度算法进行比较。如果新算法在作业完成时间上有明显优势,且资源利用率也较高,那么可以认为该算法具有较好的性能。
9. SYEDWSIM对网格资源管理的启示
网格资源管理的目标是高效利用异构和分布式资源,而SYEDWSIM模拟器的分析结果为资源管理提供了重要启示。
从作业到达的相关性结构来看,长程依赖可能导致性能大幅下降。因此,在资源管理中,需要考虑这种长程依赖的影响,采取相应的策略来减少其负面影响。例如,可以采用动态资源分配策略,根据作业到达的实时情况调整资源分配,以提高资源利用率和系统性能。
另外,SYEDWSIM的分析结果还表明,真实的网格工作负载具有丰富的相关性和缩放行为,不能用简单的模型来描述。这意味着在资源管理中,需要采用更加复杂和灵活的模型和算法,以适应不同的工作负载特性。
10. SYEDWSIM的优势与局限性
优势
- 基于真实数据 :SYEDWSIM使用真实的网格工作负载跟踪数据进行分析,结果更具可靠性和现实意义。
- 可视化分析 :通过生成各种图表,如作业计数分布、自相关图、傅里叶分析图等,直观地展示工作负载的特征,便于研究人员理解和分析。
- 多维度分析 :可以从用户、组和作业等多个维度对工作负载进行分析,全面了解网格系统的性能。
局限性
- 数据格式要求 :模拟器要求输入的工作负载数据为GWF格式,这可能限制了其在某些场景下的应用。
- 模型复杂度 :虽然真实的网格工作负载具有复杂的相关性和缩放行为,但模拟器的模型可能无法完全捕捉所有的细节,存在一定的误差。
11. 未来发展方向
为了进一步提高SYEDWSIM的性能和应用范围,未来可以从以下几个方面进行改进:
-
支持更多数据格式
:除了GWF格式,支持更多常见的数据格式,提高模拟器的通用性。
-
优化模型
:不断改进模拟器的模型,使其能够更准确地捕捉真实网格工作负载的复杂特性。
-
集成更多功能
:例如,集成机器学习算法,实现对工作负载的预测和智能调度。
12. 总结
SYEDWSIM是一个用于网格工作负载分析的基于Web的模拟器,通过对真实工作负载跟踪数据的统计分析,为网格调度算法的评估和资源管理提供了重要支持。它具有基于真实数据、可视化分析和多维度分析等优势,但也存在数据格式要求和模型复杂度等局限性。未来,通过不断改进和优化,SYEDWSIM有望在网格计算领域发挥更大的作用。
以下是一个简单的mermaid流程图,展示了使用SYEDWSIM进行调度算法评估的整体流程:
graph LR
A[输入真实工作负载数据] --> B[设置参数]
B --> C[运行SYEDWSIM模拟]
C --> D[生成分析结果]
D --> E[评估调度算法性能]
通过以上的分析和探讨,我们可以看到SYEDWSIM在网格计算领域具有重要的应用价值,它为研究人员和开发者提供了一个强大的工具,帮助他们更好地理解和优化网格系统的性能。
超级会员免费看

被折叠的 条评论
为什么被折叠?



