一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种软硬件结合的高性能微服务系统的制作方法

2022-04-06 17:19:39 来源:中国专利 TAG:


1.本发明属于涉及信息技术领域,尤其是涉及一种软硬件结合的高性能微服务系统计算,主要用于管理在云计算和边缘计算复杂环境中的计算资源,通过以统一的微服务方式有效整合各类运算加速硬件系统与应用系统, 提升应用的运行效率、数据处理吞吐率并降低能耗。


背景技术:

2.云-边协同计算1作为面向服务于智慧城市的大规模人工智能应用的运算平台,需要支持数据密集、运算密集应用,因此需要整合大量硬件加速设备。基于微服务2的应用构建,提供应用模块化实现和高可用的特点,已经成为快速、高效构建高可用大型应用系统的实现方式。如何在基于微服务的应用部署环境中有效利用硬件加速能力,提升软件开发、部署效率,避免在系统调试、查错过程中消耗过多人力和时间,是提升人工智能应用所面临的挑战。现有的应用系统通常采用软件微服务通过api调用硬件加速能力,容易造成对每个应用开发和调试复杂度提升,同时,多个软件微服务对同一硬件加速设备通过api访问或占用存在数据同步和设备独占等要求,依赖于api或设备驱动的实现,容易产生不易发现和调试的错误。在实际应用部署中,这种端到端封装硬件设备的方式,也会影响系统资源管理、调度的灵魂性。
3.本项发明通过建立一个支持软硬件微服务混合运行的微服务管理系统,以面向硬件的微服务封装标准,形成软硬件微服务互通的能力,从而实现了对用户透明的硬件微服务封装。与现有软件微服务系统相同, 用户可以透明的实现基于微服务的应用定制,同时可以获得基于硬件微服务所带来的运算和i/o加速能力,成为面向运算、i/o密集应用,并兼顾生产效率的高效解决方案。


技术实现要素:

4.本发明提供了一种软件微服务与硬件微服务混合运行的高性能微服务执行环境,可通过微服务编排整合基于软件和硬件实现的各类微服务,实现高性能应用系统,特别是整合基于硬件实现的模块,提升应用的数据处理能力,简化高性能应用构建的难度。在智慧城市等应用领域,计算密集和数据密集任务是基本的应用需求,基于微服务架构的应用系统具有简单灵活、高可用和开发部署效率高的特点,但对于计算和i/o密集性应用需要针对专门的加速设备进行定制开发,为有效利用硬件加速能力,将硬件抽象为微服务模块,并可与其他服务交互从而实现应用构建,简化应用定制过程。通过一种软硬件结合的微服务运行环境, 定义公共交互接口,提供对服务发现、服务代理、并发访问控制以及解决硬件微服务相较于软件微服务管理问题,实现通用的微服务操作环境,为建立面向智慧城市算力平台提升系统整体运行效率。
5.为实现上述目的,本项发明提出了一种融汇软硬件微服务的微服务运行环境,包括服务发现、服务封装、服务代理、服务间交互几个微服务基本需求,实现了用户透明的软
硬件资源整合能力,可作为智慧城市算力平台提供面向应用的服务系统提升运行效率的解决方案。
6.本项发明包含4部分:1.硬件微服务封装、代理与对外接口定义;2.硬件微服务发现算法;3.软硬件微服务交互技术。通过整合上述3项技术,实现软件微服务与硬件微服务混合运行的高性能微服务执行环境。
附图说明
7.图1支持硬件微服务代理的数据结构;图2微服务与本地设备及微服务代理的映射表;图3树形组织的硬件微服务代理架构;图4基于共享数据缓存的硬件微服务交互;图5为算法流程图;图6为算法执行流程图;图7为算法执行效果流程图。
具体实施方式
8.本项发明的实现方式是以树形层次结构的软件代理将硬件微服务进行封装,执行微服务管理、发现与注册。软件代理本身提供与硬件交互、代理与低层次软件代理交互、向微服务管理中心提供服务发现的功能。软件微服务与硬件微服务交互可通过硬件驱动实现,硬件微服务之间的交换可通过软件代理或硬件协议直接交互。
9.硬件微服务封装与对外接口定义:硬件微服务的封装以软件驱动的方式实现,即通过软件进程来封装对硬件微服务的调用和返回处理。对硬件微服务调用步骤如下所示:1.处理调用请求,将调用参数转换为硬件设备驱动可识别的数据类型;2.通过硬件设备驱动对硬件微服务进行调用执行;3.获取返回结果,可通过轮询或注册硬件中断的方式获得运行结束的状态信息,并通过读取硬件缓冲来获取返回结果;4.返回微服务调用,将硬件设备返回数据转换为软件调用可识别的数据类型并返回给调用方。
10.硬件微服务的代理通过软件代理agent以树形结构实现,即agent本身以树形结构表示在叶节点上的硬件微服务。在分布式计算集群中,硬件设备(特别是运算加速设备)通常以树形结构接入数据交换介质(例如pcie总线,tcp,rdma网络),因此硬件微服务以树形结构进行封装。从树形结构的叶节点到顶层节点递归性的集成所支持的硬件微服务接口。
11.agent节点包括叶节点和非叶节点两种,叶节点提供如下功能:
·
提供对硬件微服务的接口代理,即提供接口调用的软件接口封装,辅助其与其他微服务交互;
·
在多个硬件微服务交互的场景下,担任运行容器,即支持在同一物理服务器的两个硬件设备所对应的硬件微服务交互式可以聚合的方式在同一进程空间运行;
·
接收上层agent的代理,进行硬件微服务调用;
·
接收上层agent的注册/注销命令,向微服务管理中心注册/注销;
·
接受微服务代理请求,进行硬件微服务调用。
12.非叶节点提供如下功能
·
管理其下所有低层agent管理的硬件微服务结构;
·
接收上层agent的代理,进行低层agent调用;
·
接收上层agent的注册/注销命令,向微服务管理中心注册/注销;
·
接受微服务代理请求,进行低层微服务调用;
·
如果agent没有上层agent,需要向微服务管理中心进行注册。
13.树状结构中的agent节点构造如图1所示,包含如下内容:
·
基本信息:微服务代理的名称、ip和端口;
·
微服务列表:本代理所管辖的微服务;
·
本地设备列表:本代理所运行的计算节点管辖的计算设备列表;
·
子微服务代理列表:本代理所含子微服务代理;
·
映射表:本代理管辖微服务与本地设备和子微服务的映射关系。
14.这里计算节点代表服务器节点,即物理服务器。计算节点管辖的计算设备包含服务器自身的cpu和通过pcie总线管理的gpu,fpga等加速设备。agent节点本身以容器封装,作为驻留服务运行于agent所在的服务器节点。映射表管理微服务与本地设备或代理管理的子微服务的映射关系,如图2所示。映射表提供的映射关系为硬件微服务发现和微服务调用代理服务。每个agent节点还维护与父节点的关联信息。
15.硬件微服务发现算法:硬件微服务发现通过微服务管理中心与agent之间的交互来进行。管理中心维护一个全局注册表,建立微服务与代理agent之间的关联。agent以树形结构实现,服务发现需要实现:微服务代理agent注册、微服务注册两个辅助功能。每个顶层agent负责向微服务管理中心注册,然后递归性的将其低层agent进行注册。其流程如图5所示。
16.给定输入信息:r表示为顶层agent,即rootagent由上可见,agent注册过程是一个自上而下的递归过程,树形结构中的每个微服务代理均被注册。注册过程本身将微服务代理和其所代理的微服务向全局信息表注册。注销过程类似,通过递归方式清除agent信息。
17.微服务注册流程如下:给定输入信息:ms表示为微服务,msd表示为微服务所对应的agent,ld表示为微服务对应的本地设备,n表示为顶层agent微服务注册过程统一是一个自上而下的递归过程,树形结构中的上层微服务代理均被注册。注册过程本身将微服务代理和其所代理的微服务。注册过程本身将微服务代理和其所代理的微服务向全局信息表注册。注销过程类似,通过递归方式清除微服务信息。
18.微服务发现过程基于微服务和agent注册,微服务发现可通过向全局注册表查询获得。这里查询可返回给定硬件微服务的多个代理节点(树形结构中的上层节点),微服务的调用者可选择层级最低的微服务代理来实现调用。对于叶节点agent,其代理的微服务本身与其本地设备对应,可以直接通过硬件代理驱动来实现微服务调用。对应非叶节点,可通过如图7的过程定
位并调用:给定输入信息:ms表示为微服务,n表示为当前agent软硬件微服务交互:如前所述,软硬件微服务交互可通过硬件所对应的软件封装实现标准的微服务交互。在硬件微服务之间的交互可通过通信优化的方式进一步提升效率。硬件微服务交互的方式包括:
·
共享数据缓存,并以直接存储访问的方式实现调用与交互,如图4;
·
通过pcie总线进行数据交互,如图5。
19.硬件设备间的交互需要通过预设的交互协议进行数据交换,交互协议的操作(数据读写的发起和控制)需要以对应的软件封装进行控制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献