CN111414338B - 一种分布式图处理系统中以混合方式写检查点的方法 - Google Patents

一种分布式图处理系统中以混合方式写检查点的方法 Download PDF

Info

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
Application number
CN202010112138.6A
Other languages
English (en)
Other versions
CN111414338A (zh
Inventor
杨溢
徐辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN202010112138.6A priority Critical patent/CN111414338B/zh
Publication of CN111414338A publication Critical patent/CN111414338A/zh
Application granted granted Critical
Publication of CN111414338B publication Critical patent/CN111414338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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:将以阻塞方式写检查点的超步和以非阻塞方式写检查点的超步置于统一的系统运行时下;
步骤A12:根据故障的发生时间得到当前系统运行时下以阻塞方式写检查点的代价公式
Figure BDA0002390382460000021
和以非阻塞方式写检查点的代价公式
Figure BDA0002390382460000022
其中,所述采集所述代价模型所需的超步运行时间数据的步骤包括:
步骤A21:设置超步0写检查点的方式为阻塞式;
步骤A22:从超步0开始,采集每一超步用于本地计算的时间以及采用阻塞式写检查点的超步的写检查点的时间。
其中,所述在符合写检查点间隔的超步,基于代价模型和采集数据计算以阻塞方式写检查点和以非阻塞方式写检查点的代价,选择代价较小的方式写检查点的步骤包括:
步骤A31:用当前超步数减去上一次写检查点的超步数,然后对用户设置的写检查点的超步间隔数取余,如果余数为0表明当前超步符合写检查点间隔,之后进入步骤A32;
步骤A32:通过采集的时间数据计算出
Figure BDA0002390382460000023
Figure BDA0002390382460000024
步骤A33:比较
Figure BDA0002390382460000025
Figure BDA0002390382460000026
的值,如果
Figure BDA0002390382460000027
小于
Figure BDA0002390382460000028
则让系统在当前超步以阻塞方式写检查点;如果
Figure BDA0002390382460000029
大于或等于
Figure BDA00023903824600000210
则让系统在当前超步以非阻塞方式写检查点。
本发明的有益效果包括:
本发明采集了系统运行过程中的超步执行时间数据,然后在满足写检查点间隔的超步去计算以阻塞方式写检查点的代价和以非阻塞方式写检查点的代价,最后选取代价较小的方式去写检查点,从而最小化了写检查点给超步执行时间带来的开销,最终减少了写检查点给系统执行时间带来的开销。
附图说明
图1是现有技术中涉及以阻塞方式写检查点实施方式示意图;
图2是现有技术中涉及以非阻塞方式写检查点实施方式示意图;
图3是本发明实施方式的代价模型中考虑故障发生在t2和t3之间的示意图;
图4是本发明实施方式的代价模型中考虑故障发生在t1和t2之间的示意图;
图5是本发明流程图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
为了比较阻塞方式写检查点和非阻塞方式写检查点的代价,本发明构建代价模型来分析这两种方式的代价构成,从而得到这两种方式的代价计算公式。代价模型设定系统的运行时为系统当前位于超步Si的开始,并以在不久的将来发生故障后,系统恢复到超步Si开始状态的时间作为代价。
如图3所示,系统当前处于t1时刻,并且位于超步Si的开始,在t0时系统完成了保存超步Sl状态的检查点。显然,如果系统采用阻塞方式去写入保存超步Si状态的检查点,那么检查点直到t2时才会写入完成。而如果系统采用非阻塞方式写检查点,那么检查点直到t3时才可用。
依据代价模型,故障假定发生在t2和t3之间。如果系统采用阻塞方式写检查点,那么故障发生后系统直接恢复到超步Si的状态,也就是说以阻塞方式写检查点不存在恢复代价。但是为了实现这种直接恢复,系统不得不在故障发生前花费
Figure BDA0002390382460000031
去保存超步Si的状态。所以在式(1)中以阻塞方式写检查点的代价
Figure BDA0002390382460000032
Figure BDA0002390382460000033
构成。
Figure BDA0002390382460000034
与以阻塞方式写检查点不同,如果系统采用非阻塞方式写检查点,故障发生时检查点并未完成。那么为了恢复到超步Si开始的状态,系统不得不从超步Sl的状态开始重新计算。因此在式(2)中以非阻塞方式写检查点的代价
Figure BDA0002390382460000035
由重计算时间
Figure BDA0002390382460000036
构成。
Figure BDA0002390382460000037
接下来,还要考虑另一种发生在不久的将来的故障。图4描述了故障发生在t1和t2之间时的情况。如果系统采用阻塞方式写检查点,那么由于故障发生时检查点尚未完成,所以为了恢复到超步Si开始的状态,系统会从超步Sl的状态开始重新计算。这意味着在式(3)中以阻塞方式写检查点的代价
Figure BDA0002390382460000041
由重计算时间
Figure BDA0002390382460000042
构成。
Figure BDA0002390382460000043
与以阻塞方式写检查点相似,如果系统采用了非阻塞方式写检查点,那么故障发生后系统也会从超步Sl的状态开始重新计算。所以在式(4)中以非阻塞方式写检查点的代价
Figure BDA0002390382460000044
由重计算时间
Figure BDA0002390382460000045
构成。
Figure BDA0002390382460000046
另外,因为代价模型是基于故障发生在不久的将来这一设定来分析代价构成的,而非阻塞方式写检查点需要花费很多时间完成。所以为了简化模型,在代价模型中,故障发生在以非阻塞方式写检查点完成后的这一情况并不被考虑(例如:故障发生在t3后)。因此结合式(1)和(3)得到了如下的以阻塞方式写检查点的代价计算公式。
Figure BDA0002390382460000047
类似的,以非阻塞方式写检查点的代价计算公式由式(2)和(4)得到。
Figure BDA0002390382460000048
式(5)和(6)表明
Figure BDA0002390382460000049
Figure BDA00023903824600000410
与以阻塞方式写检查点的时间和每一超步用于本地计算的时间相关,因此在系统运行过程中,本发明将会采集与
Figure BDA00023903824600000411
Figure BDA00023903824600000412
相关的运行时间数据。在采集数据之前,由于系统的初始超步0没有时间数据去计算两种写检查点方式的代价,同时为了采集到以阻塞方式写检查点的时间,所以超步0的写检查点方式将会被预设为阻塞式。
之后系统在每一超步的开始会检查超步数是否满足用户设定的写检查点的超步间隔,判断依据采用当前超步数减去上一次写检查点的超步数然后对用户设定的间隔数取余的结果,如果结果为0则表明当前超步需要写检查点,然后开始计算
Figure BDA00023903824600000413
Figure BDA00023903824600000414
即计算
Figure BDA00023903824600000415
Figure BDA00023903824600000416
其中
Figure BDA00023903824600000417
的计算过程用式(7)表示,式(7)计算了从超步S0到当前超步Si前一个超步Si-1的以阻塞方式写检查点时间的平均值。
Figure BDA00023903824600000418
在式(7)中,如果超步Sj没有采取阻塞方式写检查点,那么
Figure BDA00023903824600000419
是0。而N表示的是以阻塞方式写检查点的超步的数量。
之后是
Figure BDA00023903824600000420
的计算,如式(8)所示,
Figure BDA00023903824600000421
的结果是上一个写完检查点的超步Sl到超步Si-1的本地计算时间之和,其中
Figure BDA00023903824600000422
表示的是超步Sj用于本地计算的时间。
Figure BDA0002390382460000051
在计算出
Figure BDA0002390382460000052
Figure BDA0002390382460000053
系统需要比较
Figure BDA0002390382460000054
Figure BDA0002390382460000055
显然根据式(5)和(6),比较
Figure BDA0002390382460000056
Figure BDA0002390382460000057
可以简化为比较
Figure BDA0002390382460000058
Figure BDA0002390382460000059
Figure BDA00023903824600000510
Figure BDA00023903824600000511
表明以阻塞方式写检查点的代价小于以非阻塞方式写检查点,此时系统采用阻塞方式写检查点。而如果
Figure BDA00023903824600000512
Figure BDA00023903824600000513
表明以阻塞方式写检查点的代价大于以非阻塞方式写检查点,此时系统采用非阻塞方式写检查点。
以上是分布式图系统中以混合方式写检查点的具体实施过程,在分布式图系统中,该方法可以通过方法1中的相关代码实现,方法1的代码如下所示:
Figure BDA00023903824600000514
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (1)

1.一种分布式图处理系统中以混合方式写检查点的方法,其特征在于,所述方法包括如下步骤:
步骤A1:建立代价模型;
步骤A2:采集所述代价模型所需的超步运行时间数据;
步骤A3:在符合写检查点间隔的超步,基于代价模型和采集数据计算以阻塞方式写检查点和以非阻塞方式写检查点的代价,选择代价较小的方式写检查点;其中:
所述建立代价模型,具体包括:
步骤A11:将以阻塞方式写检查点的超步和以非阻塞方式写检查点的超步置于统一的系统运行时下;
步骤A12:根据故障的发生时间得到当前系统运行时下以阻塞方式写检查点的代价计算公式
Figure FDA0004152701090000011
和以非阻塞方式写检查点的代价计算公式
Figure FDA0004152701090000012
其中
Figure FDA0004152701090000013
表示以阻塞方式保存超步的状态所花费的时间,而
Figure FDA0004152701090000014
表示故障发生后为恢复到超步所花费的重计算时间;
所述采集所述代价模型所需的超步运行时间数据,具体包括:
步骤A21:设置超步0写检查点的方式为阻塞式;
步骤A22:从超步0开始,采集每一超步用于本地计算的时间以及采用阻塞式写检查点的超步的写检查点的时间;
所述在符合写检查点间隔的超步,基于代价模型和采集数据计算以阻塞方式写检查点和以非阻塞方式写检查点的代价,选择代价较小的方式写检查点的步骤包括:
步骤A31:用当前超步数减去上一次写检查点的超步数,然后对用户设置的写检查点的超步间隔数取余,如果余数为0表明当前超步符合写检查点间隔,之后进入步骤A32;
步骤A32:通过采集的时间数据计算出
Figure FDA0004152701090000015
Figure FDA0004152701090000016
步骤A33:比较
Figure FDA0004152701090000017
Figure FDA0004152701090000018
的值,如果所述
Figure FDA0004152701090000019
小于
Figure FDA00041527010900000110
则让所述系统在当前超步以阻塞方式写检查点;如果所述
Figure FDA00041527010900000111
大于或等于
Figure FDA00041527010900000112
则让所述系统在当前超步以非阻塞方式写检查点。
CN202010112138.6A 2020-02-24 2020-02-24 一种分布式图处理系统中以混合方式写检查点的方法 Active CN111414338B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750385A (zh) * 2019-10-25 2020-02-04 东北大学 一种基于受限恢复的图迭代器及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750385A (zh) * 2019-10-25 2020-02-04 东北大学 一种基于受限恢复的图迭代器及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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