文摘
容错为大数据系统是非常重要的。尽管存在一些软件应用程序级技术故障安全在大数据系统中,有一个潜在的研究空间硬件水平。大数据需要处理廉价和更有效,传统的硬件架构,虽然充足,不是最优。在本文中,我们提出一个硬件级的容错方案大数据和云计算,可以使用与现有软件级容错对提高系统的整体性能。该方案使用并发错误检测(CED)方法来检测硬件级的缺点,借助可伸缩的错误检测码(上次)和检查程序。上次是一个所有单向错误检测(非盟)技术能够检测多个单向错误。上次方案利用数据分割和并行编码特性分配码字。因此,上次方案可以扩展到任何二进制数据长度“n”常延迟和更少的复杂性,对其他非盟计划相比,因此使它成为完美的候选人使用大数据处理硬件。我们也提出了一个新的区域、延迟和功率效率,基于上次更新的可伸缩的故障安全检查程序设计。为了显示我们的计划的有效性,我们相比基于硬件的容错与现有的成本用于HDFS和软件容错技术相比的性能提出了检查的区域,速度和功耗与著名的伯杰代码和m-out-of-2m代码检查。实验结果表明,拟议中的SEDC-based硬件级的容错方案大大降低平均成本与软件容错在大数据应用程序中,和提出了故障安全检查优于最先进的跳棋领域而言,延迟和功耗。
1。介绍
大数据是有前途的业务应用程序和迅速增长的IT行业的一个重要环节。大数据也打开门各领域重要的利益,包括远程医疗、电脑化银行业务,社会化网络服务(SNS),和卫星成像(1]。失败在许多这样的系统可能代表重大经济或市场份额的损失和负面影响一个组织的声誉2]。因此,它总是想,当故障发生时,造成的损害应该在一个可接受的阈值而不是整个任务从头开始,由于容错成为不可分割的一部分在云计算和大数据(3]。容错阻止计算机或网络设备失败事件的一个意想不到的错误(2]。最近的一项研究[4)表明,云应用程序的容错成本高的故障和网络延迟的概率是5%左右的应用范围大小,从而以更低的成本提供改进的性能。
受欢迎的大数据的容错方案框架Hadoop和MongoDB是由某种数据复制或冗余5,6]。MongoDB复制原始数据的二次设备。在一个错误的情况下,从二级或二级召回数据暂时充当初选。容错Hadoop依赖于数据的多个副本存储在不同的数据节点。虽然复制方案允许完整的数据恢复,它们消耗大量的内存和通信资源。因此,近年来,许多研究人员提出了容错算法改进的数据恢复,有效的故障检测,减少延迟在大数据和云计算2,5- - - - - -10]。所有的检测软件(SW)级别的故障。尽管故障传播由于硬件的瞬态错误也被这些计划,和基于软件的技术更灵活,需要处理的数据量检测故障成本更比硬件——(HW -)基于容错方案。最近的一项研究[11)调查数据损坏的原因在一个Hadoop分布式文件系统(HDFS),发现在处理上传文件,HW错误,例如磁盘故障和bit-flips处理器和内存产生难以正确处理的异常。刘等人。7)实现某种程度的HW-based容错的造型CPU温度预测日益恶化的物理机器。刘等人。7]提出了CPU温度监控作为一个必要步骤防止机器故障由于过热以及提高数据中心的能源效率。
帕克(12]讨论了如何在许多情况下,缺点是紧密的直接后果将数字和物理组件集成到一个单位在一个传感器节点或字段。事实上,许多现代系统严重依赖数字技术,系统的可靠性不能分解和划分为物理和软件组件之间的交互。有一个与存储相关的费用,这些高维数据的传输和分析。此外,许多SW-based方法模拟密集,这可能导致广泛实现的挑战。为了克服这些挑战,他建议机载嵌入式处理将一个实际的需求。
瞬态错误HW,如果传播,可能引起连锁反应的错误在SW层,导致潜在的失败在节点/服务器级别。HW级别的检测需要较少的计算时间(低单时钟周期)与检测在SW级别(几个机器周期),而简单的恢复机制称为HW层面重新计算可以节省大量数据交换和信号在SW级别。如前所述(13),大数据为半导体公司创造了机会发展更复杂的系统覆盖在大数据和云计算面临的挑战,和更多的功能集成到一个趋势的硅很可能继续下去。同时,由于半导体工艺的进步,有减少的成本数字组件(12]。由于这些原因,我们建议的检测瞬态故障,当他们出现在HW,通过HW-based容错方案,而SW-based容错呆在顶层作为第二检查HW错误和第一检查SW错误。因此,瞬态错误出现在HW大多是由轻量级HW一级处理与小开销(区域而言,权力,和延迟),节省巨大的计算资源在系统水平。大数据系统中潜在的灾难性后果证明开销由于HW-based容错方法。
另一方面,容错性也已成为不可或缺的一部分非常大规模集成电路(VLSI),规模,大规模和超大规模集成电路低功耗系统容易瞬态故障(14]。瞬态故障或软错误transient-induced事件造成的惊人的记忆力和逻辑电路集成电路发出的射线包和高能阿尔法粒子从宇宙射线14- - - - - -18]。另外,在多级细胞记忆像NAND闪存记忆,这些错误大多是由细胞间干扰和数据保留错误(19]。实物保护等保护、温度控制和接地电路并不总是可行;因此,在这种情况下,并发错误检测(CED)方法用于防止这些错误。由于CED电路添加系统的总体面积和延迟,选择适当的错误检测,甚至纠错,为特定的应用程序会导致一个有效设计电路(18]。据报道,最大的部分的错误发生在超大规模集成电路和记忆相关单向错误(问题)19- - - - - -21因为这些错误阈值电压水平转移到积极的或消极的一面(22),导致电路节点逻辑从“0”到“1”或从“1”到“0”,但不是在同一时间。
许多所有单向错误检测(非盟)计划已经提出并实施,其中伯杰代码技术(23]同意是最多余的。能够检测单,以及多位单向错误,这种技术提供了错误检测通过简单加法的逻辑0 (B0方案)或1 (B1方案)在信息词,表达其在二进制的总和。如果单词包含的信息“第一”伯杰代码需要位。伯杰代码检查器采用0(1)计数器电路reencoding信息单词检查位然后比较它与preencoded检查位使用two-rail检查器(23]。一连串的小蝰蛇和树two-rail跳棋要求设计这些检查电路23),面积和延迟大大增加数据长度增加。
m-out-of-n代码是一个有效的码字是“m”1和0“n - m”。这些代码也可以检测所有单向错误当n = 2 m。这种情况不仅增加了代码的大小,但也检查的区域。细胞m-out-of-2m代码的实现电路被拉拉认为[24]随着越来越多的地区和delay-efficient比之前的实现。
鉴于HW级别的容错的重要性在大数据和云计算的应用程序中,在本文中,我们提出一个故障安全(FS)上次检查使用上次更新代码(25]。FS检查器能够安全地隐藏或自检(检测)自己的错误发生时的电路。上次更新分区输入数据分成小段(2、3和4位)并将它们编码并行。这种独特的伸缩特性使得系统更快和更少的复杂设计任何二进制数据长度。FS上次检查器继承了所有这些特性(即上次更新代码。,simple scalability, constant latency, and less power dissipation) which suits its implementation in online fault detection in processors, cache memories, and NAND Flash-based memories for big data applications. The major contributions of this paper are as follows:(1)我们建议HW-level容错电路设计来处理大数据和云计算应用程序。(2)为了显示的有效性提出HW-level容错方案在大数据的情况下,我们比较相关的成本,没有提出的容错方案,结果显示显著减少总体成本的容错在大数据提出HW-based容错方案。(3)我们也提出了一个新的FS上次检查用于SEDC-based HW-level容错系统。(4)为了证明的优越性与最先进的非盟提出的FS上次检查检查,我们表明,FS上次检查程序达到最先进的性能就地区而言,延迟和功耗。
剩下的纸是组织如下。我们提出一个总体系统图提出HW-level容错系统的部分2。我们给一个简短的数学基础的上次更新方案和一个例子来编码逻辑电路中使用上次更新部分3。FS上次检查程序的设计细节描述的部分4。建议检查显示FS通过故障测试方法;和它的面积、延迟和功率与最先进的推导5。计算该SEDC-based容错系统的故障覆盖率和现在的实验细节和结果部分5。显示了该方法的有效性在大数据和云计算的应用程序中,我们也进行性价比分析西南级别的容错和HW水平部分5。最后,我们总结论文部分6。
2。整个系统的介绍
图1显示了一个基于错误检测码的主要组件HW-level容错。功能电路包括两个子电路:一个信息符号发生器(研究小组)和检查符号发生器(CSG)。这两个电路不共享任何逻辑。伊拉克研究小组需要输入和执行一些操作并产生输出 。CSG是精心挑选的逻辑函数,作为编码器和生成校验位使用相同的输入 ,这样 ,在那里表示特定的编码功能。检查器通常包含另一个编码器,reencodes比特的信息成 然后比较两和 。不匹配和被视为一个错误,指出的错误指示或验证信号 。
在图所示的检查程序1起着至关重要的作用在整个容错系统。检验员必须表现出自检财产或破损安全属性,以确保整个系统故障安全(FS)。如果检查自检和故障保护,整个系统是完全自检(TSC)。为了正式定义这些属性,让我们考虑功能的输出电路如图1是由 ,在那里是输入和是错,然后在无故障的操作,例如, ,输出可以表示为 。此外,考虑输入代码空间 ,输出代码空间 ,一组假定断层 ;然后根据完全自检(TSC)的定义,是(1)如果每个故障自检在存在至少一个输入代码 产生一个noncode输出;也就是说, ,(2)故障安全(FS)如果所有的缺点在 ,和所有的代码输入 ,输出是正确的或者是一个noncode词;也就是说, , 或 。
在提出SEDC-based HW-level容错系统,CSG电路实现由一个上次检查符号发生器(SCSG)电路,产生对应的上次更新码字比特的信息 。我们提出了一个实现一个上次SCSG编码电路(27),即。,an SEDC encoded arithmetic logic unit (ALU) of a microprocessor. The SEDC encoded ALU circuit (SCSG) computes the SEDC codes corresponding to the output of the ISG (in [27一个正常的ALU)。任何故障导致多个单向输出的错误检测到正常ALU上次检查程序。任何逻辑电路包括SRAM-based记忆细胞(28)可以通过编码容错的方法给出了(27,28]。在下一节中,我们简要介绍上次方案用一个例子来编码一个加法器电路,而在其余的纸我们关注该FS上次检查程序,可以用于任何SEDC-based HW-level容错系统。
3所示。可伸缩的错误检测编码(上次更新计划
可伸缩的错误检测编码方案(25)是一个非盟计划制定和设计以这样一种方式,只有合成电路面积扩大,而其延迟取决于输入数据的一小部分(稍后解释)。
对于任何二进制数据的长度位表示为 与 为 两个参数,和 ,计算使用 在参数只能带一个正整数的值,例如, 和参数 。满足条件的参数 ,的最大可能值参数被选中。上次的码字被表示为 与 为 ,在那里表示上次码字的长度,计算 计算后的值参数和 ,上次更新代码为二进制数据计算。上次更新的目的是生成代码基本上2 -,3 -,4比特数据,因此被称为上次更新2,上次3,上次4分别计划。然后扩展为任意整数的值 ,如图2(一个)。
(一)
(b)
3.1。上次更新2代码
2比特的二维(2 d)说明上次上次更新2如图)方案2 (b),节点代表数据的话,相应的码字是写在括号中。
上次更新的编码方案分配码字不同的数据与一个独特的标准。只要有一点的改变(或部分)在一个数据字从“1”“0”,与一个大胆的箭头在图所示2 (b)的变化是反映在码字在相反的方向;也就是说,的code changes from “0”“1”,用虚线箭头表示在图所示2 (b),反之亦然。方程(3)用于2比特分配码字2比特的数据的话 。显然,我们可以交换位置和上次更新的另一个变体2代码。这不会影响代码的特征。 在(3),位代表连接上次更新代码,和逻辑操作,和上次更新吗2是基本的编码方案。
3.2。上次更新3代码
上次更新3代码3-bit数据计算使用(4)如下: 酒吧的标志(如)(4)代表逻辑操作。
图3显示了一个3 d多维数据集,说明上次更新的单向错误检测机制3代码。使用了相同的符号在图3如图2 (b)。虚线一侧的立方体代表了嵌入式上次更新2编码方案在上次3。注意,当有一个2比特单向变化数据字“001”“111”(两位元改变从“00”“十一”),代码的变化方向相反(代码更改的最低有效位“1”“0”)。以类似的方式,方案检测一些或所有单向数据字中的错误 。
3.3。上次更新4代码
一个上次4代码4比特数据是由(5)如下: 码字的最高有效位是完全依赖于数据的MSB上次更新4;因此,任何改变的MSB检测到数据字。其余的三个数据位编码使用相同的上次3计划。
它可以观察到(3),(4)和(5)上次2是嵌在3-bit上次(上次更新3),因此在4比特上次上次更新4)来检测所有单向3-bit中的错误和4比特数据,如图所示。这种能力扩展代码不存在任何其他并发错误检测(CED)编码方案。
一般来说,对 ,的位二进制数据分组到一个一些片段,3-bit片段,这些片段,然后使用一个编码和数字/上次更新的数量3并行模块,如图2(一个)。值得注意的是每一组相应的数据段和代码段是相互独立的。这种独立性使我们的计划可伸缩,能够检测的一部分双向错误()(部分中讨论5。3)。
如果我们交换和对于上次3在图3,相应的上次3代码=伯杰3-bit段代码,但我们的推导上次更新的方法3代码是很多不同于伯杰代码。上次更新3从上次更新代码基本上是按比例缩小的2代码,上次2代码没有共性与2比特伯杰代码。
3.4。SEDC-Based HW-Level容错系统的例子
为了说明HW-level容错系统的设计使用上次的计划,我们把一个4比特加法器的例子。让我们考虑这4比特加法器是处理器处理大数据应用程序的一部分,我们要使这4比特加法器容错对瞬态电路出现错误,所以一般HW-level容错系统图如图1将被转换成一个如图4。如图4,4比特加法器作为研究小组及其等效上次编码器作为CSG。上次编码器或CSG可以实现使用(6)如下: 4比特加法器的输出是一个位值,因此相当于4比特值根据上次更新代码(2)。我们使用阿尔特拉的第四的II软件合成4比特加法器(研究小组),上次编码器(CSG),和上次检查器如图4计算和利用合成电路的故障覆盖率的上次更新方案,提出了部分5。3。在下一节中,我们提出的FS上次检查程序,完成整个提出SEDC-based HW-level容错系统。
4所示。FS上次检查程序
如图4,FS上次检查器信息比特和上次检查部分的功能单位。FS上次检查程序也是由一个位FS上次检查器套3-bit FS上次跳棋。与1 - 2 -,3-bit FS上次检查,输出可以直接用作一个错误指示信号,但对于 wired-AND-OR逻辑门的一个水平是用来将所有的子块的输出FS上次检查并生成2比特的错误指示信号。部分讨论逻辑电路图,原始FS上次检查上次更新1,上次2,上次3,上次4检查),可用于规模上次检查器一个位FS上次检查器(即。,FS检查)。
4.1。FS上次1检查程序
表1显示了1比特的逻辑上次(FS上次更新1)检查。有效的输入码字是“10”和“01”和有效的输出码字是“10”。表示1比特信息词研究小组的输出,和表示出上次上次检查符号发生器生成的校验位(SCSG)。是FS上次的2比特错误指示信号吗1检查程序。和信号产生电路如图5(一个)。
(一)
(b)
4.2。FS上次2检查程序
在图5、符号P1-P13 N1-N13代表了PMOS和NMOS晶体管,分别和Vss代表电压供应。为简单起见,我们使用了cmos上次检查电路的实现。其他技术可以用于设计这些电路,但底层算法,即。上次更新,将保持不变。
4.3。FS上次3检查程序
图6(一)显示了框图和3-bit FS上次检查程序的逻辑。三位数据从伊拉克研究小组和2比特上次检查部分从SCSG第一次转换和 ,分别检查,然后使用相同的2比特FS上次检查器,如图6(一)。当位为“1”,和倒,如果是“0”,然后呢和保持不变。的输出XOR门喂FS上次更新2检查器,XOR盖茨检测到任何错误。这使得整个3-bit上次检查器FS。
(一)
(b)
4.4。FS上次4检查程序
4比特FS上次检查器由一个FS上次更新1检查器和一个FS上次更新3检查器,如图6 (b)。都是上次1和上次3检查生成2比特输出 。因为有效的码字是“10”,确保检查单位生成“10”输出错误操作期间,我们”和”output-bit FS上次更新1检查与FS上次更新的输出位3检查程序。同时,我们”或者“output-bits FS上次检查器使用有线逻辑门。我们检查和故障仿真证实,有线和有线或盖茨也FS单一故障(stuck-at-0, stuck-at-1、transistor-stuck-on transistor-stuck-off)。
4.5。FS上次n检查程序
像上次更新代码生成器,FS上次检查器还包括多个1 - 2 -,和3-bit FS上次检查,根据的价值和从(1)。例如,如果 位,然后(1)⇒ 和 。这需要一个FS上次更新2检查器和两个FS上次更新3检查意识到一个8位FS上次检查程序。
的面积wired-AND-OR盖茨肯定还会增加是增加了。图7显示的框图位FS上次检查器。为 位,共有三个FS上次检查,每2比特输出;因此,3-input有线和和3-input有线或门需要比较所有和位。一般来说,对一些输入,有“ “FS上次检查,每2比特的输出。所以我们需要“ “固化有线和和有线或盖茨。每增加wired-AND-OR网络的输入,一个额外的每个连接所需的晶体管。这将导致扩大width-wise电路;因此,延迟连接逻辑为任何值保持不变 。
负载晶体管驱动这些有线和和的大小——盖茨也将增加与增加输入,所以我们考虑的最大扇入一等于4门。为 ,一个额外的负载晶体管并联连接。一般来说,k-inputs我们要求 负载晶体管。总共 晶体管设计所需k-input连线与或网络与一个常数延时1晶体管。
5。实验和结果
在本节中,我们目前的实验进行了FS上次检查器和整体提出SEDC-based HW-level容错系统。给出了每个实验的结果以及实验细节在下面的部分。
5.1。在FS上次检查故障测试
FS上次1,上次2,上次3,上次4电路在我们的论文检测stuck-at-0, stuck-at-1, transistor-stuck-ON, transistor-stuck-OFF缺点。我们假设一个故障模型,故障发生一次,和之间有足够的时间检测第一断层和另一个故障的发生29日]。在表2,我们提供的总结上次的故障分析1检查电路。我们应用一个故障电路的数字5(一个)和观察到的输出。在单故障操作中,电路产生正确的输出或从未产生任何无效的码字(表现出FS属性),如表所示2。
例1(晶体管困在)。在表2,我们显示所有6例晶体管困在断层(每次一个)。例N3或陶瓷坚持,显示了一个故障检测电路的输入代码组合(用*表示符号),因此,电路自检,而其他情况下显示电路故障安全以及代码分离。
例2(晶体管)。在表2,所有6例晶体管显示错误。在N1和N2被困的情况下,电路展示了自我测试属性(用*表示符号)和其他的情况下,电路故障安全。
例3(输入困在0)。当输入G0或年代0停留在0,电路展示了自我测试属性;否则,它仍然是故障安全。
例4(输入停留在1)。当输入G0或年代0是停留在1,电路显示自我财产;否则,它仍然是故障安全。
有一个情况下,输出成为浮动(即。、P3和P4)。在这两种情况下,如果我们考虑浮动电压为逻辑高,那么电路故障安全,如果我们认为浮动电压逻辑低,则自测试电路。因此,我们可以说,电路如图5(一个)1比特上次检查器,FS。类似的分析时进行了测试2 -,3 -,4比特上次检查,我们发现所有这些检查是FS。
5.2。面积、延迟和功率进行比较
在本节中,我们比较TSC伯杰的面积和延迟,FS上次,m-out-of-2m代码检查。我们使用的两种可能的TSC伯杰检查器实现Piestrak et al。23]和皮尔斯jr .)和拉拉[26从拉拉],m-out-of-2m代码检查器24)进行比较。为了公平,面积开销是等价的晶体管的数量来计算的。我们利用假设的史密斯(30.]翻译门电路级电路晶体管级电路。
对比之前,我们说明了功能的论述这三个的帮助下跳棋8。图8(一个)显示的一般框图TSC伯杰代码检查器。对符号的研究小组的所有信息功能电路可以产生在正常操作,检查符号补发生器(CSCG)输出对应的按位补料检查符号 。每个点的TSC two-rail检查验证是相应的补充一些吗 。当输入数据的大小增加时,检查符号的长度也会增加,导致TSC two-rail检查树长的长度,因此产生的延误。
TSC m-out-of-2m代码检查器的一般框图如图8(b),检查信息位和校验位和分区成两部分。1的数量,即。,的weight, of both parts are mapped to a pair of values which in binary belongs to a code, in most cases a two-rail code. The checker consists of a cellular structure of AND-OR gates as given by Lala [24]。
图8(c)描述的一般框图FS上次检查程序,类似于一个m-out-of-2m代码检查器的结构和不同于伯杰代码检查器。FS上次检查程序阻止接收信息和校验位的功能单位。如果输入数据长度增加,width-wise FS检查程序块的大小增加。FS块包含“ “对小上次跳棋(子块)。FS上次检查程序的每个子块产生“10”作为有效的代码输出。整个上次检查最后2比特的输出 ;two-rail代码不同,只有一个输出组合的“10”被认为是一个有效的码字。nonvalid检查器输出“00”,“01”,或“十一”输出表明存在故障功能的电路或FS检查程序本身。k-input有线与或网络的“ “双输出每个上次检查子块,然后将它们转换成最终2比特错误指示信号 。
5.2.1。面积开销
Area-optimized TSC伯杰的实现代码检查Piestrak et al。23]显示面积开销低于m-out-of-2m代码检查,这是明显的从图9。但是,如果我们考虑的delay-optimized实现TSC伯杰代码检查器从皮尔斯jr .和拉拉26),我们看到,TSC伯杰代码检查器需要更多的面积比FS上次和m-out-of-2m代码检查(24),如表所示3。为了清晰起见,我们列出的离散面积开销提供基于代码存储区域和代码检查器面积表3。还单独列出所需的面积开销委员会树TSC伯杰代码检查器,wired-AND-OR FS上次更新网络,m-out-of-2m代码检查器。
对于一个公平的比较,代码存储区域的额外成本也考虑在内。我们假设1比特存储由12-MOS晶体管实现(30.]。表3列出了区域(的晶体管数量而言)被FS上次,delay-optimized伯杰代码,和m-out-of-2m代码检查32位数据。
FS检查程序块如图8(c)需要更少的盖茨,实现[26 + (×50)]MOS晶体管如果“b = 2”(50 + 50 (×)] MOS晶体管如果b = 3,“和[58 + (×50)]MOS晶体管如果“b = 4。“拉拉的m-out-of-2m代码检查器实现(24]需要2米2- 2 m + 2门。门电路级电路也翻译晶体管级电路使用数据从史密斯30.]。
结果表明,当扩展一个7位0 8位的计数器0柜台的时候,154名MOS晶体管是必需的。m-out-of-2m代码检查器需要60 MOS晶体管当缩放7-out-of-14 8-out-of-16检查程序检查器,而上次检查器只需要18额外MOS晶体管。这是因为与一个上次7位上次检查器实现3和上次4包含50和58 MOS晶体管的电路,分别(总共108个晶体管)。一个8位使用一个上次上次检查器实现2和两个上次3跳棋,需要26 - 100 (50 x2)金属氧化物半导体晶体管(总共126个晶体管)。这意味着上次保存的晶体管数量的88%相比,伯杰代码检查器(26),它可以节省70%的晶体管相比m-out-of-2m代码检查。尽管伯杰和m-out-of-2m跳棋TSC,提出上次检查只是FS,所有三个跳棋提供相同的故障安全。
5.2.2。延迟
延迟而言,FS上次检查的表现也比伯杰和细胞实现m-out-of-2m代码检查器,如表所示4。为了一致性,我们设计了所有的基本盖茨使用相同的技术(PMOS晶体管= 8μ/ 2μNMOS = 4μ/ 2μ)和评估每个电路的最坏的传播延迟。
上次检查器显示了n > 3位几乎恒定延迟由于其并行实现,而推迟伯杰代码检查器增加由于门水平增加(6 - 16)的关键路径,如图所示,皮尔斯jr .和拉拉26]。延迟m-out-of-2m代码检查也继续增加增加数据的长度,因为细胞实现需要“m”(=输入数据长度)门水平的关键路径。
5.2.3。功耗
为了评估三个跳棋的功耗,正在我们使用功率分析仪的工具。我们实现了伯杰(24],m-out-of-2m [26,上次检查用Verilog,合成电路使用阿尔特拉的第二第四的软件。我们有针对性的气旋II EP2C5AF256A7芯片的电路,至少力量消散的属性中气旋的家庭。我们允许合成器创建一个区域之间的平衡和延迟而合成为了得到一个更好的估计。我们也使合成器使用合成模型,采取强化措施来优化这三个电路。我们用默认定时电路的输入切换率和估计的总热功率耗散输入数据宽度的不同价值观。
图10 ()显示了一个比较功耗之间的三个跳棋。伯杰和m-out-of-2m跳棋展出突然增加功耗输入数据宽度改变时从16位到32位,虽然上次更新显示最小的变化。这种情况由于two-rail跳棋的数量增加的情况下伯杰检查程序检查器和由于增加电路本身的m-out-of-2m检查器,在图中也显而易见10 (b),它描绘了一个区域对比的三个跳棋的#逻辑元素(LE)被检查。
(一)
(b)
5.3。错误的报道提出HW-Level容错方案
为了精心上次CSG的有效性及其FS检查器,我们计算的故障覆盖率的提议SEDC-based HW-level容错方案。我们在图的例子电路应用的缺点4节中,3所示。4。因为大多数组合电路VLSI设计的数学运算,如加、减、乘、部门等,由1比特小蝰蛇(全蝮蛇)的多个实例,因此电路的例子中,即4比特加法器,是一个简单和良好的候选人展示我们的方案的有效性。我们注入两个主要类型的瞬态错误,即,stuck-at-0 stuck-at-1 [29日),在24节点(每满6节点加法器,如图11 (b))。我们注入了这些错误使用2比1多路复用器,其输出是由 在图(11日),符号(握)、B(握),Cin, f_enable,和F[23:0]表示输入一个4位,4位输入B,比特的入库,1比特故障启动信号,和24位故障信号,分别,而Cout是外卖的食物和S(握)代表了4位和4位加法器的输出。图11 (b)显示了一个全加器的详细示意图。
(一)
(b)
我们认为故障只能发生在逻辑门的输出,采用单故障模型根据它只有一个故障可能发生一次(29日]。我们使用了阿尔特拉的第二第四的软件设计和合成整个系统,然后使用ModelSim仿真系统。我们设计了一个自检试验台来评估整体的故障覆盖率。的统计数据,总结了故障注入和它的结果表5。
总的来说,我们注入6425错误详尽,其中1748错误实际上引起了在加法器的输出电路逻辑错误。只有14.42%的这些注入故障导致双向错误(BEs),而大多数单向错误引起的故障(问题)。这也证明了这样一个事实,大多数的超大规模集成电路中的错误导致问题的输出(19- - - - - -21]。虽然上次更新是一个非盟计划,它提供了100%的故障覆盖率问题,它还成功地检测到47.62%的喜神贝斯,如表所示5。这是由于上次更新分区的原因输入数据字分成多个部分和独立编码和解码每个部分。因此,喜神贝斯的一个子集也划分到多个问题,从而提出了检测到的上次更新计划。
5.4。成本分析:SW-Based容错与HW-Based容错
在本节中,我们讨论故障传播的影响以及从失败中恢复的估计成本(也称为修复时间)在大数据计算在两种情况下:(a)当HW-based容错应用,和(b)只有SW-based容错应用。为简单起见,我们的分析,我们将协调检查点(CC)算法的例子,这是广泛使用在HDFS数据恢复(31日]。
在HDFS,图像是用来定义元数据(包含节点数据和一组块属于每个文件),而检查点定义图像的永久记录,存储在一个次要NameNode (SNN)(也称为DataNode)或者检查点节点,或在某些情况下主NameNode(并)本身。如果并使用CC数据恢复算法,分布在多个SNNs检查点。在正常操作期间,SNN发送心跳(通信信号)定期对所测试的。如果并没有收到心跳SNN的某些固定的时间,在SNN被认为是服务,和它所承载的块复制被认为是不可用。在这种情况下,并发起CC恢复算法,其中包括信号(控制信号到其他节点发送心跳)和复制的复制失败SNN数据(检查点上可用节点)到另一个节点在一个协调的方式(31日]。
对于我们的成本分析,我们要计算成本与CC相关数据恢复算法,我们假设一个云应用程序,如消息传递接口(MPI)程序组成逻辑过程,通过消息传递进行通信(心跳)。每个进程执行虚拟机和发送一条消息 过程以同样的概率。我们也考虑到消息发送,检查点,和故障发生事件是相互独立的。假设一个过程描述为一个序列的确定性事件,即。,every step taken by the process has a known outcome, and failure only occurs during message passing with equal probability and not during checkpointing or recovery, we use the analytical cost model given in [4)成本分析软件容错的水平。根据(4),表示一个过程的总执行时间没有容错和分别代表了检查点和故障恢复开销。然后,给出容错/过程的总成本 假设平均时间回滚一个失败的过程平均故障间隔时间 ,在哪里表示失败的概率,然后根据(4),平均回收率在CC /过程是由成本 让表示一个过程的概率检查点开始,的概率就流程不开始检查点 的概率就至少有一个进程启动一个检查点。因此,代表了检查点间隔。一个过程可以用概率的发起人检查点并生成请求(请求)和确认(ACK)的信号 noninitiators(总 信号),同样是一个noninitiator概率 并生成只有一个应答信号以响应启动程序。因此,有平均消息生成的检查点,平均每个检查点开销 ,在那里表示平均时间写一个检查站和一个稳定的节点表示平均网络延迟。然后,过程是由平均检查点成本 使用的成本模型(9),(10)和(11),我们进行了数据恢复的成本在CC算法参数, 流程(虚拟机), (一个检查点/ 15分钟), , , ,在(4]。我们认为的价值 这意味着100%的硬件的故障传播到SW水平没有HW-level容错,虽然每个故障发生后168小时(一个星期的时间)。在我们应用HW-level容错,失败的可能性减少到 ,价值0.755表明只有7.55%的故障未处理的提议HW-level容错系统(见表5)。我们改变上述参数通过保持一个常数的影响,观察数据恢复成本有或没有提出HW-level容错。
图在图12(一个)显示的平均成本数据恢复的进程数量增加从32到4096年(虚拟机)。我们考虑到一个应用程序分区流程和每个进程运行在一个虚拟机。的进程数量的增加导致数据恢复成本大幅增加CC算法因为每一个过程都有相互协调的失败。
(一)
(b)
图12 (b)描述了网络延迟对数据恢复的成本。在这种情况下,我们增加了网络延迟从2毫秒到300毫秒。网络延迟严重取决于交通状况、网络带宽、数据规模和活跃的网络中节点的数量。图12 (b)表明,增加网络延迟对数据恢复有一个负面影响,因为它需要更长的时间过程相互通信,导致延迟数据恢复。
图13说明了情况,我们增加了检查点频率从一个检查点每小时每分钟(1/60)到一个检查点。尽管检查点频率的增加提高了整体容错,它会增加容错开销,如图13。
最后,我们展示的效果增加失败的概率图的数据恢复的成本14。我们不同的故障频率从一个失败每1024小时每2小时一次失败,对容错开销造成了巨大的影响,如图14。但是,如果我们发现大部分的错误在硬件层面,数据恢复的平均成本降低到容许极限,如图14。
因为错误引起的HW水平,数据恢复的平均成本的百分比增加运行时在上述所有情况下要高得多,如果我们只应用在SW级容错。在四个参数,即。,# of processes, network latency, checkpointing frequency, and frequency of failure, frequency of failure has the worst effect on the average cost of data recovery. The proposed HW-level fault tolerance reduces the average cost to a tolerable limit, which is promising for big data and cloud computing applications. Although there is a one-time cost associated with HW-level fault tolerance, it provides high reliability against potential failures leading to severe socioeconomic consequences in big data and cloud computing.
6。结论和未来的工作
在本文中,我们提出了一个并发错误检测coding-based HW-level容错方案大数据和云计算。该方法使用上次更新代码来防止瞬态错误,这是一个主要的问题在现代超大规模集成电路。我们也提出一个FS上次检查程序,不仅可以检测功能电路中的错误但s-a-1下也仍然安全,s-a-0, s-open, s-short错误在检查电路。我们比较的性能提出了上次检查伯杰和m-out-of-2m检查区域而言,延迟和功耗,证明了提出上次检查器的优越性。使用4比特加法器电路的例子,我们提出了一个完整的SEDC-based HW-level容错系统和计算的故障覆盖率详尽的故障注入。的SEDC-based HW-level容错方法显示,100%,47%,和92.5%的故障覆盖率单向,双向,分别和完全错误。为了显示的有效性提出SEDC-based HW-level容错方法在大数据和云计算的应用程序中,我们比较容错的平均成本开销,没有HW-level容错。结果表明,HW-level容错减少失败的可能性由于瞬态误差,因此减少了容错的平均成本开销很大程度上与SW水平相比容错。
从微处理器等硬件级的进化,记忆,和并行计算设备,系统级的进步,如网络、数据安全、资源共享协议和操作系统、底层技术改变了很多自从大数据和云计算的出现。容错起着至关重要的作用在大数据和云计算,因为不确定的失败与大量的相关数据,在西南和HW水平。有鉴于此,我们认为,这项研究打开新的机遇容错硬件级的大数据和云计算。
的利益冲突
作者宣称没有利益冲突。
确认
本研究部分从朝鲜大学研究基金的支持下,2017年,西江大学科研资助2012(201210056.01)和MISP(科技部、信息通讯技术和未来的规划),韩国,根据国家卓越计划的SW(2015-0-00910)监督的IITP(信息与通信技术促进研究所)。