当前位置: 首页 > 专利查询>浙江大学专利>正文

一种面向多性能指标的物联网硬件平台自动生成方法技术

技术编号:21898976 阅读:47 留言:0更新日期:2019-08-17 18:25
一种面向多性能指标的物联网硬件平台自动生成方法,包括:(1)硬件性能数据库的建立,硬件性能数据库包含以下四个部分:硬件能耗数据库,硬件处理速度数据库,API调用速度数据库,硬件接口与价格数据库;(2)用户需求文件与用户编写程序逻辑的分析;(3)生成物联网硬件平台动态约束条件,包括两个指标:应用执行时间与平均能耗;(4)生成物联网硬件平台静态约束条件,包括两个指标:硬件平台可扩展性和价格;(5)求解最优化问题,将步骤(3)和步骤(4)中转换得到的静态、动态约束条件与用户声明的优化目标输入,使用混合整数非线性规划问题的求解器将求解出最优的物联网硬件配置。

A Method of Automatically Generating Hardware Platform of Internet of Things for Multi-Performance Indicators

【技术实现步骤摘要】
一种面向多性能指标的物联网硬件平台自动生成方法
本专利技术涉及物联网硬件平台的关键性能指标(如能耗、实时性)的预测,与根据用户对节点关键性能指标的需求自动生成物联网硬件平台中硬件模块与其连接的方法。
技术介绍
近年来,随着微机电技术(MEMS)等技术的发展,新型传感器与微型计算设备层出不穷,基于这些硬件的物联网应用也实现了快速增长。据统计,2017年全世界的物联网设备数量就达到了84亿个,比2016年的64亿增长了31%,首次超过了全球人口(75亿)。据保守预测,全球范围内活跃的物联网设备在2025年将达到215亿个。然而,相对于传统的个人计算机(PersonalComputer,PC)/集群式服务器软件应用的开发,物联网应用的开发过程仍然效率较低。这是由于PC与服务器的硬件架构已经趋于统一(如中央处理器均使用冯诺依曼架构),应用开发者只需关心在其上的软件开发工作。然而物联网应用包含硬件平台模块的选型和对应应用的开发。一般来说,物联网硬件平台是一个专门定制的包含微型处理单元(Micro-ControlUnit,MCU)、通信模块和其他传感器的嵌入式系统,物联网软件应用需要根据不同的硬件平台进行定制。物联网硬件平台一般分为三个部分:主板、盾板和外设。主板主要包含系统的主要计算组件(如MCU、内存等),盾板是插在主板上的扩展组件,一般作用为提供更多的接口,外设直接连接至主板或通过盾板间接连接在主板上以提供传感、控制等功能。因此到目前为止,由于物联网硬件与软件的强耦合性,仍然没有一个通用的物联网设备平台在市场中占主导地位。正由于此,对于物联网或嵌入式系统领域的非专业人士,创作一个符合自己需求的物联网应用是非常困难的,理由有二:(1)物联网硬件平台和其组件种类繁多且互相异构,在这样大的选型空间中非专业人士很难寻找到最适合的硬件。(2)硬件开发者对于开发出的硬件平台与其软件有着各不相同的要求。如在有些场景下应用的低功耗性能被十分看重,而在另外一些场景下硬件设备整体的价格会是被优先考虑的指标。这种多样性给物联网硬件平台构建提供了多种可能性,但也带来了极大的复杂性:即硬件组件之间需要满足复杂的接口、电压等多种要求。正因为以上的两个开发难点,导致虽然物联网设备数量快速增加,物联网应用却没有像PC或服务器应用一样渗透入人类的日常生活,物联网应用开发效率的低下是掣肘物联网发展的一大瓶颈。硬件的选择问题需要考虑一下几点:(1)用户性能需求的适配性:所生成硬件的价格、能耗、可扩展性等关键性能指标需要满足用户的要求。(2)软件的适配性:选择的硬件需要能够支持开发者需要的功能(如WiFi连接、温度感知、驱动继电器等)(3)硬件的适配性:如电源电压、物理接口数量与类型用户的性能需求可以分为两类:动态指标和静态指标。所谓静态指标是指程序逻辑不相关的属性(如价格);而动态指标则跟程序逻辑紧密相关(如功耗)。
技术实现思路
本专利技术要克服现有技术的上述缺点,通过自动化的对用户需求进行分析和对物联网硬件平台关键性能指标的预测,通过求解优化问题来自动生成最优物联网硬件平台的方法。为实现以上目的,本专利技术所采取的技术方案是:一种面向多性能指标的物联网硬件平台自动生成方法,包括以下步骤:(1)硬件性能数据库的建立,硬件性能数据库包含以下四个部分:硬件能耗数据库,硬件处理速度数据库,API调用速度数据库,硬件接口与价格数据库。(2)用户需求文件与用户编写程序逻辑的分析,包括:2.1)用户需求文件的分析,获取用户用于声明其希望生成的物联网硬件平台各项性能指标的需求文件,通过分析得到用户需求的数学表达式。2.2)用户编写的程序逻辑的分析,使用代码静态分析的方法生成代码的控制流图与每一控制流分支的权重。(3)生成物联网硬件平台动态约束条件,包括两个指标:应用执行时间与平均能耗,具体步骤如下:3.1)应用执行时间动态约束条件的生成,依据应用执行时间预测模型和用户需求生成约束条件非线性不等式(或优化目标)。3.2)应用平均功耗动态约束条件的生成,依据应用平均功耗预测模型和用户需求生成约束条件非线性不等式(或优化目标)。(4)生成物联网硬件平台静态约束条件,包括两个指标:硬件平台可扩展性和价格,具体步骤如下:4.1)应用可扩展性静态约束条件的生成,依据可扩展性计算模型和用户需求生成约束条件一次不等式(或优化目标)。4.2)应用总价格静态约束条件的生成,依据应用总价格计算模型和用户需求生成约束条件一次不等式(或优化目标)。(5)求解最优化问题,将步骤3)和步骤4)中转换得到的静态、动态约束条件与用户声明的优化目标输入,使用混合整数非线性规划问题的求解器将求解出最优的物联网硬件配置。本专利技术的优点是:与现有技术相比,本专利技术在自动生成物联网设备平台时,除考虑物联网设备之间电气特性的一致性和硬件平台对用户逻辑支持的完整性外,通过对开发者获取较为困难的物联网硬件平台的各种重要性能指标(如功耗、可扩展性、执行时间与总价格)进行建模并作为硬件平台生成的约束条件或优化目标,以生成最符合开发者对物联网应用需求的硬件平台,从而减少开发者试错成本,大大加速了开发者的物联网开发流程。附图说明图1是本专利技术的物联网设备平台生成流程图。图2是本专利技术的程序流分析生成的应用控制流图与最终生成的硬件配置。具体实施方式本专利技术通过自动化的对用户需求进行分析和对物联网硬件平台关键性能指标的预测,通过求解优化问题来自动生成最优物联网硬件平台的方法。为实现以上目的,本专利技术所采取的技术方案是:一种面向多性能指标的物联网硬件平台自动生成方法,包括以下步骤:(1)硬件性能数据库的建立,硬件性能数据库包含以下几个部分:硬件能耗数据库,硬件处理速度数据库,API调用速度数据库,硬件接口与价格数据库,具体步骤如下:(1.1)硬件能耗数据库的建立,能耗使用能耗记录器MonsoonPowerMonitor,测试程序为API每隔1s运行一次,其他时间休眠。通过记录能耗记录器输出的周期性能耗数据来获取API运行时能耗。记录下APIf在组件i和主板j上对应能耗等级k的能耗和对应调用时长,分别记为和(1.2)硬件处理速度数据库的建立。对于编程语言的平台i上的语法规则u对应的汇编代码所需的MCU周期数量yi,u,根据平台的数据手册,借助公式ti,u=yi,u/νiηi得到语法规则u对应的硬件处理速度ti,u。(1.3)API调用速度数据库的建立。首先对各硬件平台按照其体系结构进行分类(如ARMCortex、AVRATMega、TIMSP系列等),并对每一类中的代表性硬件和应用编程接口(ApplicationProgrammingInterface,API)做API级别测量,单API调用时间使用代码插桩的方式,在API执行前后插入时间戳,两时间戳的差值即为此API在对应硬件平台上的执行时间;在基础数据库的基础上,将其进行横向、纵向的自动化离线扩展,以自动化完成对硬件平台与API的完整测量。(1.3.1)横向扩展是指根据同一类别不同个体平台之间的量化性能指标(如核心时钟频率、指令集吞吐率等)进行建模,扩展生成本类别下所有个体平台的数据库。API的调用时间与硬件平台的核心时钟频率与指令集吞吐率有关,对应公式为ti,f=ti′,fvi′本文档来自技高网
...

【技术保护点】
1.一种面向多性能指标的物联网硬件平台自动生成方法,包括以下步骤:(1)硬件性能数据库的建立,硬件性能数据库包含以下四个部分:硬件能耗数据库,硬件处理速度数据库,API调用速度数据库,硬件接口与价格数据库;(2)用户需求文件与用户编写程序逻辑的分析,包括:2.1)用户需求文件的分析,获取用户用于声明其希望生成的物联网硬件平台各项性能指标的需求文件,通过分析得到用户需求的数学表达式;2.2)用户编写的程序逻辑的分析,使用代码静态分析的方法生成代码的控制流图与每一控制流分支的权重;(3)生成物联网硬件平台动态约束条件,包括两个指标:应用执行时间与平均能耗,具体步骤如下:3.1)应用执行时间动态约束条件的生成,依据应用执行时间预测模型和用户需求生成约束条件非线性不等式或优化目标,应用执行时间预测模型如公式(1)所示;

【技术特征摘要】
1.一种面向多性能指标的物联网硬件平台自动生成方法,包括以下步骤:(1)硬件性能数据库的建立,硬件性能数据库包含以下四个部分:硬件能耗数据库,硬件处理速度数据库,API调用速度数据库,硬件接口与价格数据库;(2)用户需求文件与用户编写程序逻辑的分析,包括:2.1)用户需求文件的分析,获取用户用于声明其希望生成的物联网硬件平台各项性能指标的需求文件,通过分析得到用户需求的数学表达式;2.2)用户编写的程序逻辑的分析,使用代码静态分析的方法生成代码的控制流图与每一控制流分支的权重;(3)生成物联网硬件平台动态约束条件,包括两个指标:应用执行时间与平均能耗,具体步骤如下:3.1)应用执行时间动态约束条件的生成,依据应用执行时间预测模型和用户需求生成约束条件非线性不等式或优化目标,应用执行时间预测模型如公式(1)所示;公式(1)使用向量d来表示一个特定的物联网硬件平台,d={d1,d2,...,di},和代表数据库中的全体主板、盾板和外设,二元选择变量di代表硬件i是否被选中,其取值为1或0;U代表的物联网设备运行的用户应用程序代码;为对于一个特定的物联网硬件平台d和用户应用程序U的物联网设备运行代码时间,它可以被表示为调用应用编程接口(ApplicationProgrammingInterface,API)的时间tAPI(d)、非API代码的运行时间与休眠时间tidle(U)之和,具体可进一步表示为:其中二元选择变量di和dj代表硬件i或j是否被选中,其取值为1或0;F和代表从用户代码中获取的全体API和全体非API代码的集合,和代表数据库中的提供APIf的全体盾板和外设,代表数据库中的全体,βf与βu代表通过路径加权的APIf和非API代码u的运行计数;ti,j,f是APIf在主板i和外设j上的运行时间,ti,u是非API代码在主板i上的运行时间;Φ(U)是从用户代码中提取休眠时间的操作;3.2)应用平均功耗动态约束条件的生成,依据应用平均功耗预测模型和用户需求生成约束条件非...

【专利技术属性】
技术研发人员:董玮高艺李博睿程志浩刘汶鑫
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1