CN111414338B - 一种分布式图处理系统中以混合方式写检查点的方法 - Google Patents
一种分布式图处理系统中以混合方式写检查点的方法 Download PDFInfo
- Publication number
- CN111414338B CN111414338B CN202010112138.6A CN202010112138A CN111414338B CN 111414338 B CN111414338 B CN 111414338B CN 202010112138 A CN202010112138 A CN 202010112138A CN 111414338 B CN111414338 B CN 111414338B
- Authority
- CN
- China
- Prior art keywords
- writing
- write
- cost
- blocking
- checkpoints
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000000903 blocking effect Effects 0.000 claims description 73
- 238000004904 shortening Methods 0.000 abstract 1
- 238000011084 recovery Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种分布式图处理系统中以混合方式写检查点的方法,通过预先建立代价模型得到现有写检查点方式的代价计算公式,然后在系统运行过程中采集与代价计算公式相关的时间数据,并在需要写检查点的超步计算出以不同方式写检查点的代价,最后选择出代价较小的方式去写检查点,从而减少了现有的以单一方式写检查点给系统执行时间带来的开销,最终缩短了系统的执行时间。
Description
技术领域
本发明属于分布式图处理领域,尤其涉及基于BSP(BulkSynchronousParallel)迭代模型的分布式图处理系统的写检查点方法。
背景技术
在BSP模型中,一个完整的计算由一系列超步组成,其中每个超步包括三个阶段:本地计算、消息传递、栅栏同步。基于BSP迭代模型的分布式图处理系统通常采用master/worker架构去完成计算。在计算开始前,master将输入图进行分区并且将分区分配给workers。分区分配完成后,master命令workers完成一系列的超步。在每个需要写检查点的超步,workers会在master的协调之下完成写检查点的工作,然后workers开始完成分区计算并且持续的向master汇报执行的状态。一旦所有的worker结束当前的超步,master就会协调所有的worker进入到下一个超步。
为了应对处理过程中发生的故障,分布式图处理系统通常采用写检查点的方法去保存系统的状态,然后在发生故障时将系统恢复到这一状态。目前分布式图处理系统中写检查点的方法分为以阻塞方式写检查点和以非阻塞方式写检查点。
绝大部分基于BSP迭代模型的分布式图处理系统都采用阻塞方式写检查点,在以阻塞方式写检查点的过程中,用户会指定写检查点的超步间隔,然后系统会在满足间隔的超步以阻塞的方式写入检查点。图1显示了一个master和两个workers采用阻塞方式写检查点的过程,在符合间隔的超步的开始,两个workers直接将本地内存中的状态上传至HDFS。每个worker会在状态上传结束后开始计算。与此同时,所有的workers在状态上传结束后会通知master,master接收到所有的workers通知后开始上传状态到HDFS。通过以阻塞方式写检查点,系统确保了最近的检查点被完整的写入到可靠的外部存储上,一旦故障发生,系统会读取最近的检查点进行回滚从而减少恢复时间。然而在无故障的情况下,采阻塞方式写检查点会导致系统的执行时间变长。
与以阻塞方式写检查点不同,以非阻塞方式写检查点并不要求所有的workers在计算开始之前直接上传它们的状态到HDFS。如图2所示,在采用非阻塞方式写检查点的超步的开始,每个worker首先将本地内存中的状态保存到本地磁盘,然后以异步的方式将状态从磁盘上传到HDFS。换句话来说,在以非阻塞方式写检查点的过程中,上传状态到HDFS这一过程与计算是并行的。通过采用非阻塞方式写检查点,在无故障情况下,系统减少了因写检查点给执行时间带来的开销。然而在故障发生的情况下,检查点或许还没有写入完成,这使得采用非阻塞方式写检查点的系统的恢复时间会比采用阻塞方式写检查点的系统的恢复时间更长,因为系统不得不回滚到一个更早的检查点。
总的来说以阻塞方式写检查点和以非阻塞方式写检查点都会给系统的执行时间带来额外的开销,其中以阻塞方式写检查点的开销在正常执行期间产生,而以非阻塞方式写检查点的开销在故障恢复过程中产生。
发明内容
本发明的目的是提出一种分布式图处理系统中以混合方式写检查点的方法,该方法将以阻塞方式写检查点和以非阻塞方式写检查点结合起来,实现了写检查点方式的自适应选择,从而减少了写检查点给系统执行时间带来的开销。
实现本发明目的的具体技术方案是:
一种分布式图处理系统中以混合方式写检查点的方法,该方法包括:
步骤A1:建立代价模型;
步骤A2:采集代价模型所需的超步运行时间数据;
步骤A3:在符合写检查点间隔的超步,基于代价模型和采集数据估算以阻塞方式写检查点和以非阻塞方式写检查点的代价,选择代价较小的方式写检查点。
其中,所述建立代价模型的步骤包括:
步骤A11:将以阻塞方式写检查点的超步和以非阻塞方式写检查点的超步置于统一的系统运行时下;
其中,所述采集所述代价模型所需的超步运行时间数据的步骤包括:
步骤A21:设置超步0写检查点的方式为阻塞式;
步骤A22:从超步0开始,采集每一超步用于本地计算的时间以及采用阻塞式写检查点的超步的写检查点的时间。
其中,所述在符合写检查点间隔的超步,基于代价模型和采集数据计算以阻塞方式写检查点和以非阻塞方式写检查点的代价,选择代价较小的方式写检查点的步骤包括:
步骤A31:用当前超步数减去上一次写检查点的超步数,然后对用户设置的写检查点的超步间隔数取余,如果余数为0表明当前超步符合写检查点间隔,之后进入步骤A32;
本发明的有益效果包括:
本发明采集了系统运行过程中的超步执行时间数据,然后在满足写检查点间隔的超步去计算以阻塞方式写检查点的代价和以非阻塞方式写检查点的代价,最后选取代价较小的方式去写检查点,从而最小化了写检查点给超步执行时间带来的开销,最终减少了写检查点给系统执行时间带来的开销。
附图说明
图1是现有技术中涉及以阻塞方式写检查点实施方式示意图;
图2是现有技术中涉及以非阻塞方式写检查点实施方式示意图;
图3是本发明实施方式的代价模型中考虑故障发生在t2和t3之间的示意图;
图4是本发明实施方式的代价模型中考虑故障发生在t1和t2之间的示意图;
图5是本发明流程图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
为了比较阻塞方式写检查点和非阻塞方式写检查点的代价,本发明构建代价模型来分析这两种方式的代价构成,从而得到这两种方式的代价计算公式。代价模型设定系统的运行时为系统当前位于超步Si的开始,并以在不久的将来发生故障后,系统恢复到超步Si开始状态的时间作为代价。
如图3所示,系统当前处于t1时刻,并且位于超步Si的开始,在t0时系统完成了保存超步Sl状态的检查点。显然,如果系统采用阻塞方式去写入保存超步Si状态的检查点,那么检查点直到t2时才会写入完成。而如果系统采用非阻塞方式写检查点,那么检查点直到t3时才可用。
依据代价模型,故障假定发生在t2和t3之间。如果系统采用阻塞方式写检查点,那么故障发生后系统直接恢复到超步Si的状态,也就是说以阻塞方式写检查点不存在恢复代价。但是为了实现这种直接恢复,系统不得不在故障发生前花费去保存超步Si的状态。所以在式(1)中以阻塞方式写检查点的代价由构成。
与以阻塞方式写检查点不同,如果系统采用非阻塞方式写检查点,故障发生时检查点并未完成。那么为了恢复到超步Si开始的状态,系统不得不从超步Sl的状态开始重新计算。因此在式(2)中以非阻塞方式写检查点的代价由重计算时间构成。
接下来,还要考虑另一种发生在不久的将来的故障。图4描述了故障发生在t1和t2之间时的情况。如果系统采用阻塞方式写检查点,那么由于故障发生时检查点尚未完成,所以为了恢复到超步Si开始的状态,系统会从超步Sl的状态开始重新计算。这意味着在式(3)中以阻塞方式写检查点的代价由重计算时间构成。
另外,因为代价模型是基于故障发生在不久的将来这一设定来分析代价构成的,而非阻塞方式写检查点需要花费很多时间完成。所以为了简化模型,在代价模型中,故障发生在以非阻塞方式写检查点完成后的这一情况并不被考虑(例如:故障发生在t3后)。因此结合式(1)和(3)得到了如下的以阻塞方式写检查点的代价计算公式。
类似的,以非阻塞方式写检查点的代价计算公式由式(2)和(4)得到。
式(5)和(6)表明和与以阻塞方式写检查点的时间和每一超步用于本地计算的时间相关,因此在系统运行过程中,本发明将会采集与和相关的运行时间数据。在采集数据之前,由于系统的初始超步0没有时间数据去计算两种写检查点方式的代价,同时为了采集到以阻塞方式写检查点的时间,所以超步0的写检查点方式将会被预设为阻塞式。
之后系统在每一超步的开始会检查超步数是否满足用户设定的写检查点的超步间隔,判断依据采用当前超步数减去上一次写检查点的超步数然后对用户设定的间隔数取余的结果,如果结果为0则表明当前超步需要写检查点,然后开始计算和即计算和其中的计算过程用式(7)表示,式(7)计算了从超步S0到当前超步Si前一个超步Si-1的以阻塞方式写检查点时间的平均值。
在计算出和系统需要比较和显然根据式(5)和(6),比较和可以简化为比较和若即表明以阻塞方式写检查点的代价小于以非阻塞方式写检查点,此时系统采用阻塞方式写检查点。而如果即表明以阻塞方式写检查点的代价大于以非阻塞方式写检查点,此时系统采用非阻塞方式写检查点。
以上是分布式图系统中以混合方式写检查点的具体实施过程,在分布式图系统中,该方法可以通过方法1中的相关代码实现,方法1的代码如下所示:
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (1)
1.一种分布式图处理系统中以混合方式写检查点的方法,其特征在于,所述方法包括如下步骤:
步骤A1:建立代价模型;
步骤A2:采集所述代价模型所需的超步运行时间数据;
步骤A3:在符合写检查点间隔的超步,基于代价模型和采集数据计算以阻塞方式写检查点和以非阻塞方式写检查点的代价,选择代价较小的方式写检查点;其中:
所述建立代价模型,具体包括:
步骤A11:将以阻塞方式写检查点的超步和以非阻塞方式写检查点的超步置于统一的系统运行时下;
步骤A12:根据故障的发生时间得到当前系统运行时下以阻塞方式写检查点的代价计算公式和以非阻塞方式写检查点的代价计算公式其中表示以阻塞方式保存超步的状态所花费的时间,而表示故障发生后为恢复到超步所花费的重计算时间;
所述采集所述代价模型所需的超步运行时间数据,具体包括:
步骤A21:设置超步0写检查点的方式为阻塞式;
步骤A22:从超步0开始,采集每一超步用于本地计算的时间以及采用阻塞式写检查点的超步的写检查点的时间;
所述在符合写检查点间隔的超步,基于代价模型和采集数据计算以阻塞方式写检查点和以非阻塞方式写检查点的代价,选择代价较小的方式写检查点的步骤包括:
步骤A31:用当前超步数减去上一次写检查点的超步数,然后对用户设置的写检查点的超步间隔数取余,如果余数为0表明当前超步符合写检查点间隔,之后进入步骤A32;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010112138.6A CN111414338B (zh) | 2020-02-24 | 2020-02-24 | 一种分布式图处理系统中以混合方式写检查点的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010112138.6A CN111414338B (zh) | 2020-02-24 | 2020-02-24 | 一种分布式图处理系统中以混合方式写检查点的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414338A CN111414338A (zh) | 2020-07-14 |
CN111414338B true CN111414338B (zh) | 2023-05-12 |
Family
ID=71490953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010112138.6A Active CN111414338B (zh) | 2020-02-24 | 2020-02-24 | 一种分布式图处理系统中以混合方式写检查点的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414338B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750385A (zh) * | 2019-10-25 | 2020-02-04 | 东北大学 | 一种基于受限恢复的图迭代器及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3329613B1 (en) * | 2016-04-07 | 2020-09-09 | Thales Alenia Space Italia S.p.A. Con Unico Socio | Hybrid processor with switching control based on dynamic bandwidth allocation for multi-beam satellite systems |
-
2020
- 2020-02-24 CN CN202010112138.6A patent/CN111414338B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750385A (zh) * | 2019-10-25 | 2020-02-04 | 东北大学 | 一种基于受限恢复的图迭代器及方法 |
Non-Patent Citations (1)
Title |
---|
王童童等.分布式图处理系统技术综述.软件学报.2017,第29卷(第3期),49-66页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111414338A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7966354B2 (en) | Method and computer for supporting construction of backup configuration | |
CN102314391B (zh) | 一种基于硬件基础工具监视虚拟化系统性能的架构及方法 | |
Chandy et al. | Distributed simulation of networks | |
Quaglia | A cost model for selecting checkpoint positions in Time Warp parallel simulation | |
CN102959518A (zh) | 使用多个同时装置流的完全系统备份和增量备份的恢复 | |
CN108536972B (zh) | 基于自适应智能体的复杂系统可靠性仿真方法及系统 | |
WO2019196427A1 (zh) | 基于支撑故障事件约束机组组合的备用优化方法和装置 | |
CN103823748A (zh) | 一种基于随机Petri网的分区软件可靠性分析方法 | |
CN111007763A (zh) | 一种iic总线解锁的控制方法 | |
CN103744730A (zh) | 一种任务调度方法和装置 | |
CN111414338B (zh) | 一种分布式图处理系统中以混合方式写检查点的方法 | |
CN110659147B (zh) | 一种基于模块自检行为的自修复方法和系统 | |
CN103077080B (zh) | 基于高性能平台的并行程序性能数据采集方法及装置 | |
CN114153788A (zh) | 一种执行器的可追溯控制方法、执行器和控制系统 | |
CN113553216A (zh) | 数据恢复方法、装置、电子设备及存储介质 | |
CN112086178A (zh) | 医护自动化排班方法、装置、计算机可读存储介质及设备 | |
CN111459720A (zh) | 一种基于事务日志的Mysql数据恢复方法 | |
CN109992388A (zh) | 一种用于核电厂安全级设备软件多任务管理系统 | |
Carrasco | Efficient transient simulation of failure/repair Markovian models | |
Chen et al. | Low overhead incremental checkpointing and rollback recovery scheme on Windows operating system | |
Zhao et al. | Host-compiled reliability modeling for fast estimation of architectural vulnerabilities | |
Devaraj et al. | Exact task completion time aware real-time scheduling based on supervisory control theory of timed DES | |
Carnes | Software reliability in weapon systems | |
CN116185940B (zh) | 一种原子计数器的操作方法、装置、设备及存储介质 | |
CN113238892B (zh) | 一种分布式系统全局一致性的时间点恢复方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |