当前人脸识别应用增多[1],人脸识别应用需要大量的分布式处理,因此对移动设备处理能力、存储容量、网络带宽等方面要求越来越高。云计算[2]可以通过将部分应用程序处理迁移到云服务器,减少移动设备的负载。云计算是集中式处理,会导致网络和云服务器的负载均增加,可以通过边缘计算[3],将部分应用程序处理迁移到云服务器,减少移动设备的负载。校园一卡通系统是数字化校园[4]的基础工程,具有身份认证和电子钱包两个功能。目前校园智能卡系统中的人脸识别广泛采用云计算集中式处理,已不能满足随时随地的校园信息服务需求。因此,提出一种基于最小化响应时间的任务分配方法并集成到人脸识别应用中,用于构建校园一卡通系统,以最小的估计响应时间确定最终的任务分配策略。采用边缘计算方法,将任务迁移到边缘服务器并介绍了MRTTA的应用示例,通过实验对其性能进行评价。1相关工作1.1边缘计算概述云计算通过迁移应用程序的一部分到云服务器上,减少移动设备上的负载,然而云计算的集中式处理会导致网络和云服务器的负载增加。因此,边缘计算作为云计算中降低负载的方法,引起了人们的关注。边缘计算是一种将云计算扩展到网络边缘服务器的方法,通过将应用程序迁移到边缘服务器,减少云服务器和网络的负载。当边缘服务器的负载太重,大量的任务会被迁移到云服务器上。总体边缘计算如图1所示。10.19301/j.cnki.zncs.2024.03.013.F001图1总体边缘计算1.2任务分配方法任务分配方法是将应用程序划分为多个小粒度任务分配给服务器。王琦等[5]提出了一种分布式最小化延迟的多播路由(DMDMR)算法,在考虑移动设备功耗的情况下,证明了该算法能够取得最优值。将延迟最小化问题定义为NP-hard混合整数非线性问题,延迟最小化问题可转化为任务分配问题和资源分配问题两个子问题,由子问题得出分配方案,根据得到的分配方案控制器进行任务迁移并分配资源。1.3人脸识别应用任务迁移人脸识别应用由多个任务组成,其中一些任务迁移到边缘服务器或云服务器上。孙笑科[6]采用了基于边缘计算的人脸识别作为一种网络负载降低方案,该方案实现了边缘计算中的人脸识别应用。通过对边缘服务器上的数据进行预处理,减少了边缘服务器与云服务器之间的网络传输数据量。但该方案需要在一定的资源上执行每个任务,因此应用程序的响应时间可能会根据计算资源和网络的情况而增加。在实际应用中,人脸识别应用的响应时间可能会增加,因此一个能使应用响应时间最小化的任务分配方法需要考虑到计算资源的计算能力和CPU的利用率以及网络的通信延迟和通信带宽。2MRTTA方法MRTTA方法目的是优化人脸识别应用中的任务分配策略,实现应用响应时间的最小化。2.1MRTTA方法配置MRTTA方法配置如图2所示。10.19301/j.cnki.zncs.2024.03.013.F002图2MRTTA方法配置每个计算资源均分配一个控制器,控制器由发送请求、接收响应和执行任务的组件组成。客户端控制器计算任务分配的估计响应时间,估计的响应时间为估计的应用程序执行时间和传输数据、任务传输时间的总和。客户端控制器请求其他控制器独立计算目标任务在自计算资源上的估计执行时间,将结果收集到客户端控制器。控制器计算估计传递时间,控制器通过比较计算结果来确定最小化估计响应时间的任务分配策略。2.2任务分配决策方法人脸识别应用程序可分为n个细粒度任务,A0,A1,···,Ai,···,An。任务Ai在计算资源RAi上执行,输入Ai的数据大小为SAi。假设RA0是客户端,RAn是云服务器端,其余的均为边缘服务器端。任务Ai在RAi上处理SAi大小的数据,估计响应时间为T(RAi,SAi):T(RAi,SAi)=Texe(RAi,SAi)+Ttr(RAi,SAi) (1)式中:Texe(RAi,SAi)——任务Ai在RAi上的估计执行时间之和;Ttr(RAi,SAi)——任务Ai从RA0传输到RAi的估计时间与Ai从RAi-1传输到RAi处理的数据在预期的任务迁移中的传输时间之和。Texe(RAi,SAi)及Ttr(RAi,SAi)的计算方法:Texe(RAi,SAi)=∑i=1n[SAi,Tcpu(RAi)] (2)Ttr(RAi,SAi)=∑i=1n[Ttask(RAi)+Tdata(RAi,SAi)] (3)SAi=SAi-1⋅ωs(Ai-1) (4)式中:ωs(Ai-1)——执行Ai-1前后的数据大小缩减率。Tcpu(RAi)——基于CPU利用率在RAi上执行Ai的估计时间。Tcpu(RAi)=Test(Ai,RAi)⋅11-Cusage(RAi) (5)式中:Text(Ai,RAi)——人脸识别应用程序在RAi上可用CPU利用率为100%时,Ai处理一个单元数据所需的估计时间;Cusage(RAi)——RAi的CPU利用率。该系统通过参数化每个计算资源的CPU利用率,可以避免将任务分配给已经负载过重的计算资源。将Ai从RA0传输到RAi的任务传递时间为Ttask(TAi)。Ttask(RAi)=S(Ai)B(RA0↔Ai)+D(RA0↔Ai) (6)式中:S(Ai)——任务Ai的大小;B(RA0↔Ai)——RA0与RAi之间的带宽;D(RA0↔Ai)——RA0与RAi之间的链路延迟。将大小为SAi的数据从RAi-1传输到RAi的数据传输时间为Tdata(RAi,SAi),其计算公式如下:Ttask(RAi,SAi)=SAiB(RAi-1↔Ai)+D(RAi-1↔Ai) (7)式中:B(RAi-1↔Ai)——RAi-1与RAi之间的带宽;D(RAi-1↔Ai)——RAi-1与RAi之间的链路延迟。通过参数化数据大小、链路延迟和带宽,避免了将任务分配给需要较长时间传输数据和任务的计算资源。2.3任务分配示例任务分配序列示例如图3所示。10.19301/j.cnki.zncs.2024.03.013.F003图3任务分配序列示例在该示例中,假设将人脸检测任务和预处理任务分配给边缘服务器执行,将特征提取值任务分配给云服务器执行。第一,客户端控制器向边缘控制器和云控制器发送需要计算估计执行时间的请求,发送的请求中包含经过处理后的数据大小和人脸图像大小的输入/输出比。第二,边控制器和云控制器接收客户端控制器发出的请求,计算每个任务在自计算资源上的估计执行时间。两个控制器向客户端控制器发送响应,包括估计的执行时间。第三,客户端控制器在等待响应的同时,计算每个任务在自计算资源上的估计执行时间。收到响应后,客户端控制器再计算每个可能的任务分配估计执行时间和估计传输时间总和。第四,客户端控制器比较计算结果并确定最小化估计响应时间的任务分配方法。控制器发送分配请求到需要执行任务的边缘控制器和云控制器,分配请求包括在计算资源上处理任务的名称。第五,客户端控制器将人脸图像、人脸检测任务、预处理任务发送给边缘控制器,向云控制器发送特征值提取任务。第六,边缘控制器接收分配请求、原始面部图像和任务,客户端控制器执行人脸检测任务和预处理任务并将输出数据传输给云控制器。第七,云控制器接收分配请求、任务、输出数据后,将收到的输出数据作为输入数据执行特征值提取任务。第八,云控制器执行与数据库的匹配任务,并将包含个人信息的结果传递给客户端控制器3系统实施与评价3.1系统实施环境一卡通系统实验环境如图4所示。10.19301/j.cnki.zncs.2024.03.013.F004图4一卡通系统实验环境在实验中,假设有客户端、边缘服务器和云服务器3种计算资源,通过有线相互连接。在真实使用环境下会存在延迟,所以在模拟器中添加了客户端和边缘服务器之间的通信延迟a;对真实环境进行模拟,需要通过tc命令增加从客户端到边缘服务器再到云服务器的通信延迟b。通过实验,最终确定了任务安排策略在人脸识别应用中的位置和响应时间。任务划分和数据转化流程如图5所示。10.19301/j.cnki.zncs.2024.03.013.F005图5任务划分和数据转化流程人脸识别技术的任务划分和数据转换流程使用python实现。人脸图像采集任务是获取人脸图像,人脸检测任务使用OpenCV中的haar级联检测器从原始图像中提取人脸区域[7]。预处理任务利用OpenCV对彩色图像进行256级灰度处理,提高提取特征值的精度,特征值提取任务利用镜像获得均匀的局部二值模式(LBP)特征值[8]。匹配任务将提取的特征值与数据库中存储的特征值进行比较,使用cpulimit命令对式(5)中R(Ai)的CPU利用率Cusage(RAi)进行限制。Cusage(RAi)的计算方法如下:Cusage(RAi)=CPUset100 (8)式中:CPUset——使用cpulimit命令的CPU使用率。3.2系统评价结果估计响应时间如图6所示。10.19301/j.cnki.zncs.2024.03.013.F006图6估计响应时间对比额外延迟a对于估计响应时间和测量响应时间的影响。客户端和客户端之间没有通信延迟的情况下,实验结果边缘服务器响应时间短,此时边缘服务器上的负载低。可以将人脸检测任务放在边缘服务器上,预处理任务和特征提取任务放在云服务器上。对于上述分配方法,最短估计响应时间为1 765.46 ms。客户端和客户端之间有通信延迟的情况下,客户端和边缘服务器之间的通信延迟较大,云服务器和边缘服务器的负载相似。建议将人脸检测任务放在客户端上,预处理任务和特征提取任务放在云服务器上。对于上述分配方法,最短估计响应时间为1 870.75 ms。有延迟测量响应时间如图7所示。10.19301/j.cnki.zncs.2024.03.013.F007图7有延迟测量响应时间无延迟测量响应时间如图8所示。10.19301/j.cnki.zncs.2024.03.013.F008图8无延迟测量响应时间在采用MRTTA时,测量的最小响应时间为1 583.57 ms。实验结果显示,当客户端和边缘之间存在额外延迟时,客户端减少了向边缘服务器进行任务分配,从而缩短了系统响应时间。在客户端和客户端之间没有通信延迟的情况下,目标任务在一个计算资源执行情况下测量的响应时间及采用MRTTA方法的最小测量响应时间,由实验测得最小响应时间为1 549.16 ms。以上实验证实了所提出的MRTTA方法可以减少总体执行时间和数据传输时间。4结语人脸识别应用的云计算集中式处理会导致网络和云服务器负载增加,因此,参照边缘计算中计算资源和网络的条件提出了一种基于最小化响应时间的任务分配方法,实现人脸识别应用任务分配。MRTTA方法通过参数化计算资源和网络,计算任务分配的估计响应时间;通过比较确定最终分配策略,按策略将任务分配给计算资源。通过实验模拟在人脸识别应用使用情景,对比不同的任务分配策略,对提出的任务分配方法进行评价,验证了人脸识别应用是任务是以最小的估计响应时间在计算资源上执行。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读