仿真驱动的边云任务放置研究

使用仿真探索边缘到云应用的任务放置

摘要

大量且不断增长的物联网应用将边缘到云异构基础设施中的物理设备(如科学仪器、技术设备、机器和摄像头)连接起来,以提供响应迅速、智能化的服务,同时满足隐私和安全要求。然而,集成异构的物联网、边缘和云技术,并设计能够跨多层和多种基础设施无缝运行的端到端应用,仍面临挑战。其中一个关键问题是资源管理,需要确保在每一层分配适当类型和规模的资源,以满足应用的处理需求。随着边缘与云层日益紧密地集成,资源分配失衡或任务放置次优化会显著降低整体系统性能。本文提出一种用于研究边云融合连续体上任务放置的仿真方法。我们证明,该仿真方法能够应对问题的复杂性和高自由度,使我们得以探究关键的部署模式和权衡关系。我们使用基于机器学习的工作负载对所提方法进行评估,并通过对比仿真与真实世界实验验证其有效性。此外,我们表明,合适任务放置策略对性能具有显著影响——在我们的实验中,性能差异根据场景不同可达到5%至65%。

索引术语 :边缘,云,物联网,资源管理,仿真。

I. 引言

物联网(IoT)正推动当前数据洪流达到前所未有的规模。Dowell [1]预测,到2030年,全球物联网设备数量将以每年12%的速度增长至1250亿台。随着传感器设备持续产生数据,对数据进行实时处理和响应的需求日益增加。物联网设备与现实世界的过程通常需要紧密集成,以增强环境感知能力、实现实时决策以及设备的转向与控制。因此,及时响应至关重要。物联网已成为推动由科学实验和观测设施(如光源 [2], 地球观测设施 [3], 天文观测设施 [4], 以及大型科学对撞机 [5])所产生的数据的分布式基础设施发展的主要驱动力。

尽管集中式云和高性能计算(HPC)基础设施解决了许多计算需求,但它们存在局限性[6]。特别是,物联网场景需要管理大量数据,并面临延迟、带宽、隐私、主权和成本要求的挑战。与此同时,连续体中的基础设施类型正在多样化,例如,智能终端越来越多地成为更大且异构的物联网设备[7],[8],网关服务器、本地计算基础设施以及集中式云。这一基础设施格局通常被称为边缘到云连续体(简称连续体)。这使得处理可以更接近数据源,从而应对上述挑战[9]。

然而,由于对应用需求和模式缺乏深入理解,尤其是在基础设施和资源管理方面,边云连续体能力的利用和开发受到阻碍。本文对边云应用进行深入的特征分析,研究其共性的应用特征和部署方式。尽管边云应用在许多技术细节上各不相同,但它们在诸如跨连续体部署和分布式机器学习流水线等方面具有共性。我们的分析有助于应用开发者和工具开发者设计和构建基于这些特征和模式的应用与工具。

分布式资源和任务管理对于满足应用的性能和可靠性要求至关重要。应用在优化其任务放置时需要回答一系列重要问题:如何将应用工作负载分布在多层基础设施中?各层应分配多少资源?当可用资源动态变化时,应用应如何响应?因此,在边云融合连续体上探索重要的任务管理权衡至关重要。通常,只能通过实验评估这一挑战的一部分。由于基础设施的可用性限制,大规模实验难以实现,且耗时耗资。一种应对这些挑战的重要方法是仿真,它能够以显著降低的成本来研究物联网系统的不同方面。

我们利用RADICAL‐DREAMER [10]仿真框架对边云应用中的任务放置进行建模。特别是,我们评估边云应用的工作负载和资源管理方面,例如,有效的工作负载分配策略。通过该框架,我们评估关键指标,例如在不同处理阶段分解的完成时延。我们基于XSEDE平台开展大量仿真实验,以研究不同部署模式下的工作负载和任务放置。

本文结构如下:第二部分讨论应用场景与需求。第三部分描述仿真方法。我们在第四部分进行全面评估。最后,第五部分讨论相关工作。

II. 应用场景与需求

边云应用具有高度多样性。数据规模、速率和使用模式(仅边缘、仅云、混合/从边缘到云)可能差异显著。然而,它们有许多共同点,例如需要利用连续体来满足性能、安全性和隐私需求。我们关注物联网应用,即在边云融合连续体上管理复杂数据处理流水线的应用,并讨论其共性模式。我们分析来自不同应用领域的多种应用场景,以期揭示共性模式。

A. 应用场景

物联网设备正越来越多地部署于各种科学与工业领域,以实现数据采集与分析、提高流程效率,并支持远程操作和实时控制。例如,已应用于多个科学领域的大型科学仪器和观测设施(如粒子物理学、地球科学)、环境保护、农业、能源、交通、工业和供应链(参见 Chabas 等人 [11])。接下来,我们将研究三个应用领域:农业、制造业和科学实验。

农业 :物联网和数据分析有助于理解农业的关键方面,例如能源、用水量和产量[12]。一个例子是利用葡萄园的气象数据和物联网数据(如环境条件和葡萄成熟度),以更精确地指导葡萄园的灌溉系统,减少用水量[13]。从农场收集的数据可能高度异构,例如用于监测葡萄生长过程的土壤数据、用于牲畜定位的音频数据,以及来自摄像头、无人机、卫星的图像数据。

制造业 :物联网传感器越来越多地应用于制造环境中。在此类环境中收集的数据对于预测性维护和视觉检测、规划和优化等用例至关重要[14],[15]。

科学实验和设施 :边缘和雾计算能力对于许多科学实验(例如同步辐射光源实验)正变得越来越重要。国家同步辐射光源II(NSLS‐II)或X射线自由电子激光(XFEL)等实验设施产生的数据速率越来越高,可达每秒20GB [2]。这些数据通常需要以实时或准实时的方式进行处理,例如用于引导实验或更新其数字孪生体[16]。在地球与环境科学领域,边缘计算是提升观测设施影响力的关键推动因素。例如,大气辐射测量(ARM)设施设法在边缘将ARM观测数据与大气和气候模型进行现场耦合,以加速获得见解[3]。

B. 应用特征

在表一中,我们使用五个类别来描述应用场景:感知、数据、处理、从边缘到云的使用以及数据交换。

示意图0

表一:从边缘到云的应用领域:尽管物联网应用领域多种多样,但这些应用通常都需要在多层计算和数据基础设施上处理传感器数据(例如,图像、音频)。

感知 描述了使用传感器获取环境变化的过程,例如图像、音频、温度等。通常使用专用的嵌入式CPU来执行此任务。在感知过程中,通常会对时间序列的原始传感器数据进行一些基本的预处理,以提取相关信息。

数据 类别描述了数据特征,特别是数据类型。

处理 描述了用于从数据中提取见解的算法,例如机器学习和分析算法。根据所使用的方法不同,例如使用传统统计的分析或深度学习,会产生不同的计算特征[17],[18]。在机器学习场景下,处理特征可以分为模型训练和推理。此外,预处理对于减少数据量并为后续处理做准备至关重要,例如降维、归一化和特征提取。

表II描述了不同类型的处理工作负载的特征:预处理、分析、推理和训练。根据算法的输入,计算需求可能会有巨大差异。一个均衡的系统需要对计算资源、带宽和算法进行联合调优。

从边缘到云 描述了应用如何利用云和边缘资源。云能力可以实现更多的智能(全面分析)、通过使用更复杂的模型提升模型质量,以及更高的性能(可获得更多的数据和计算资源)。

数据交换 表征了在连续体上的数据传输模式。

C. 面向应用模式

尽管应用场景差异显著,但它们在跨多层基础设施处理传感器数据(如图像和音频)方面具有共性。一种反复出现的模式是在边缘和云资源的多层分层结构中处理这些数据[19]。

示意图1

图1:面向云到边缘应用的部署模式:尽管传统部署场景要么以云为中心,要么以边缘为中心,但如今越来越多地需要使用更复杂的云到边缘架构来满足性能、安全性和隐私需求。

图1展示了三种常见的部署模式:以云为中心、以边缘为中心和混合模式,用于在连续体上分配处理任务。在以云为中心的模式中,大多数服务和任务在云上运行;而在以边缘为中心的模式中,任务主要在边缘运行。然而,根据应用场景和可用基础设施的不同,通常更有利的是采用混合部署模式,在连续体上分布任务。

在边缘,通常进行感知、预处理和过滤;而云和中层(常称为雾)则负责计算更密集的全面数据聚合,包括机器学习推理和建模。例如,尽管实时应用通常需要在边缘进行推理以确保低延迟,但边缘设备可能无法执行的计算过程的高级模型可以在云端进行。

另一种混合使用模式是利用从多个设备收集的数据,在云中使用先进的计算资源训练和更新最新模型。一种常见的混合使用模式是利用边缘可执行模型(例如异常检测器)识别出值得关注的区域,然后在云中进行处理。通常,云处理能够容纳计算密集型的高保真度模型。

定义合适的任务放置策略需要考虑各种应用和基础设施特性及其相互作用。接下来,我们探讨使用仿真作为探索不同任务放置策略的手段。

III. 工作负载与运行时仿真

包含边缘和云的分布式基础设施复杂、异构且动态,使得自上而下的设计和资源分配决策变得复杂。因此,在实际部署之前评估潜在决策及其对性能的影响至关重要。为解决这一问题,我们使用RADICAL-DREAMER(动态运行时与执行自适应中间件仿真器)[10]来评估边云应用的部署模式、性能权衡以及工作负载放置策略[20]。接下来,我们将介绍该框架的基本构件及其相互作用。

概念 描述
任务 一个任务是需要执行的计算过程的抽象。一个任务的特征在于一个 num_ops ,即操作数量。性能差异可以使用统计分布建模,且 ops_dist 参数
工作负载 一次提交给仿真器的任务集合。
资源 执行给定工作负载的实体的描述。一个资源由三个参数定义:核心数量,每个核心的容量定义为每核心操作数,以及延迟。性能差异可以使用统计分布进行建模。
资源管理器 在多个资源上协调仿真运行。
会话 接受用户指定的资源、工作负载和调度配置,通过资源管理器配置和管理仿真运行。

表III: RADICAL‐DREAMER 概念:该框架使用任务和工作负载的概念来建模应用的特征(例如,异构/同构任务的集合),并使用资源来建模分布式基础设施。会话和资源管理器用于仿真执行。

该仿真器需要两类输入:(i)工作负载和(ii)资源。工作负载可定义为提交给仿真器的任务集合。资源的容量由核心数和每秒可提供的操作数来衡量。多个资源可以进行分组。此外,仿真器还能对延迟进行建模,例如由网络延迟引起的延迟。

该模拟器能够适应应用和基础设施的异构性。例如,可以使用工作负载的 ops_dist 属性对异构任务集合进行建模,该属性允许使用不同的分布类型,例如正态分布或均匀分布。此特性对于建模处理时延中出现的异构性场景非常重要。

由于数据集不平衡。类似地,可以使用资源的 perf_dist 属性来模拟性能差异和异构资源。

会话(Session)对象作为主控件,接受工作负载、资源和调度配置作为输入。资源管理器(ResourceManager)负责在定义的资源上对工作负载进行仿真。会话与资源管理器通过RabbitMQ服务进行通信。会话记录执行过程并保存结果,例如每个任务的执行时延和完成时延(CCT),以便在实验结束后进行分析。

仿真器提供了研究不同资源配置、调度策略、应用算法、并行化和分布策略的能力。每次仿真运行的成本非常低,可以在构建真实世界系统和实验之前进行广泛的探索。

IV. 实验

深入了解复杂且动态变化的边缘到云系统的性能特征,对于确保适当的响应时延、吞吐量以及优化资源使用至关重要。在本节中,我们使用基于K-均值算法的机器学习应用来评估我们的仿真方法。为此,我们将实际执行的性能与仿真环境下的性能进行比较。我们使用XSEDE Jetstream云[21]以及两种不同类型的虚拟机(VM):一种是具有2GB内存的双核虚拟机(边缘),其性能可与树莓派等设备相媲美;另一种是具有120GB内存的44核虚拟机(云)。

K-均值[22]算法是一种流行的无监督机器学习算法,能够将数据集中的相关数据点进行聚类,以发现潜在模式。我们使用仿真器对一个K-均值应用进行建模,并将其与实际执行结果进行比较。为此,我们采用多核[23]的Scikit-Learn K-均值实现。K-均值算法的复杂度为O(KNT),其中K表示聚类数量,N表示数据集中的数据点数量,T表示每次运行的迭代次数。

K-Means应用可转换为5个任务的工作负载,其中每个任务代表算法的一次迭代。根据每次迭代中的点数和聚类数(KN),我们计算每个任务的操作数量。然后将每次迭代映射到一个任务。资源的容量由可提供的每秒操作数定义,该数据源自XSEDE Jetstream云的微实验。接着,我们计算针对给定输入数据大小(即从32到106个点)所执行的每秒操作数,并相应地配置仿真器的工作负载和任务。

我们进行了一个端到端实验,以评估以边缘为中心和以云为中心场景下的任务放置策略。此外,通过将模拟的完成时延(CCT)与真实实验进行比较,评估其质量。对于云场景,我们使用Kafka代理将数据从边缘传输到云。

示意图2

图2:从边缘到云的K均值 - 实验与仿真:针对云和以边缘为中心的部署模式:上图显示,仿真器准确地捕捉了K均值的行为。上小图展示了不同数据大小下的行为,表明边缘具有略微优势。下小图展示了不同聚类数量和106个数据点下的CCT。

如上图所示,对于较小的数据量(<30k 个点),有限的边缘资源可以优于云。在这种情况下,设置到云的数据传输开销过大,尤其是与计算时延相比。随着数据量的增加,计算需求也随之增长,将数据上传到云上变得更有利。

此外,我们研究了K-均值算法的聚类数量与CCT之间的关系,使用固定106个数据点的配置(见图2的下小图)。随着聚类数量的增加,K均值算法的复杂性增大,导致CCT延长。两者均验证了所使用的仿真方法适用于捕捉真实世界应用的重要特征。

在比较边缘与以云为中心的任务放置策略时,实验表明正确的任务放置对整体性能有显著影响。对于较小的数据规模,在边缘设备上的性能最高可提升65%;而对于较大的数据规模,云的运行速度反而快约10%。

V. 相关与先前工作

Varshney/Simmhan [24]对从边缘到云连续体的应用编程和调度模型进行了详细的描述。相关文献[25],[26]提出了针对从边缘到云连续体特定方面的各种仿真方法,例如,侧重于网络、计算、调度或数据的仿真方法。我们专注于使用仿真方法进行应用级任务放置策略的特定研究方向。

CloudSim [27]是用于云基础设施的流行模拟器,支持例如联合基础设施。CloudSim的目标是支持资源管理和调度决策。针对边缘计算出现了多个扩展,例如,Iotsim-edge [28]为建模边云融合连续体环境提供了一个综合框架。它能够对包含以下要素的环境进行建模:(i) 不同的物联网通信协议,(ii) 边缘设备异构性,(iii) 数据不动,以及 (iv) 能源。

尽管这些仿真方法通常灵活并支持广泛的目标,但它们通常侧重于基础设施,并在较高抽象层次上呈现应用特征。我们特别针对需要复杂、分布式数据处理管道以及高度动态数据移动和计算需求的物联网和数据驱动应用。

VI. 结论与未来工作

设计需要在多个基础设施层之间处理数据和计算的分布式应用具有挑战性。本文提出了一种全面的仿真方法,用于表征和理解从边缘到云的应用。仿真能够探索广泛的参数组合,是指导实验设计的重要工具,而实验对于评估各层之间的端到端性能数据至关重要。此外,仿真器支持快速探究多种假设场景。

我们通过研究重要的资源管理挑战展示了这些能力,例如,针对特定场景评估机器学习模型的适用性。例如,在我们的实验中,我们研究了模型复杂度对延迟的影响。

未来,我们将开发用于分布式边云应用的抽象,以提供设计和实施有效资源管理策略的手段。所设计的Pilot-Edge抽象基于pilot抽象[29],它提供了一个易于使用的无服务器函数即服务(Function-as-a-Service)API,简化了应用开发,使开发者能够专注于应用逻辑和应用级资源管理。该抽象支持共性模式,例如以云为中心、以边缘为中心和混合应用。任务可以动态地在连续体的不同部分之间迁移,例如从边缘到云,或反之。此外,我们将把我们的仿真方法与Pilot-Edge中间件紧密集成,从而具备以下能力:(i)纳入真实实验的参数;(ii)利用仿真优化实验设计。

【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍了基于Matlab的建模与仿真方法。通过对四轴飞行器的动力学特性进行分析,构建了非线性状态空间模型,并实现了姿态与位置的动态模拟。研究涵盖了飞行器运动方程的建立、控制系统设计及数值仿真验证等环节,突出非线性系统的精确建模与仿真优势,有助于深入理解飞行器在复杂工况下的行为特征。此外,文中还提到了多种配套技术如PID控制、状态估计与路径规划等,展示了Matlab在航空航天仿真中的综合应用能力。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及从事无人机系统开发的工程技术人员,尤其适合研究生及以上层次的研究者。; 使用场景及目标:①用于四轴飞行器控制系统的设计与验证,支持算法快速原型开发;②作为教学工具帮助理解非线性动力学系统建模与仿真过程;③支撑科研项目中对飞行器姿态控制、轨迹跟踪等问题的深入研究; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注动力学建模与控制模块的实现细节,同时可延伸学习文档中提及的PID控制、状态估计等相关技术内容,以全面提升系统仿真与分析能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值