JS. 中国传感器杂志 1687-7268 1687-725x. 印度发布公司 10.1155 / 2016/8085407 8085407 研究文章 用于IOT系统的自适应软件框架的轻量级和多功能监视器 http://orcid.org/0000-0001-8342-0665. 年轻乔 1 Seok. Jong-Soo. 1 j yungjoon. 1 http://orcid.org/0000-0002-6512-8502. 好的kyoon. 2 Fernández-Caballero. 安东尼奥 1 电子与电信研究所 嵌入式SW平台研究部分 Deajeon 34129. 大韩民国 etri.re.kr. 2 航空与软件工程系 京旺大学 Gumi 39160 大韩民国 Ikw.ac.kr. 2016年 1 12. 2016年 2016年 15. 04. 2016年 07. 11. 2016年 2016年 版权所有©2016 Young-Joo Kim等人。 这是在Creative Commons归因许可下分发的开放式访问文章,其允许在任何介质中不受限制地使用,分发和再现,只要正确引用了原始工作。

今天,正在开发各种各样的东西(IOT)设备和应用程序。此类物联网设备具有不同的硬件(HW)和软件(SW)功能;因此,当更改IOT设备或创建新应用程序时,大多数应用程序都需要自定义。但是,在这些设备上执行的应用程序未针对电源和性能进行优化,因为IoT设备系统不提供关于快速更改系统资源和应用程序的合适的静态和动态信息。因此,本文提出了一种自适应软件框架的轻量级和多功能监视器,以根据系统状态自动控制系统资源。监视器有助于运行应用程序保证低功耗和高性能的最佳环境。该提议的监视器有两个组件:监控组件,它提供了有关系统资源和应用程序的实时静态和动态信息,以及支持系统资源的实时控制的控制组件。对于实验验证,我们创建了一种基于IOT设备的视频传输系统,并通过动态电压和频率缩放(DVFS)来测量CPU利用率进行监视器。结果表明,对于多达50个监控过程,监视器在三种DVFS模式下显示了大约4%的平均CPU利用率,并在DVFS的性能模式下演示了最大优化。

msip. B0101-16-0661 国家研究基金会韩国 NRF-2014R1A1A2060082
1.介绍

信息和通信技术(ICT)的快速增长导致开发各种类型的东西(物联网)设备和行业,家庭和其他部门的应用。但是,这种物联网设备具有不同的硬件(HW)和软件(SW)功能。HW能力主要受CPU核心数量或CPU时钟速度的影响。此外,电池容量很重要,因为物联网设备通常不使用外部电源。因此,许多研究人员认为性能与力量之间的关系。例如,如果系统将许多CPU核心分配给程序,则程序具有高性能,但其功耗不高效。物联网设备的SW功能主要由运行应用程序的数量决定,因为运行应用程序可能会影响系统性能,功率等。因此,必须在更改设备或在设备上执行新应用程序时自定义这些运行应用程序。但是,由于IOT设备系统不适应地提供用于快速更改系统资源和应用的静态/动态信息,因此不优化应用程序。

因此,在本手稿中,我们为自适应软件框架提出了轻量级和多功能的监视器;所提出的监视器和框架可以根据系统状态自动控制系统资源。该提出的监视器可以使用小规模系统(例如,物联网设备和嵌入式设备)和大规模系统(例如,PC和Rich Systems);显示器具有轻量级设计。为了支持自适应软件框架,监视器有助于运行应用程序以保证低功耗和高性能,从而创建最佳环境。所提出的监视器有两个组件:监控组件和控制组件。监控组件实时提供有关系统和应用程序的静态和动态信息。静态信息是已在系统和应用程序中修复的有意义数据,动态信息是在执行系统和应用程序期间更改的有意义数据。控制组件有助于实时控制系统资源(例如,CPU,内存,网络等)。定义的控制功能是CPU开/关,CPU频率控制和网络带宽控制。 For the experimental verification of the proposed monitor, we created a video transport system based on IoT devices and measured the CPU utilization for the monitor. The results showed that, for up to 50 monitored processes, the average CPU utilization of the monitor is approximately 4% in the three DVFS modes. Further, we observed that the monitor shows maximum optimization in the performance DVFS.

此稿件的其余部分结构如下:在部分中 2,我们介绍了自适应软件框架的概念。在部分 3.,我们描述了自适应软件框架的轻量级和多功能监视器。在部分 4.,我们通过自行发发的QoS保证系统展示了监视器的潜力。最后,我们说明了我们的结论,概述了我们未来的研究的指示。

2.自适应软件框架

自适应软件框架[ 1 2]这是一种中间件,用于保证在系统中执行的每个应用程序的最佳QoS,可以实时和动态方式管理和控制运行运行应用程序。为了管理和控制这些应用程序,该框架提供了监控功能。这些功能通常称为自适应应用。这些自适应应用包括至少两个模块:QoS发生器,如心跳[ 3.]以及具有各种算法的性能容器。在执行应用之前将QoS发生器插入应用程序的监视点;然后,在执行应用程序期间,QoS生成器周期性地报告应用程序的QoS。性能容器使用两种方法中的一种:第一种方法是改变影响应用程序性能的输入参数,第二种方法是创建一个或多个可以根据性能改变的算法。自适应软件框架检查报告的QoS,然后控制自适应应用程序。该框架使用有关应用程序和系统资源的静态和动态信息来调整最佳QoS性能。

一般来说,自适应软件框架由监控应用程序或系统信息和控制系统资源的模块组成。数字 1显示自适应软件框架的整体结构。如图所示,自适应软件框架层位于应用层和系统层之间。该框架由三个模块组成: 应用程序和系统监控模块, 应用程序和系统管理器模块,和 分析与政策决策模块。在应用层中,当自适应应用程序以低质量运行和应用程序的用户要求是高质量时,通用操作系统不容易将低质量服务更改为高质量服务。但是,自适应软件框架可以使用三个模块来调整服务质量。应用程序和系统监视模块通过监视从系统层收集信息,应用程序和系统管理器模块将收集的信息提供给其他模块,分析和策略决策模块控制系统资源或应用程序的流程经理。我们建议的监视器对应于应用程序和系统监视模块和应用程序和系统管理器模块。

自适应软件框架的概念。

3.自适应系统观察

在这个手稿中,我们介绍了 轻量级和通用的监视器,由监控组件和控制组件组成。首先,监视器收集关于应用程序和系统的静态/动态信息;这些信息是自适应决策所必需的。然后将这些信息提供给外部模块和外部设备。所提议的监视器相对于CPU利用率来说是轻量级的;因此,它可以移植到各种物联网设备,如嵌入式系统。

数字 2显示轻量级和多功能监视器的框图。在该图中,当在系统上执行应用程序时,监视器实时观察这些应用程序和系统的状态,并记录此信息 “应用程序信息DB” “系统信息数据库”,分别。记录的信息将用于确定应用的优化,以获得高性能和低功耗。

由监测组件组成的轻量级和多功能监视器的框图。

3.1。监控组件

监控组件由五个模块组成: 程序寄存器 程序信息接收方 系统信息采集者 数据协调, 和 第三方模块.程序寄存器和程序信息接收者负责收集有关应用程序的信息。在执行应用程序期间,两个模块连接到TCP / IP中的应用程序。例如,当在系统上执行自适应应用程序时,该应用程序通过程序寄存器在自适应软件框架的轻量级和多功能监视器中登记;然后,程序信息接收机收集有关注册应用程序的静态/动态信息。桌子 1提供正在运行的应用程序的静态/动态信息的摘要。

应用信息(静态/动态)。

静态信息 动态信息
程序ID 分配核心
程序名称 线程数量
节目路径 线程列表
最大QoS. 计划状态
最新QoS. 程序时间
目标QoS. 程序/内存利用率
应用程序采样时间 网络信息(TX,RX)
日志文件 心跳率

系统信息收集器实时收集有关系统资源的静态/动态信息。此外,第三方模块从外部模块或外部设备接收诸如电源,程序特征和内部内核信息的信息。例如,系统电源和应用功率必须通过外部电源设备测量,测量的电源被传送到自适应系统观察监视器的第三方模块。系统静态信息表示与HW资源相对应的固定值(例如,CPU,CPU,内存和网络),并且在系统功能时仅配置一次。通常,当HW细节保持不变时,系统静态信息对系统具有唯一的值。该值由一次性数据收集确定。系统动态信息表示根据系统状态更改的值。这些值中的大多数可以根据系统开销而变化,并且在设置信息收集的设置期间定期更新它们。表中显示的系统静态信息 2包括CPU核心,CPU频率,内存,网络和DVF。系统静态信息是HW的固定信息。如果HW功能发生变化,则系统静态信息也会更新。对于该信息,对应于每个HW系统的数据结构是单独维持的。当执行轻量级和多功能监视器时,系统静态信息仅更新一次。表中显示的系统动态信息 2包括CPU内核,CPU利用率,存储器,网络和电源的当前状态。可以根据系统的当前状态来改变动态信息;此外,用户可以改变系统的资源值,因此,动态信息在实时改变。

系统信息(静态/动态)。

静态信息 动态信息
核数 核心活动状态
Max Freq。核心 核心目前频率。
百分之季。核心 线程数量
核心MIPS. 进程的数量
可用频率 核心利用率
系统内存 系统内存
网络接口DVFS. 网络包(Tx, Rx)电源(CPU,GPU和内存)

数据协调器将从程序信息接收者、系统信息收集者、第三方模块收集到的信息进行重组;然后,将这些信息保存在应用信息DB和系统信息DB中。应用程序和系统的动态信息分为两种数据结构:即时数据和计算数据。即时数据(如CPU活动)可以立即在其他模块中使用,而计算数据(如利用率)由于需要额外的操作而不能立即使用。关于应用程序和系统的静态信息具有单一的数据结构,该结构对应于即时数据。这些数据实时分为应用、系统和第三方数据。

3.2.控制组件

控制组件由四个模块组成: CPU控制 记忆控制 网络控制, 和 控制执行.此组件提供了控制系统资源(如CPU,内存和网络)的环境。这些系统资源的各种参数如下:

CPU:核心开/关,核心频率,螺纹亲和力,DVFS(动态电压频率缩放)[ 4.]

内存:缓存丢弃,最小内存集

网络:带宽,数据包丢弃

控制执行通过与proc文件系统交互来控制CPU和内存。控制执行通过使用网络控制命令(例如,tc命令)或内核模型程序(例如,网络堆栈)来控制网络。此外,控制组件提供监视接口和控制接口,如库。桌子 3.显示监控接口和控制接口。因此,自适应系统观察使用关于应用程序和系统的静态/动态信息来实现应用程序的最佳执行。

监视接口和控制接口。

监控界面 控制界面
核数 核心活动状态
Max Freq。核心 核心目前频率。
百分之季。核心 线程数量
核心MIPS. 进程的数量
可用频率 核心利用率
系统内存 系统内存
网络接口 网络数据包
4.实验验证

在本节中,我们介绍了所提出的监视器的实验验证。我们介绍了一种基于IOT设备的视频传输系统;将显示器应用于该系统,并提出了所提出的轻量级监测器的实验结果。

4.1。执行

数字 3.显示具有自适应SW框架的视频传输系统,包括轻量级和多功能监视器。该系统由三层结构组成(IoT设备 机顶盒(STB) 主机系统)。执行视频捕获和编码的物联网设备由Intel Edison Board组成[ 5.- 8.]有凸轮;执行视频流的STB由带有Exynos 5422的嵌入板组成[ 9.]并包含所提出的监视器和自适应政策经理。此稿件未关注政策经理。包括用户界面的主机系统由具有诸如Wi-Fi的无线通信的移动设备组成。该系统的功能可以描述如下:使用凸轮实时从英特尔爱迪生板生成视频源;通过Wi-Fi将所产生的源传送到STB;STB上的视频流服务器接收这些视频源并实时解码它们;最后,解码源通过Wi-Fi传送到移动设备。

具有自适应软件框架的视频传输系统,包括轻量级和多功能监视器。

在图中 3.,如果机顶盒中没有自适应的SW框架,则由于开销的原因,机顶盒可能会将由Intel Edison Board生成的高比特率视频转换为低比特率视频,因此机顶盒无法保证将其传输到主机系统。在典型的系统中,可以观察到这种行为。然而,即使机顶盒中存在自适应SW框架,由Intel Edison Board生成的高比特率也可能无法到达物联网设备和主机系统。例如,在视频源数量稳定增加的情况下,典型的视频传输系统很难将Edison Board生成的高比特率视频提供给移动设备。原因是流媒体服务器中分配的系统资源(如内核数、内存、网络带宽等)不足;因此,机顶盒以公平的方式将低性能分配给运行的应用程序。然而,本文所提出的视频传输系统能够向移动设备提供高比特率的视频,因为我们的系统采用了一个包含轻量级和通用监视器的自适应软件框架中间件。这个中间件可以使用监视器收集的应用程序和系统信息来处理系统资源。因此,在开销较大的情况下,该系统始终保持用户定义的QoS。

数字 4.展示了基于数字实施的系统 3..在图中 4.,两个爱迪生板捕获和编码视频图像。嵌入式电路板收到这些图像并处理它们。轻量级和多功能的监视器移植到电路板上。在笔记本电脑中运行的工具显示了实时监视器收集的信息;该信息表示有关视频流服务器和嵌入式电路板的静态/动态信息。移动设备提供有目标系统的原始图像而不会损失图像。工具和UI(用户界面)显示了常规QoS,由图中的红色表示。

在图中实施系统的屏幕截图 3.

4.2。效果与分析

为了验证所提出的监视器的轻量级特性,在exynos 5422嵌入式系统上函数,我们使用我们的自主实验应用来测量监视器的CPU利用率。应用程序自动创建根据输入值的进程,然后启动进程的执行。输入值为1,7,5,30,50,80,100,130,170和200. CPU利用率由DVFS调速器(交互式,性能和onDemand)测量。图 5. 6., 和 7.显示CPU利用率对应于监视器中的运行进程数分别用于DVFS的交互式,性能和ondemand模式。每个图中的顶部图显示了与CPU利用率转换为200个运行进程的百分比的结果。在执行进程正在执行时,CPU利用率测量为500次。这些图中的底部图显示了根据受监视过程的数量的CPU利用率的平均和误差范围。

CPU在交互模式下利用。

性能模式下的CPU利用率。

CPU利用ondemand模式。

对于交互式模式,测量到的CPU利用率在图的顶部图形中以百分比显示 5..如图所示,百分比大约为50个过程,百分比约为20%。然而,超过80个进程超过30%,因此建议的监视器由于其监测开销而可能影响嵌入式系统(例如,Exynos 5422)。图的底部图 5.是前述事实的详细实验结果。该图表明,在交互模式下工作的监视器的CPU利用率系数为1.2662( y = 1.2662 x - 0.6052 ).该系数由基于进程数的实测CPU利用率的回归分析结果计算得出。这个结果是正确的,因为 R. 2 ,测量数据的可靠性为0.9658。在图的底部图 5.,CPU利用率约为4%,最多为50个进程,如虚线红色矩形所示。因此,我们可以说明所提出的监视器具有轻量级特性,因为大量过程(大于50)的基于自适应SW框架的显示器不是必需的。结果在图中 6. 7.与图的结果类似 5..CPU利用系数为1.1602( y = 1.1602 x - 1.2507 ) 和 R. 2 是0.9923。CPU利用率也大约为50个进程约为4%。图中的CPU利用系数 7.是1.6026( y = 1.6026. x - 0.2901 ) 和 R. 2 是0.9905。但是,CPU利用率约为50个进程。通过实验结果,所提出的监视器显示了性能模式中最好的CPU利用率和交互模式下的第二个最佳CPU利用率。OnDemand模式具有比性能和交互式模式更多的开销,因为模式通过定期检查CPU利用率来控制CPU频率。

数字 8.显示对应于交互式,性能和onDemand模式的进程数(1,7,15和50)的CPU利用率。在所有四个图中,OnDemand模式的CPU利用率非常广泛波动,并且利用率也高于交互式和性能模式的利用率。随着进程的数量增加,建议的监视器在ondemand模式下有更多的开销。(例如,“#process 50通过DVFS”图形图 8.表示ondemand模式的CPU利用率超过交互式和性能模式的2倍)。也就是说,监视器有效地在交互式和性能模式下工作。总的来说,OnDemand模式比交互式和性能模式更大的开销。数字 9.良好地解释上述逻辑原因。在性能中,当过程数量为1时,CPU利用率为0.49。在这种情况下,建议的监视器具有最大的性能。当过程数量为50时,CPU利用率为3.95.利用率的增加率约为8.06。增加差距是DVFS调速器的CPU利用率中最大的差距。在交互模式下,当过程数量为1时,CPU利用率为2.04,当过程数量为50时,CPU利用率为4.50.利用率的增加率约为2.21。增加的差距是最小的,因此建议的监视器具有最稳定的性能。在ondemand模式下,当过程数量为1时,CPU利用率为1.99,当过程数量为50时,CPU利用率为7.03。在这种情况下,建议的监视器具有最糟糕的性能。利用率的提高率约为3.53。因此,监视器在性能模式下具有轻量级开销,并且监视器在交互模式下具有最稳定的开销。

DVFS的CPU利用率(进程数:1,7,15和50)。

平均CPU利用流程数。

结论

在本手稿中,我们提出了一种轻量级和多功能的监视器,可用于自适应SW框架。该显示器可用于大型设备(网关和STB)和小型设备(英特尔爱迪生板和IOT设备)。建议的监视器提供有关系统资源的静态/动态信息,并实时向用户运行应用程序;因此,监视器可帮助自适应SW框架的自适应策略管理器到最佳控制系统资源或应用程序。从我们的实验中,我们确定了监视器在DVFS的性能模式下显示最大优化。监视器显示3.95%的CPU利用率,最多可监测50个受监控过程。在未来的工作中,我们将向各种硬件平台应用建议的监视器,并将展示所提出的监视器的优越性。

披露

本文是在2015年11月25日,韩国济州,韩国题为“题为”互联网上的自适应系统观察“题为”自适应系统观察的设计的自适应系统观察“的文件的修订和扩展版本。

利益争夺

提交人声明没有关于本文的出版物的利益冲突。

致谢

MSIP / IITP的ICT研发计划(B0101-16-0661(各种IOT设备的自适应软件框架的研究和开发)支持这项工作,并通过国家研究基金会基础科学研究计划支持由教育部资助的韩国(NRF)(NRF-2014R1A1A2060082)。

Bolchini. C。 迦minati. m Miele. 一种。 Quintarelli. E。 模型自适应计算系统的框架 NASA / ESA会议的诉讼程序适应性硬件和系统(AHS'13) 2013年六月 托里诺,意大利 71. 78. 10.1109 / AHS.2013.6604228 2 - s2.0 - 84885403914 霍夫曼 H。 Maggio. m Santambrogio. M. D. Leva. 一种。 agarwal. 一种。 一个通用的软件框架,用于准确和有效地管理性能目标 第13届嵌入式软件国际会议的诉讼程序(Emsoft'13) 2013年10月 IEEE 1 10. 10.1109 / EMSOFT.2013.6658597. 2-S2.0-84892654929 霍夫曼 H。 Eastep j。 Santambrogio. M. D. 应用心跳:用于在自主计算环境中指定程序性能和目标的通用界面 国际自主计算会议论文集(廉政公署十) 2010年6月 79. 88. H。 j。 H。 S. 用于3D多核处理器的新热感知电压岛地层 etrij. 2015年 37. 1 118. 127. 10.4218 / etrij.15.0114.0257 2 - s2.0 - 84921916555 https://www.sparkfun.com/categories/272. http://www.intel.com/content/www/us/en/do-it-yourself/edison.html.html.html. 英特尔爱迪生董事会,英特尔爱迪生突破板五金指南,2015年 英特尔爱迪生董事会,英特尔爱迪生董事会支持包 - 用户指南,修订版001,2014 http://www.samsung.com/ssemiconducton/minisite/exynos/w/solution/mobile_ap/5422/