一种端侧算力网络节点资源监控和通告方法

文档序号:35555854发布日期:2023-09-24 00:55阅读:74来源:国知局
一种端侧算力网络节点资源监控和通告方法

本发明属于计算机,具体涉及一种端侧算力网络节点资源监控和通告方法。


背景技术:

1、近年来,随着科技的不断进步,芯片生产设计的工艺水平也在不断地提升,芯片性能在不断提升的同时,成本却不断降低。在这样的大背景下,各种智慧型终端在生活中随处可见。然而,据《端侧算力网络白皮书2022》显示,当前端侧算力的利用率不足15%,人们日益增长的算力需求和端侧算力利用率低下的矛盾日益凸显。如何高效地利用端侧算力资源,聚沙成塔,降低算力的使用成本,引起了研究者们广泛关注。

2、想要高效利用端侧算力资源,首先需要解决的问题是如何感知和监控泛在化的端侧算力资源。端侧算力资源具有以下几大特征:

3、(1)泛在分布。端侧算力设备包括智能手表、网络摄像头、各种传感器、手机、电脑的设备。这些算力设备的部署具有分布式、泛在化的特点。

4、(2)资源受限。端侧算力设备的资源是受限的,体现在三个方面。第一是算力资源受限,端侧设备为了降低功耗,采用低压芯片,算力性能大打折扣;第二是通信资源受限,端侧设备以lora、zigbee、wifi、蓝牙、蜂窝网络的无线接入手段为主,频谱资源、带宽资源均受限;第三端侧设备为了便于部署,采用电池作为供电设备,能量受限。专利公开号为cn115118647 a的专利中提到的采用应用层zmq协议实现算力资源通告的方案存在较大通信开销,不适用于端侧算力网络。

5、(3)异构性。端侧算力设备的异构性包括网络异构和平台异构两方面。网络异构体现在设备之间会采用多种通信手段,不同通信协议之间无法直接通信;平台异构体现在端设备会采用多种操作系统,如ios、android、harmonyos、linux、windows,不同系统之间存在兼容性问题。

6、针对端侧算力的上述特征,迫切需要一种轻量化的端侧算力节点资源监控机制,对分布泛在、资源受限、平台异构的端侧算力资源进行感知,为端侧算力的高效利用提供基础。


技术实现思路

1、针对现有端侧算力资源监控方案的不足,本发明提出了一种端侧算力网络节点资源监控和通告方法。

2、本发明所述方法包括以下步骤:

3、步骤1、建立一种应用于端侧算力网络算力节点资源监控、通告系统,包括:

4、感知模块:用于收集算力节点本地的多维资源信息,并将收集到的信息定期写入算力资源数据库;

5、算力资源数据库:采用时序数据库存储算力节点收集到的资源信息,并对其它模块提供查询接口;

6、通告模块:定期从算力资源数据库中查询最新的资源信息,通告给其它端侧算力节点,同时接收其它端侧算力节点发送的资源信息,存储到算力资源数据库中;

7、监控平台:定期从算力资源数据库中抓取数据,并对外界展示;

8、感知模块包括容器资源监控模块和链路质量检测模块,其中:

9、容器资源监控模块负责监控本节点容器级别的算力资源信息,包括cpu占用率、内存占用率、磁盘io;

10、链路质量检测模块负责定期探测本节点与其它端侧算力节点的链路质量情况,包括链路时延、丢包率、带宽;

11、通告模块包括算力资源收集模块、分布式通告模块、通告报文转发模块和算力资源服务模块,其中:

12、算力资源收集模块负责定期从算力资源数据库中抓取最新的资源数据,包括本节点的资源信息和本节点感知到的其它节点的资源信息,生成资源数据包并发送给分布式通告模块;

13、分布式通告模块基于本节点感知到的资源信息,运行通告选路算法得到资源数据包的同步路径并将上述信息写入共享文件中;

14、通告报文转发模块将本节点的资源数据包依据同步路径转发给下一个端侧算力节点,同时,通告报文转发模块监听其它节点发送的资源数据包,将其发送给算力资源服务模块;

15、算力资源服务模块丢弃资源数据包中过期的资源数据后,将剩余资源数据写入算力资源数据库中;

16、步骤2、感知模块采用telegraf、cadvisor的工具监控本节点各容器资源占用信息,采用本发明所述的分布式节点间链路检测算法检测节点间链路质量信息,定期存入算力资源数据库:

17、分布式节点间链路检测算法:端侧算力节点初始化时随机休眠一定时间,并监听测速请求端口,当收到测速请求,则判断当前节点是否正在等待其它节点的测速响应,当处于等待状态,则拒绝测速请求;当未处于等待状态,则返回成功确认消息,运行测速服务端程序;当休眠结束未收到测速请求,则选取目的节点发送测速请求,当收到成功确认消息,则节点运行测速客户端程序;当未收到成功确认消息,则节点重新进入休眠状态;选取目的节点发送测速请求时,优先选取距离上次测速间隔时间最长的节点,当间隔时间一致,则随机选取;

18、测速服务端程序采用tomcat服务器对外提供测速服务接口,流程包括以下步骤:

19、(1)收到测速请求报文后,从请求体头中取出content-length字段并将其封装到响应报文中;

20、(2)将收到报文的时刻和发出响应报文时刻的时间戳封装到响应报文中,测速客户端程序向测速服务端发起请求,流程包括以下步骤:

21、(2.1)生成固定长度的byte类型数组作为数据包,加入请求体中;

22、(2.2)客户端在请求体中加入当前节点的时间戳;

23、(2.3)采用http post请求向服务端发送请求报文;

24、(2.4)从响应报文中获取content-length、服务端接收和响应时间戳,计算上传带宽;

25、步骤3、算力资源收集模块定期从算力资源数据库包括influxdb、timescaledb的时序数据库中抓取最新的资源数据,发送给分布式通告模块;

26、步骤4、分布式通告模块根据节点间链路质量信息结合选路算法计算出同步路径,将路径和资源数据包写入共享文件中;

27、步骤5、通告报文转发模块运行于内核态,在网络层实现与其它算力节点通告资源信息:

28、步骤5.1、网络层发送通告报文:

29、步骤5.1.1、编写一个内核模块,注册到系统内核中;

30、步骤5.1.2、内核模块休眠若干时间;

31、步骤5.1.3、内核模块从用户态共享文件中抓取资源数据,封装到ipv4报文的数据部分,同时将报文首部flag字段设置为df=1,protocol字段设置为254,目的ip地址字段设置为同步路径中下一个地址;

32、步骤5.1.4、内核模块根据本机arp cache查询目的ip地址的mac地址,写入数据包目的mac地址字段,调用内核dev_queue_xmit()函数发送数据包;

33、步骤5.2、网络层接收通告报文:

34、步骤5.2.1、编写一个内核模块,注册到系统内核中,挂载到netfilter框架的prerouting挂载点;

35、步骤5.2.2、当netfilter框架收到报文时,判断是否为ipv4报文,且protocol字段为254,当不是ipv4报文,则返回“nf_accept”;当是ipv4报文,则进入步骤5.2.3;

36、步骤5.2.3、解析报文的数据部分,提取其它节点的资源信息,写入共享文件,同时将本节点最新的资源数据更新到报文中;

37、步骤5.2.4、将报文的目的ip地址设置为同步路径中下一个地址,交换源mac地址和目的mac地址,调用dev_queue_xmit()函数发送报文;

38、步骤5.2.5、返回“nf_drop”;

39、步骤6、算力资源服务模块将共享文件中过期的数据删除,提取最新的资源数据,写入算力资源数据库。

40、本发明所述方法的优越效果在于:

41、1、本发明所述方法采用网络层资源通告的策略,减少了内核态和用户态的频繁切换,省略了标准tcp/ip协议栈的复杂处理,有效地降低了端侧设备资源同步开销,为端侧设备释放了更多性能;

42、2、本发明所述方法采用容器级别的算力资源监控机制,能够应用于目前的主流的云原生计算平台架构中;

43、3、本发明所述方法提出的分布式节点间链路检测算法能够在分布式节点间自主探测链路质量信息,及时发现下线节点,提升了端侧算力网络的整体性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1