分布式系统的容错机制外文翻译资料

 2022-05-16 21:05:09

英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料


分布式系统的容错机制

Arif Sari, Murat Akkaya

摘要:当前计算机系统通过不同的通信媒介相互连接,对于技术的应用飞快的增长。我们的日常活动中使用的分布式系统通过数据分布得到改善。这是因为分布式系统使节点能够组织并允许其资源在连接的系统或设备中使用从而使人们与地理上分散的计算设施集成。 由于多个故障点上的多个系统故障,分布式系统可能导致缺乏服务可用性。本文重点介绍分布式系统中的不同容错机制,用于通过考虑分布式服务的替换,高冗余和高可用性来防止多个故障点上的多个系统故障。

关键词:容错机制、分布式系统、复制、冗余、高可用

1 引言

系统故障造成人为/经济损失,空中和铁路交通控制,电信损失等。对可靠容错机制的需求将这些风险降至最低。在分布式系统中,故障或故障是有限的或部分的,整个系统不会脱机或关闭。例如,具有多个处理核心(CPU)的系统,如果其中一个核心发生故障,系统将不会停止运行,因为这是系统中的一个物理核心,其他内核将继续正常运行和处理数据。因此分布式系统中的部件故障并非同等重要。在非分布式系统中,当其中一个组件停止运行时,将导致整个系统或程序发生故障,并停止相应的处理过程。

容错是用于将互联系统保持在一起,维持分布式系统中的可靠性和可用性的动态方法。 硬件和软件冗余方法是分布式系统中已知的容错技术。硬件方法确保在软件容错方法中增加一些硬件组件,如CPU,通信链路,存储器和I / O设备,同时包含特定的程序来处理故障。高效的容错机制有助于检测故障,并在可能的情况下从故障中恢复。

容错机制有很多种定义。在处理容错时,替换通常用于通用容错方法以防止系统故障[1][2]。Sebepou等人 强调了复制机制的三种主要形式[1][2]:

状态机;

过程对;

回滚恢复.

1)状态机

在这种机制中,计算机系统的进程状态同时在自治计算机系统上复制,所有副本节点都以类似或匹配的方式处理数据,并且副本节点之间的进程协调一致,并且所有输入都发送到 所有副本在同一时间[2] [3]。 活动副本是状态机的一个例子[3][4]。

2)过程对

进程对在复制协调中的功能类似于主/从链接。主工作站代替主设备将其相应的输入发送到辅助节点。两个节点都保持良好的通信链路[3] - [5]。

3)回滚恢复(基于检查点)

该机制会立即收集检查点并将这些检查点状态传输到稳定的存储设备或备份节点。 这使恢复过程中或恢复过程中可成功完成回滚恢复。检查点在最近的状态之前已被重建[3]-[6]。

2 分布式系统

分布式系统是不共享内存或时钟的系统,在分布式系统中,节点通过在通信介质上交换信息来连接和中继信息。分布式系统中的不同计算机具有自己的内存和操作系统,本地资源由使用资源的节点拥有。通过网络或通信介质访问的资源被称为远程资源[5]-[7]。图1显示了分布式环境中的系统之间的通信网络。在分布式系统中,执行规则池以同步通信网络上各种或不同进程的动作,从而形成一组不同的相关任务[6]-[9].

图1 分布式系统

独立系统或计算机在分布式系统通信环境中远程或本地访问资源,将这些资源放在一起形成一个可理解的系统。 分布式环境中的用户不知道确保任务执行准确的多个互连系统。 在分布式系统中,不需要单个系统,或者在处理任务时承担整个系统的负载[8][9]。

3 分布式系统架构

分布式系统的架构建立在现有的操作系统和网络软件之上[8]。分布式系统包括通过计算机网络和分布式中间件链接的自给自足计算机的集合。 分布式系统中的分布式中间件使相应的计算机能够管理和共享相应系统的资源,从而使计算机用户能够将系统看作单个组合计算基础架构[9][10]。中间件是连接跨不同地理位置,不同计算硬件,网络技术,操作系统和编程语言的分布式应用程序的链接。 中间件提供命名,并发控制,事件分发,安全性,授权等标准服务。图2显示了分布式系统架构,中间件为分布式环境中的连接系统提供服务[10][11]。

图2 一个简单的分布式系统架构

在分布式系统中,结构可以是完全连接的网络或部分连接的网络[12]-[15]。如图3所示,全连接网络是每个节点连接在一起的网络。这个网络的缺点是,当添加一台新计算机时,它实际上增加了连接到节点的节点的数量,因为网络将节点连接到节点。由于节点增加,文件描述符的数量和每个节点通信的难度都大大增加。文件描述符是用于访问文件或其他输入/输出资源(如管道或网络连接[15]-[17])的智能指标。因此,网络系统能够继续正常工作的能力仅限于连接节点打开文件描述符的能力以及管理新连接的能力。完全链接的网络系统是可靠的,因为从一个节点发送到另一个节点的消息通过一条链路,并且当节点失效或链路失败时,网络中的其他节点仍然可以与其他节点通信。

图3 完全连接的网络

在部分连接的网络中,某些节点具有直接链接,而其他节点不直接链接,部分连接网络的一些模型是星型结构网络,多路访问总线网络,环形结构网络和树形结构网络。 在图4-7中示出了相应的网络。这些网络中的缺点是:在Star设计的网络中,当主节点无法运行时,整个联网系统停止运行,它们就会崩溃。在多路访问总线网络中,节点通过通信链路“总线”相互连接。如果连接节点的总线链路无法正常工作,则所有其他节点无法互相连接,并且随着更多节点或计算机添加到系统或系统中出现大量流量,网络性能下降。在环形网络中,节点至少连接到网络中的两个其他节点,从而为连接的节点之间交换信号创建路径。随着新节点添加到网络中,传输延迟变得更长。如果某个节点出现故障,网络中的每个其他节点都可能无法访问。在树状结构化网络中,这就像一个具有层次结构的网络工作,网络中的每个节点都有一个固定数量的节点,它们在树的子层中连接到它。在这个网络中,从父节点传输到子节点的消息通过一个链接。

对于分布式系统的执行和功能按照构建,它必须具有以下特征; 容错性,可扩展性,可预测的性能,开放性,安全性和透明度。

图4 树形结构网络

图5 环状网络

图7 星形网络

图6 多路访问总线网络

4 容错系统

容错系统是分布式计算中的一个重要问题; 它使系统保持工作状态,可能出现故障。 其中最重要的一点是即使系统的任何部分发生故障,也能保持系统正常运行[18]-[20]。

要使系统具有容错能力,它与可靠的系统有关。 可靠性涵盖了容错系统中的一些有用的要求,这些要求包括:可用性,可靠性,安全性和可维护性。

可用性:这是系统处于就绪状态,并准备将其功能传递给相应的用户。 高度可用的系统可以在给定的时刻立即运行。

可靠性:这是计算机系统连续运行而不出错的能力。与可用性不同,可靠性是以时间间隔而不是即时来定义的。一个高度可靠的系统,可以长时间不间断地工作。

安全性:当系统无法正确执行相应的过程并且其操作不正确时,没有发生崩溃的事件。

可维护性:高度可维护性的系统同时也表现出高可用,特别是如果相应的故障可以通过机械方式发现和修复。

正如我们所看到的,容错系统是一个系统,它具有或能够保持正确运行并正确执行其程序,并在发生部分故障时继续运行[21][22]。尽管有时系统的性能会因发生故障而受到影响。 某些故障被缩小为硬件或软件故障(节点故障)或未经授权的访问(机器故障)。由容错事件引起的错误分为几类: 性能,缺省,计时,崩溃和故障停止[22]-[24]。

性能:指硬件或者软件组件不能满足用户的需求。

缺省:是组件无法实现许多独特命令的操作。

计时:这是组件无法在正确的时间执行命令的操作。

崩溃:某些组件崩溃而无响应,无法修复。

崩溃和故障停止:是当软件识别到错误时,终止了过程或动作,这是最容易处理的情况。

除错误时间外,还可以区分三种情况或形式:1)永久错误; 这些会导致软件组件的损坏,并导致程序永久性错误或损坏,从而阻止其运行或运行。 在这种情况下,程序重启完成,一个例子就是程序崩溃。 2)临时错误; 这只会导致对软件组件的短暂损坏,一段时间后损坏会得到解决,并且相应的软件会继续正常工作或正常工作。 3)周期性错误; 这些是偶尔发生的错误。 例如,当两个软件同时运行时有软件冲突。 在处理这种类型的错误时,退出其中一个程序或软件来解决冲突。

大多数计算机如果不是全部具有一些容错技术,例如微诊断[25] [26],奇偶校验[27] - [29],看门狗定时器[30] - [34]等,则不完全容错系统已内置 资源导致其指定的计算能力降低,并通过去除先前使用的某些程序或通过降低指定进程执行的速率而减少到更小或更低的系统。减少是由于操作硬件配置的减少或减慢,或者可能是硬件中的一些设计错误。

5 容错系统的基本概念

容错机制可以分为三个等级:硬件,软件和系统故障。

硬件容错:这涉及提供补充备份硬件,如: CPU,内存,硬盘,电源单元等。硬件容错只能通过提供基本的硬件备份系统来提供对硬件的支持,它不能停止或检测错误,意外干扰程序,程序错误等。 在硬件容错方面,构建了自动解决硬件组件故障的计算机系统。 这种技术通常将节点划分为性能单元作为故障控制区域,每个模块都备份一个防御冗余,原因是如果其中一个模块出现故障,其他模块可以执行或执行其功能。 硬件故障恢复有两种方法: 故障屏蔽和动态恢复[35]-[37]。

故障屏蔽:这是一种重要的冗余方法,可完全覆盖一组冗余单元或组件中的故障。 其他相同的单元执行或执行相同的任务,并指出它们的输出已消除由有缺陷的模块产生的错误。 常用的故障屏蔽模块是三重模块化冗余(TMR)。 TMR重复电路并选择[38][39]。选定的电气系统也可以重复三次,以便选择的电路故障可以通过相同的过程进行纠正。 TMR中选定的系统需要更多的硬件,这使得计算能够在检测到或发生故障时继续进行而不会中断,并且容忍要使用的操作系统[40][41]。

动态恢复:在动态恢复中,特殊机制对于发现设备故障,执行故障模块切换,放入备用设备以及执行恢复和继续计算所需的一些软件操作至关重要,如: 回滚,初始化,重试和重新启动。 这需要特殊的硬件和软件才能在单台计算机上工作,但在多计算机的情况下,该功能由其他处理器执行[42]-[45]。

软件容错:这是一种特殊的软件,用于容忍源于软件或编程错误的错误。 软件容错利用类似于用于硬件故障的静态和动态冗余方法[46]。N版本编程方法使用静态冗余,就像一个独立的程序一样,可以创建出在特殊检查点选择的相同功能。 另一种方法是设计分集,它通过在冗余通道中部署使用不同硬件和软件的容错系统来增加硬件和软件容错能力。 在设计多样性中,每个通道都旨在执行相同的功能,并且正在检查机制以查看是否有任何通道从其他通道改变。 设计多样性的目标是容忍硬件和软件的故障。 这种方法非常昂贵,其使主要用在飞机控制应用中。

注意:软件容错还包含检查点存储和回滚恢复。 检查点就像处于工作状态的整个系统的安全状态或快照。 这是定期完成的。 快照包含从检查点重新启动程序的所有必需信息。 软件容错的实用性在于创建一个应用程序,以定期为目标系统存储检查点。

系统容错:这是一个完整的系统,它不仅存储检查点,还检测应用程序中的错误,并自动存储内存块和程序检查点。 当发生故障或错误时,系统提供纠正机制,从而纠正错误。 表1显示了三种容错机制的比较。

表1 三种容错机制的比较

机制

硬件容错

软件容错

系统容错

主要技术

硬件备份

检查点存储

回滚恢复

错误检测和纠正的体系结构

复杂度

时间/资金成本

容错等级

6 分布式系统中的容错机制

6.1 基于复制的容错技术

基于复制的容错技术是最流行的方法之一。 这种技术实际上复制了其他系统上的数据。 在复制技术中,请求可以发送到另一个副本系统中的一个副本系统。 通过这种方式,如果一个特定节点或多个节点无法运行,它不会导致整个系统停止运行,如图8所示。复制会在系统中增加冗余。

复制协议有不同的阶段,即客户端联系,服务器协调,执行,协议,协调和客户端响应。 基于复制技术的主要问题是一致性,复制程度,按需复制等。

图8 基于复制的分布式系统技术。

一致性:这是复制技术中的一个重要问题。 由于更新可以由任何用户完成,同一个实体的多个副本会产生一致性问题。 数据的一

全文共18049字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[12317],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。