2. 广东工业大学 自动化学院,广东 广州 510006;
3. 粤港澳离散制造智能化联合实验室,广东 广州 510006
2. School of Automation, Guangdong University of Technology, Guangzhou 510006, China;
3. Guangdong-Hong Kong-Macao Joint Laboratory for Smart Discrete Manufacturing, Guangzhou 510006, China
边缘计算是云计算的扩展,是一种流行的计算范式,能使计算设备更接近终端用户,旨在为用户提供便捷且快速的计算服务。它通过云中心来进行计算资源分配。如图1(a)所示,每当任务到达一个边缘节点时,该边缘节点就会向云中心发送资源请求。然后,云中心确定应为该任务分配哪种类型的资源(云中心的或边缘的),并将资源分配的结果反馈给相关的边缘节点。收到分配结果后,请求节点将任务卸载(offload)到目标边缘节点。但是,因为边缘和云之间的网络延迟,这种集中式分配机制可能导致从发起请求到任务开始处理所需的时间较长,这实际上违反了边缘计算的设计目标(例如,快速响应)。
![]() |
图 1 传统边缘计算及CFN中的资源分配框架 Figure 1 Resource allocation framework in tranditional edge computing and CFN |
近年来,学者提出算力网络(Compute First Networking, CFN)[1],以解决边缘计算中的上述问题,如图1(b)所示。CFN是一种用于计算资源分配的新颖分布式框架,它可以根据计算负载和网络状态将任务动态路由到最佳计算节点。CFN平等对待边缘节点和云节点,并将它们集成到分布式计算资源池中,然后引入一个新的控制平面来管理资源池,以便智能地分配资源,从而满足用户的需求。如果用户的请求是实时任务,则控制平面会综合考虑网络条件和可用的计算资源,智能地向用户分配邻近资源。否则,它将任务卸载到云中心进行处理。
CFN采用分布式框架为任务分配计算资源。它利用众多具有异构计算能力且在地理上分散的边缘/云节点构造一个公共计算资源池。在CFN中,一个任务可能被多个节点本地或远程地处理。这些节点之间网络连接的多样性和由此带来的网络延迟,以及节点计算能力的巨大差异,使得监控任务的处理状态非常困难。即使可以监控状态,在分布式框架中检测任务或虚拟机(Virtual Machine, VM)故障通常需要花费很长时间[2-3]。此处,故障是指当任务或VM的程序抛出运行时发生异常。另一方面,CFN要求本地或远程计算资源的可用状态应实时可见,以便有效地从计算池分配资源。因此,需要一种能够及时、远程地检测任务或虚拟机故障的机制,以快速回收这些故障所占用的资源。
1.1 动机CFN现在处于起步阶段,并不提供获取本地或远程计算资源实时可用性的机制。IP网络或云计算中流行的故障检测方法也不适用于CFN。例如,IP网络中的双向转发检测协议[4]主要用于检测网络设备的故障,而不是任务或VM的故障。云计算中Hadoop的JobTracker[5]主要用于检测本地任务故障,而不是远程检测。因此,在CFN的分布式框架下,任务是在多个节点中本地或远程处理的,它需要一种新颖的远程故障检测设计以及时监控任务和VM的状态。
1.2 贡献借鉴传统的Watchdog timer[6]思想,本文设计并分析了一种新颖的故障检测协议CFN-Watchdog(简称Watchdog),以解决上述CFN中本地或远程计算资源的可见性问题。本文的贡献总结如下。
(1) 提出Watchdog,这是第一个在CFN中的集中式任务和VM故障检测协议,可远程监视边缘计算中分布式计算资源的可用状态。在本文的协议中,许多Watchdog客户端定期向连接到CFN的一个Watchdog服务器报告其监视VM的状态。受益于集中协议的快速响应特点,CFN的控制平面可以实时显示其托管资源状态,并及时回收故障所占用的资源。
(2) 建立理论模型分析所提的Watchdog协议的性能。本文的模型考虑重要参数,包括检测阈值、任务处理时间和网络延迟,并阐述对系统吞吐量造成影响的误报(false alarm),以及错误事件的漏检(miss detection)。本文的模型能够为Watchdog协议选择最佳的参数设置。
(3) 运行大量的仿真,以验证该设计的有效性和理论模型的准确性。
本文的其余部分安排如下。第2节总结了相关工作。第3节概述了CFN。第4节设计了CFN-Watchdog协议。第5节从理论上分析了CFN的吞吐量。第6节评估系统性能。第7节总结了本文工作。
2 相关工作在本节中,列出了有关传统网络、云计算和边缘计算中故障检测的相关工作。高可用性是计算框架的关键要求,其基本思想是检测故障或错误,然后执行恢复策略。
2.1 传统网络中的故障检测在传统的网络体系结构中,可以使用某些方法来实现故障检测。典型的代表是Internet控制报文协议(Internet Control Message Protocol, ICMP)[7],双向转发检测协议(Bidirectional Forwarding Detection, BFD)[4],单向主动测量协议(One-way Active Measurement Protocol, OWAMP)[8]和连接故障管理(Connectivity Fault Management, CFM)[9]。
ICMP[7]协议通过判断接收方是否可以通过一次ping操作成功反馈其状态来检测故障。虽然ICMP可以用于检测任何设备,但其缺点是只能进行单向故障检测,并且检测频率很低。BFD[4]是一种双向检测机制,参与检测的双方都可以通过hello数据包确认对方是否仍在正常运作。BFD侧重于发现相距一跳邻居设备的故障,而无法处理相距多跳设备的场景。OWAMP[8]是基于TCP连接的网络性能测试协议。它不仅可以检测故障,而且可以高精度地测量网络性能。但是,OWAMP需要基于NTP的时间同步,因此需要更多的控制开销。CFM[9]是基于数据中心方案的连接故障检测协议,它采用定期检测的方式在更大的范围内维持所有网络的稳定运行。但是CFM过于复杂,不适合CFN场景。
所有这些故障检测方法都仅用于检测网络连接的问题,而不是检测任务执行的状态。因此,它们不能应用于CFN[1, 10]。
2.2 云计算中的故障检测随着网络技术的发展,云计算中心[11]取代了传统的数据中心,相关技术也在不断发展,其中包括故障检测。在云计算场景中,典型的故障检测技术是Hadoop下的JobTracker[5]或storm下的nimbus[12]。对于这种情况,典型的参考文献包括[5, 13-15]。
文献[5]提出了一种通过自适应检测心跳数据包来检测任务是否可以成功完成的解决方案。它通过匹配软件的统计状态和心跳条件的反馈来判断任务的执行是否失败,然后决定采用哪种失败处理策略。但是文献[5]并未考虑网络延迟的影响,这将导致误检率的提高。文献[13]提出了一种基于机器学习的故障检测方法,该方法通过检测节点的心跳反馈来判断运行状态。此外,通过调度方法,故障恢复将有序地执行。文献[14]提出了一种故障感知调度方法,可以避免故障造成的损失。该方法是预先预测任务是否有风险,并在任务失败时立即安排备份以进行替换,从而将故障损失降至最低。文献[14]则专注于优化故障恢复策略,而不是故障检测。它们的方法在云计算场景中具有一定的影响。但是,CFN场景不同于云计算场景,其拥有异构计算资源。因此,如果节点没有足够的计算能力来提供备份,则不建议使用此方法。文献[15]基于验收测试的思想,设计了大规模云场景中的故障检测机制。基于匹配检测的基本思想,它可以匹配包括软件故障、黑客攻击等不同故障场景,并建立了更直接的检测模型。但是它们没有考虑网络链接的影响。
上述方法专注于检测软件故障,而不是网络连接故障,不能应用于网络链路不稳定、时延波动范围大的CFN场景。
2.3 算力网络和边缘计算中的故障检测雾计算[16]和边缘计算[17-18]扩展了云计算的功能并满足应用程序实时性和低延迟的要求。在雾计算中,通常在物联网网关或局域网的节点中处理任务。在边缘计算中,任务直接在边缘设备(例如传感器、智能手机、iPad)上处理。但是它们的两种集中式分配机制都可能导致从发起请求到任务开始处理的持续时间很长。为了解决该问题,CFN[1]被提出。作为用于边缘计算的新型分布式计算框架,它采用分布式方式为任务分配计算资源,其可以在本地或远程处理任务。但是,在分布式框架中检测任务或VM故障通常需要很长时间。一方面,CFN现在处于早期研究阶段,还没有这样的机制来获取本地或远程计算资源的实时状态。另一方面,常规网络中的传统故障检测协议(例如,BFD[4])主要用于检测网络设备的故障,而不是VM故障。Hadoop在云计算中的JobTracker[5]主要用于检测本地任务故障,而不是远程检测。因此,它们不能直接应用于CFN。本文首次提出名为CFN-Watchdog的故障检测协议,以检测本地和远程故障,从而可以及时回收故障所占用的资源。
3 算力网络本节阐述了CFN中边缘节点之间的交互逻辑。首先,给出边缘节点中组件的概述;然后,详细说明它们之间的交互,以分别说明边缘节点中的资源分配和任务处理。
CFN是用于边缘计算[10]的分布式计算框架,它由控制平面和统一的计算资源池组成(如图1 (b)所示)。控制平面负责将资源分配给任务,而资源池负责管理边缘/云节点的资源。控制平面由任务代理和VM管理器(VM manager)组件组成(如图2中所示)。任务代理(Task agent)组件缓冲任务并为任务分配资源。VM管理器组件创建用于任务处理的VM,并在任务完成或检测到故障后释放VM。此外,资源池由VM和IP底层(IP underlay)组件组成(如图2中所示),并负责资源管理。VM组件包含用于执行任务的多个VM。IP底层组件为边缘/云节点之间的通信(例如,卸载任务)提供网络资源。
![]() |
图 2 CFN中看门狗协议的概览 Figure 2 An overview of watchdog protocol for CFN |
当任务到达CFN中时,任务代理首先会缓冲任务,然后,代理提取此任务的资源要求,再将可用资源查询请求发送到VM管理器。最后,代理判断可用资源量是否足以执行任务。如果有足够的可用资源,任务代理将处理当前节点中的任务处理请求。否则,代理会智能地考虑网络条件和可用资源的数量,找到可以执行任务的另一个节点,然后通过IP底层组件将其卸载到目标节点。
对于任务的处理,任务代理首先将具有任务资源需求的VM创建请求发送到VM管理器。然后,VM管理器将启动VM,并部署任务。任务完成后,任务代理将收集任务执行的结果。最后,代理将向VM管理器发送请求,以停止并释放VM。
3.1 Watchdog协议为了在CFN中支持所提的Watchdog协议,VM需要添加新功能,通过kick数据包报告其状态。在VM的生命周期中,VM会定期将kick数据包发送到Watchdog客户端。本文基于用户数据报协议(User Datagram Protocol,UDP)设计kick数据包,从而无需接收相应的确认数据包,降低了通信成本,因此适用于边缘节点。其payload部分包括以下字段:
(1) kickID:标识kick数据包的唯一ID;(2) vmID:发送kick数据包的VM的唯一标识ID;(3) nodeID:发送kick包的VM所在宿主节点的唯一标识ID;(4) sendTime:VM发送kick数据包的时间。
Watchdog客户端是一个将kick数据包从VM中继到Watchdog服务器的进程。虚拟机启动后,它将在边缘/云节点的虚拟化管理平台(hypervisor)中运行。
一旦一个VM和相应的Watchdog客户端被创建,系统就通知Watchdog服务器开始监控VM,并连续向CFN控制平面报告其状态,直到该VM被释放。首先,服务器估算从其到托管VM的节点的平均网络延迟(例如,通过ping数据包)。其次,服务器根据延迟设置阈值
位图(bitmap)机制用于根据接收到的kick数据包连续检测故障事件,能够减少由于网络延迟或传输错误[19]而导致的false alarm。当需要监控一个执行任务的VM时,Watchdog服务器首先根据一个阈值
(1) 构造bitmap数组。Watchdog服务器可能会收到在
(2) 使用滑动窗口
![]() |
图 3 看门狗监控的bitmap Figure 3 Bitmap for watchdog monitoring |
阈值用于避免false alarm问题。引入阈值设置的原因解释如下。边缘/云环境中的网络延迟在很大范围内变化,这会影响kick数据包的到达时间(例如,kick数据包可能无法及时到达)。在这种情况下,Watchdog服务器将错误地判断有故障事件发生(即false alarm)。因此,需要为Watchdog服务器设置一个阈值,以防止网络延迟对kick数据包的影响。
阈值的设置基于Watchdog服务器与受监控VM所在的边缘/云节点之间的网络延迟。首先,当创建并启动一个VM时,Watchdog服务器将通过ping数据包估计与该VM之间的网络延迟。其次,服务器将检查延迟阈值映射表以找到合适的阈值(该表可以手动维护,也可以使用机器学习方法维护)。最后,设置阈值并用于监控VM。
4 理论分析本节将从理论上分析所提出的CFN-Watchdog协议的吞吐量。首先给出模型假设,然后定义VM和Watchdog之间的交互情况(interaction cases),最后给出吞吐量。
4.1 模型假设首先进行模型假设:
(1) 每当任务到达时,系统都会为该任务创建一个VM,然后以
(2) Watchdog与VM保持完美的时间同步,以监控VM的状态。
① 对于VM,如果它可以正常运行以处理任务,它将在时刻
② 对于Watchdog,它将在每次
(3) kick或bite数据包的网络延迟遵循指数分布。
4.2 交互情况考虑一个VM。本文定义以下变量。
(1)
(2)
![]() |
图 4 X0和Y1的示例,其中r=2以及T=5 Figure 4 Examples of X0 and Y1, where r=2 and T=5 |
$ g\left(x\right)= \lambda {{\rm{e}}}^{-\lambda x},x\geqslant 0 $ | (1) |
(3)
(4)
$ f\left( {y;b} \right) \buildrel \Delta \over = f\left( {y{\rm{|}}0 \leqslant Y \leqslant b} \right) = \frac{{\lambda {{\rm{e}}^{ - \lambda y}}{\rm{}}}}{{1 - {{\rm{e}}^{ - \lambda b}}{\rm{}}}},0 \leqslant y \leqslant b $ | (2) |
然后根据VM是否出错(
![]() |
图 5 8种情况的树 Figure 5 Tree of 8 cases |
在分析每种情况下发生的概率以及VM在每种情况下消耗的时间之前,定义以下事件。
(1)
(2)
(3)
(4)
通常,VM在时刻0开始执行任务,并在时刻
$ {P}_{{\rm{err}}_{i}}= {(1-{p}_{\rm{err}})}^{i} {p}_{\rm{err}} $ | (3) |
$ {P}_{\rm{suc}}= {(1-{p}_{\rm{err}})}^{T} $ | (4) |
下文详细介绍情况1、2、3,其他情况的分析方法与之类似。
4.2.1 情况1和情况3在这2种情况下(如图5所示),VM正常运行,并且正常事件(normal event)的发生使得VM由于未收到任何bite数据包而成功完成任务。未收到任何bite数据包的情况有2种:(1) 无bite数据包发送,对应情况1;(2) bite数据包超时,对应于情况3。下面,描述每种情况。
(1) 在情况1中,有两种因素导致无bite数据包发送:一种是任何kick数据包都没有超时;另一种是第
![]() |
图 6 情况1的例子 Figure 6 Examples of case 1 |
(2) 在情况3中,normal event是因为bite数据包超时而发生的。图7给出了情况3的正常事件的示例,该例子中由于第
![]() |
图 7 情况3的例子 Figure 7 An example of case 3 |
令
$ {P}_{\rm{nor}}= 1 –{P}_{\rm{fa}} $ | (5) |
其中
令
$ {T}_{\rm{nor}}=T $ | (6) |
在这种情况下(如图5所示),VM正常运行,但是false alarm事件的发生错误地终止了正常运行的VM的执行。假设VM发送第
![]() |
图 8 情况2的例子 Figure 8 An example of case 2 |
令
令
kick或bite数据包的网络延迟具有概率密度函数
$ \begin{split} {P_{{\rm{f}}{{\rm{a}}_0}}} =& P( {{A_0}\cap {B_0^c} } )= P({X_0} > r) P( {0 + r \leqslant 0 + r + {Y_0} \leqslant T} )= \\& \mathop \int_r^{ + \infty } g( x ){\rm{d}}x \mathop \int_0^{T - r} g( y ){\rm{d}}y = {{\rm{e}}^{ - \lambda r}} ( {1 - {{\rm{e}}^{ - \lambda ( {T - r} )}}} )\\[-16pt] \end{split} $ | (7) |
然后,计算
$ {T}_{{\rm{fa}}_{0}}=r+ E\left({Y}_{0}\right|0\leqslant {Y}_{0}\leqslant {b}_{0}) $ | (8) |
注意到,随机变量
$ \begin{split} & E\left( {{Y_0}{\rm{|}}0 \leqslant {Y_0} \leqslant {b_0}} \right) = \mathop \int _0^{{b_0}} {y_0}f\left( {{y_0};{b_0}} \right){\rm{d}}{y_0} = \\& \frac{{\displaystyle\int \nolimits_0^{{b_0}} {y_0}\lambda {{\rm{e}}^{ - \lambda {y_0}}}{\rm{d}}{y_0}}}{{1 - {{\rm{e}}^{ - \lambda {b_0}}}}} = \frac{{{{\rm{e}}^{ - \lambda \left( {T - r} \right)}}\left( {1 - \lambda i - \lambda r + T\lambda } \right) - 1}}{{\lambda ({{\rm{e}}^{ - \lambda \left( {T - r} \right)}} - 1)}} \end{split} $ | (9) |
$ \begin{split} & {P_{{\rm{f}}{{\rm{a}}_i}}} = P( {\mathop \cap \limits_{h = 0}^{i - 1} A_h^c {\cap {{A_i}} } \cap {B_i^c} } ) = \\& \mathop \prod \limits_{h = 0}^{i - 1} P( {0 \leqslant {X_h} \leqslant r} ) P({X_i} > r) P( {i + r \leqslant i + r + {Y_i} \leqslant T} ) =\\& {( {1 - {{\rm{e}}^{ - \lambda r}}} )^i} {{\rm{e}}^{ - \lambda r}} ( {1 - {{\rm{e}}^{ - \lambda ( {T - r - i} )}}} )\\[-13pt] \end{split} $ | (10) |
接下来,计算
$ \begin{split} & {T_{{\rm{f}}{{\rm{a}}_i}}} = i + r + E({Y_i}|0 \leqslant {Y_i} \leqslant {b_i}) = \\& i + r + \frac{{{{\rm{e}}^{ - \lambda \left( {T - r - i} \right)}}\left( {1 - \lambda i - \lambda r + T\lambda } \right) - 1}}{{\lambda ({{\rm{e}}^{ - \lambda \left( {T - r - i} \right)}} - 1)}} \end{split} $ | (11) |
$ {P}_{{\rm{fa}}_{i}}= 0 $ | (12) |
$ {T}_{{\rm{fa}}_{i}}= 0 $ | (13) |
下面,可通过式(14)计算
$ {P}_{\rm{fa}}=\sum\limits _{i=0}^{T-1}{P}_{{\rm{fa}}_{i}} $ | (14) |
因此,normal event发生的概率
$ {P}_{\rm{nor}}=1-{P}_{\rm{fa}}=1-\sum \limits_{i=0}^{T-1}{P}_{{\rm{fa}}_{i}} $ | (15) |
现在可以计算系统吞吐量(
$ {\rm{Thg}}=\frac{{P}_{\rm{suc}} {P}_{\rm{nor}} {T}_{\rm{nor}}}{M+N} $ | (16) |
式(16)的分子表示虚拟机成功执行任务的平均时间;分母表示VM处理任务的平均时间,即从VM开始处理任务的时刻到VM结束处理任务时刻的平均时间。分母包括没有错误发生时(即
$ M = {P_{\rm{suc}}} \Bigg( {{P_{\rm{nor}}} {T_{\rm{nor}}} + \mathop \sum \limits_{i = 0}^{T - 1} \left( {{P_{{\rm{f}}{{\rm{a}}_i}}} {T_{{\rm{f}}{{\rm{a}}_i}}}} \right)} \Bigg) $ | (17) |
其中情况1和情况3详细说明了
$ \begin{split} N = &\mathop \sum \limits_{i = 0}^{T - 1} \left( {{P_{{{\rm{err}}_i}}} {P_{{{\rm{det}}_i}}} {T_{{{\rm{det}}_i}}}} \right) + \mathop \sum \limits_{i = 0}^{T - 1} \left( {{P_{{{\rm{err}}_i}}} {P_{{{\rm{miss}}_i}}} {T_{{{\rm{miss}}_i}}}} \right) +\\& \mathop \sum \limits_{i = 1}^{T - 1} \Bigg( {{P_{{{\rm{err}}_i}}} \mathop \sum \limits_{j = 0}^{i - 1} \left( {P_{{{\rm{fa}}_{i,j}}}^{\rm{err}} T_{{{\rm{fa}}_{i,j}}}^{\rm{err}}} \right)} \Bigg) \end{split} $ | (18) |
其中情况4可以给出
在本节中,将进行广泛的仿真,以评估CFN-Watchdog设计的有效性和理论模型的准确性。
令
![]() |
表 1 参数设置 Table 1 Parameter settings |
图9和图10使用表1的设置(a)绘制了Thg和Normal,FA,Det,Miss,FAErr的概率趋势图。在此仿真中,将平均网络延迟
![]() |
图 10 各种情况下事件发生的概率随着成功执行一个任务时间的变化趋势 Figure 10 Probabilities of event of each case happening vary as time of successfully executing a task varies |
图9绘制了
![]() |
图 9 Thg随着成功执行一个任务时间的变化趋势 Figure 9 System throughput varies as time of successfully executing a task varies |
图10绘制了当
(1) 随着
(2) FA的概率先缓慢增加然后降低,而FAErr的概率随着
(3) 随着
在表1的设置(b)下,图11和图12展示了Thg和Normal,FA,Det,Miss,FAErr的概率。本文将平均网络延迟
图11显示系统吞吐量首先下降到最小值,然后随着平均网络延迟从0.5~5的变化而缓慢增加。下降的主要原因是FA和FAErr的概率都有所增加,而增长的主要原因是,FA和FAErr的概率都缓慢递减了。这意味着FA和FAErr事件占据整个系统运行时间的时间首先增加,然后缓慢减少。
![]() |
图 11 Thg随着平均网络时延的变化趋势 Figure 11 System throughput varies as mean network delay varies |
图12分别绘制了平均网络延迟
![]() |
图 12 各种情况下事件发生的概率随着平均网络时延的变化趋势 Figure 12 Probabilities of event of each case happening vary as mean network delay varies |
(1) FA和FAErr的概率均随着
(2) Normal的概率先降低,然后随着
(3) 随着
图13和图14分别绘制了Thg,Normal,FA,Det,Miss,FAErr的概率变化趋势。通过在表1中的设置(c)进行仿真和理论计算来获得这些结果。在此仿真中,设置参数
图13绘制了
![]() |
图 13 Thg随着单位时间VM出错概率的变化趋势 Figure 13 System throughput varies as probability of VM error per unit time varies |
图14显示了当
![]() |
图 14 各种情况下事件发生的概率随着单位时间VM出错概率的变化趋势 Figure 14 Probabilities of event of each case happening vary as probability of VM error per unit time varies |
(1) 随着
(2) 当
(3) Det和FAErr的概率相对较小,因为此仿真实验中采用的
图15绘制了系统吞吐量,其中Watchdog的阈值
![]() |
图 15 Thg随着看门狗阈值的变化趋势 Figure 15 System throughput varies as threshold for watchdog varies |
图16绘制了系统正常完成的任务数量变化图,该数量变化随着单位时间VM的
![]() |
图 16 正常完成任务的数量随着单位时间VM出错概率的变化趋势 Figure 16 Amount of normally finished tasks varies as probability of VM error per unit time varies |
从图16中,可以看出:
(1) 随着
(2) 随着
此外,由于仿真结果与理论结果之间的平均相对误差在图9,图11,图13和图15中均低于0.4%,因此本文的理论模式的准确性很高。
6 总结在边缘计算中,CFN最近被提出以加速资源调度和任务分配。它要求实时了解本地和远程计算资源的可用状态。本文首先提出了一种名为CFN-Watchdog的集中式故障检测协议,提供CFN所需的可见性。本文的Watchdog协议可以及时回收故障所占用的资源,并显著地提高系统吞吐量。建立了一个理论模型,分析各种设计参数对系统吞吐量的影响。进行了大量的仿真,验证了本文提出的协议非常有效,并且理论模型非常准确。
[1] |
LI Y. Framework of compute first networking (CFN) draft-li-rtgwg-cfn-framework-00[EB/OL]. (2019-11-04) [2021-07-15].https://datatracker.ietf.org/doc/html/draft-li-rtgwg-cfn-framework-00.
|
[2] |
SONG Y, YAU S S, YU R, et al. An approach to QoS-based task distribution in edge computing networks for IoT applications[C]//2017 IEEE International Conference on Edge Computing (EDGE). Honolulu, HI: IEEE, 2017: 32-39.
|
[3] |
VARGHESE B, WANG N, BARBHUIYA S, et al. Nikolopoulos. challenges and opportunities in edge computing[C]//2016 IEEE International Conference on Smart Cloud (SmartCloud). New York: IEEE, 2016: 20-26.
|
[4] |
KATZ D, WARD D. Bidirectional forwarding detection (BFD)[EB/OL]. (2010-06) [2021-07-15]. https://datatracker.ietf.org/doc/html/rfc5880.
|
[5] |
ZHU H, CHEN H. Adaptive failure detection via heartbeat under Hadoop[C]//2011 IEEE Asia-Pacific Services Computing Conference. Jeju: IEEE, 2011: 231-238.
|
[6] |
WIKIPEDIA. Watchdog timer[EB/OL]. (2021-07-15) [2021-07-31]. https://en.wikipedia.org/wiki/Watchdog_timer.
|
[7] |
DEERING S. ICMP router discovery messages[EB/OL]. (1991-09) [2021-07-15]. https://datatracker.ietf.org/doc/html/rfc1256.
|
[8] |
SHALUNOV S, TEITELBAUM B, KARP A, et al. A one-way active measurement protocol (OWAMP) [EB/OL]. (2006-09) [2021-07-15]. https://datatracker.ietf.org/doc/html/rfc4656.
|
[9] |
SRIDHAR K, OOGHE S, VISSERS M P J, et al. System and method for monitoring end nodes using ethernet connectivity fault management (cfm) in an access network: US 7, 688, 742 B2 [P]. 2010-03-30.
|
[10] |
KRÓL M, MASTORAKIS S, ORAN D, KUTSCHER D. Compute first networking: Distributed computing meets icn[C]//Proceedings of the 6th ACM Conference on Information-Centric Networking. [S.l.]: ACM, 2019: 67-77.
|
[11] |
ARMBRUST M, FOX A, GRIFFITH R, et al. A view of cloud computing[J].
Communications of the ACM, 2010, 53(4): 50-58.
DOI: 10.1145/1721654.1721672. |
[12] |
APACHE. Apache Storm[EB/OL]. (2020-06-30) [2021-07-15]. https://storm.apache.org/index.html.
|
[13] |
SOUALHIA M, KHOMH F, TAHAR S. ATLAS: an adaptive failure-aware scheduler for Hadoop[C]//2015 IEEE 34th International Performance Computing and Communications Conference (IPCCC). Nanjing: IEEE, 2015: 1-8.
|
[14] |
YILDIZ O, IBRAHIM S, PHUONG T A, et al. Chronos: failure-aware scheduling in shared hadoop clusters[C]//2015 IEEE International Conference on Big Data (Big Data). [S.l.]: [s.n.], 2015: 313-318.
|
[15] |
SMARA M, ALIOUAT M, PATHAN A S, et al. Acceptance test for fault detection in component-based cloud computing and systems[J].
Future Generation Computer Systems., 2017, 70: 74-93.
DOI: 10.1016/j.future.2016.06.030. |
[16] |
SCIRÈA, TROPEANO F A. Anagnostopoulos, and I. Chatzigiannakis. Fog-computing-based heartbeat detection and arrhythmia classification using machine learning[J].
Algorithms, 2019, 12(2): 32.
DOI: 10.3390/a12020032. |
[17] |
HU Y C, PATEL M, SABELLA D, et al. Mobile edge computing—A key technology towards 5G[J].
ETSI White Paper, 2015, 11(11): 1-6.
|
[18] |
SUN X, ANSARI N. EdgeIoT: Mobile edge computing for the Internet of Things[J].
IEEE Communications Magazine, 2016, 54(12): 22-29.
DOI: 10.1109/MCOM.2016.1600492CM. |
[19] |
ABDELALIM K, REDIETEAB G, ROBLOT S D, et al. Adaptive negotiation for block acknowledgment session management[C]//2019 IEEE 89th Vehicular Technology Conference (VTC2019-Spring). Kuala Lumpur: IEEE, 2019: 1-5.
|
[20] |
PETERSON L L, DAVIE B S. Computer networks: a systems approach[M]. Amsterdam: Elsevier, 2007.
|