面向异构突发数据缓存的基于结构感知的I/O调度方法技术

技术编号:24755609 阅读:46 留言:0更新日期:2020-07-04 09:03
本发明专利技术公开了一种面向异构突发数据缓存的基于结构感知的I/O调度方法,包括:通过运行时模块监视活动的应用程序I/O阶段的状态,并通知数据调度模块;所述数据调度模块具备结构干扰感知功能,对于接收到的I/O请求,所述数据调度模块检测每个存储层的负载状态,根据每个存储层的负载状态以及存储层的优先级做出数据移动方向的调度决策;如果接收到I/O结束消息,则更新各存储层的负载状态。该方法可以提高应用程序的端到端I/O性能,通过自动将数据放置在多个存储层上以平衡存储层之间的I/O负载。

Structure aware I / O scheduling method for heterogeneous burst data caching

【技术实现步骤摘要】
面向异构突发数据缓存的基于结构感知的I/O调度方法
本专利技术涉及计算机系统结构领域,尤其涉及一种面向异构突发数据缓存的基于结构感知的I/O调度方法。
技术介绍
当前大规模超算的I/O性能瓶颈主要来源于并行文件系统中磁盘的有限带宽性能。未来的E级超算的I/O存储子系统趋向多层次的异构突发数据缓存架构有希望解决多核众核芯片计算能力和磁盘数据传输能力之间的性能鸿沟导致的“I/O壁垒”问题。此结构设计的目的本质是选择将数据临时缓存在离计算节点较近的高速存储介质设备中以降低应用的等待时间。额外添加的非易失性存储器作为缓存层将减少末端并行文件系统中磁盘上的寻道时间,从而使存储系统能够提供持续的高吞吐量。目前的相关研究针对主要针对内存和文件系统之间数据通信机制的抽象描述,只是实现了端到端的I/O读写操作优化,并未针对复杂架构的突发数据缓存系统的性能需求提供有效的I/O映射和管理能力。虽然异构突发数据缓存系统在硬件上能提供更高的I/O性能,但是由于其结构层次之间的数据移动的复杂性给数据管理带来了非常大的挑战性。多层次的异构突发数据缓存系统通过在计算节点和存储节点之间添加更多的基于高速存储介质的存储层来提供有效的数据缓存功能。这些额外的存储层可以在许多情况下加速科学应用,例如支持检查点快递写入/读取重启、异步数据刷新和近数据端数据分析。然而,虽然越来越多的异构缓存层正在添加进大规模系统中,但如何高效地利用这些存储层来为满足支持百亿亿次计算的科学应用所要求的极端I/O并行性和性能需求是至关重要的,这对系统软件设计构成了重大挑战。因此,亟需一种透明的数据移动和I/O调度策略来支持这种多层次的异构突发数据缓存结构,以获得高I/O性能并对用户隐藏系统架构的复杂性。
技术实现思路
本专利技术的目的是提供一种面向异构突发数据缓存的基于结构感知的I/O调度方法,可以提高应用程序的端到端I/O性能。本专利技术的目的是通过以下技术方案实现的:一种面向异构突发数据缓存的基于结构感知的I/O调度方法,包括:通过运行时模块监视活动的应用程序I/O阶段的状态,并通知数据调度模块;所述数据调度模块具备结构干扰感知功能,对于接收到的I/O请求,所述数据调度模块检测每个存储层的负载状态,根据每个存储层的负载状态以及存储层的优先级做出数据移动方向的调度决策;如果接收到I/O结束消息,则更新各存储层的负载状态。由上述本专利技术提供的技术方案可以看出,通过协调多个数据密集型应用程序的并发执行以高效透明地管理异构多层次的缓存系统中不同存储层之间的数据移动;根据分析应用程序的I/O操作和异构突发数据缓存系统中的各个存储层的状态优先级,在访问过大的情况下,可以将数据自动映射到不同的存储层以减少同一存储层中不同应用程序之间的I/O干扰,从而提高应用程序的端到端I/O性能。通过自动将数据放置在多个存储层上以平衡存储层之间的I/O负载。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本专利技术实施例提供的一种面向异构突发数据缓存的基于结构感知的I/O调度方法的流程图;图2为本专利技术实施例提供的基于结构感知的I/O调度算法示意图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。本专利技术实施例提供一种面向异构突发数据缓存的基于结构感知的I/O调度方法,能够分析来自每个活跃应用程序的所有I/O操作调用,并根据各种不同的数据调度策略将数据映射到不同的存储目标来实现高I/O性能。目标是通过一种对用户透明的方式来协调来自不同应用程序的I/O请求来提高应用程序性能和系统效率。该方法通过对突发性的I/O请求进行动态分流以降低本地缓存的带宽压力。为了实现跨多个缓存层次之间的自动数据传输,该方案实现了一种干扰感知的I/O重定向优化,用于最大化所有存储层的带宽利用率并减少共享缓存层中的跨应用的I/O竞争干扰。如图1所示,为本专利技术实施例提供的一种面向异构突发数据缓存的基于结构感知的I/O调度方法的流程图,其主要包括:步骤1、通过运行时模块监视活动的应用程序I/O阶段的状态,并通知数据调度模块。本专利技术实时中,运行时模块由每个计算节点的独立进程在后台执行,与元数据组织器和数据调度程序通信。所述计算节点指得是实际运行应用的服务器节点,运行时模块是运行在服务器节点中的一个软件,负责监控分析在这个服务器节点上运行的所有应用程序的I/O阶段状态。运行时模块具有应用感知功能,当活动的应用程序进入或完成某个I/O阶段时,会发出I/O请求或者I/O结束消息,运行时模块将通过捕获具体的I/O操作和时间戳信息来拦截I/O请求,并将I/O请求或者I/O结束消息发送到数据调度模块以通知相应I/O阶段的开始或结束。一个I/O阶段开始表示一个应用准备开始读写一段数据,此时需要通知数据调度模块,数据调度模块根据I/O请求、以及目前整个存储系统的状态,决策出将数据缓存在哪个存储层次最合理(读写时间最佳)。如果I/O阶段结束,通过I/O结束消息通知数据调度模块,因为数据调度模块是根据活跃应用的I/O状态和各个存储层的状态信息来为即将开始的I/O方向做决策的。例如,当应用程序启动并在其每个节点上调用write函数准备写数据时,会发出I/O请求,运行时模块会拦截此I/O请求并向数据调度模块发送I/O请求,指示应用程序已在该计算节点上启动了相应的I/O操作。该I/O请求主要信息有文件本身相关的(比如文件句柄、读写操作类型、读写位置、读写长度)和相关应用程序的运行时信息(例如I/O进程数)。数据调度模块和运行时模块之间的通信具有可忽略的开销,因为消息传递是由后台的系统进程来进行处理,因此不会直接影响应用程序的执行过程。步骤2、所述数据调度模块具备结构干扰感知功能,对于接收到的I/O请求,所述数据调度模块检测每个存储层的负载状态,根据每个存储层的负载状态以及存储层的优先级做出数据移动方向的调度决策;如果接收到I/O结束消息,则更新各存储层的负载状态。本专利技术实施例中,数据调度模块专为性能驱动目的而设计。数据调度模块的主要用例是在异构突发数据缓存系统中自动执行数据移动和更新。它基于各个存储层之间不同的优先级(依次为共享突发数据缓存节点、并行文件系统、以及本地NVM设备)提供自动数据移动管理并与其他模块协调。为了实现应用程序的高I/O性能,数据调度程序首先检测每个存储层的可用性(通过负载状态体现)并分析每个应用程序的I/O状态(应用程序当前是在访问哪个存储层次和I/O进程数个数)以做本文档来自技高网
...

【技术保护点】
1.一种面向异构突发数据缓存的基于结构感知的I/O调度方法,其特征在于,包括:/n通过运行时模块监视活动的应用程序I/O阶段的状态,并通知数据调度模块;/n所述数据调度模块具备结构干扰感知功能,对于接收到的I/O请求,所述数据调度模块检测每个存储层的负载状态,根据每个存储层的负载状态以及存储层的优先级做出数据移动方向的调度决策;如果接收到I/O结束消息,则更新各存储层的负载状态。/n

【技术特征摘要】
1.一种面向异构突发数据缓存的基于结构感知的I/O调度方法,其特征在于,包括:
通过运行时模块监视活动的应用程序I/O阶段的状态,并通知数据调度模块;
所述数据调度模块具备结构干扰感知功能,对于接收到的I/O请求,所述数据调度模块检测每个存储层的负载状态,根据每个存储层的负载状态以及存储层的优先级做出数据移动方向的调度决策;如果接收到I/O结束消息,则更新各存储层的负载状态。


2.根据权利要求1所述的一种面向异构突发数据缓存的基于结构感知的I/O调度方法,其特征在于,所述通过运行时模块监视活动应用程序I/O阶段的状态,并通知数据调度模块包括:当活动的应用程序进入或完成某个I/O阶段时,会发出I/O请求或者I/O结束消息,运行时模块将通过捕获具体的I/O操作和时间戳信息来拦截I/O请求,并将I/O请求或者I/O结束消息发送到数据调度模块以通知相应I/O阶段的开始或结束。


3.根据权利要求1所述的一种面向异构突发数据缓存的基于结构感知的I/O调度方法,其特征在于,所述数据调度模块检测每个存储层的负载状态时,从元数据组织器中获取每个存储层的状态;

【专利技术属性】
技术研发人员:韩文廷梁伟浩安虹陈俊仕方涛张子豫
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1