- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
前言
随着汽车智能网联的发展,汽车电子电气架构逐渐从原本的分布式架构向域集中式架构升级。原本需要多个ECU协同作用实现的功能,在智能网联车辆域集中式架构下,只须采用一个域控制器来代替多个ECU功能。域控制器按照功能划分,依次是智驾域、座舱域、车身域、底盘域、动力域这5个域,各域通过车载以太网接入中央网关。域控制器内部的智能芯片,从成本与功耗角度考虑,很多情况下并不是采用一个高算力芯片,而是采用多个低算力芯片或是异构芯片,如DSP、FPGA、MCU、GPU等等,共同实现某个功能。
考虑到这种电气架构特性,大型计算任务如果要保证实时性,须采用分布式计算的方式,将域控制器内多个计算单元进行联合。因此,需要开发一套基于车载以太网通信中间件,配合分布式并行计算的模型,实现大型高耗时任务在多芯片之间的分配调度,同时还须考虑域控制器负载波动变化对计算任务的影响,设计自适应计算任务分配方案,保证最优的分布计算性能。
1面向服务架构的通信系统
目前汽车域集中式电子电气系统都是采用面向服务的通信架构(SOA),可以保证数据只要在有需求时才会发送,无需求时则让出以太网带宽,降低了以太网负荷,保证各个单元之间数据交互的高效性。要实现域控系统下,不同计算单元之间的服务通信,须依靠通信中间件,从而保证各个节点之间通信交互的数据、协议、流程、接口的统一性。如图1所示,通信中间件一般是在网络7层模型中,处于TCP/UDP车载以太网通信协议的上层,在TCP/UDP的数据区内定义额外的信息,从而来实现预期的通信流控制和交互。
图1服务通信中间件与以太网7层模型的关系
考虑到Linux系统的Epoll?具有优秀的并发特性,本文中基于Epoll并发功能,实现自研轻量级服务通信中间件。通信时,首先是通过套接字建立客户端与服务端的连接,再把服务对应函数和对应的函数ID注册到服务端列表中。客户端通过组装字头信息和数据信息,把整个数据包按批次发送到服务端。服务端再通过解析包头内的函数ID和数据长度信息,把包头后相应长度的二进制数据流送入相应ID的服务回调函数中计算处理,最终将计算结果打包成对应的包头和数据包返回客户端,完成本次服务通信,流程如图2所示。
图2自研轻量级服务通信流程
之所以采用自研轻量级服务中间件,主要是考虑分布式并行计算通信对实时性以及大数据包快传的要求。图3给出了汽车域控架构通信系统中最为常用的两种通信中间件SOMEIP和DDS与自研轻量级服务中间件的实时性对比。SOME/IP采用了开源社区提供的VSOME/IP,DDS采用了开源社区提供的fastDDS。
图3通信中间件性能对比
VSOME/IP未经过TP协议分包,只能支持单包KBytes以下的数据传输,且因为开源代码性能较差,固定通信延迟有5ms,不符合本文研究要求。fastDDS对于KBytes以下的数据包,有很好的传输实时性。当数据包达到MBytes等级,fastDDS受内部代码机制及程序堆栈大小限制,不能很好地支持MBytes数据单包传输。
分布式并行计算模型的通信量较大,对通信延迟要求较高,因此本系统理论验证和功能实现上,只对数据包大小和通信延迟这两个中间件指标有要求。相比于开源中间件,自研轻量级服务通信中间件,在KBytes、MBytes直至GBytes的数据包等级,都能够实现数据包自动分包传输,实时性也远优于开源中间件。综上所述,为了达到更快更好的服务通信效果,本文中选择自研轻量级服务通信中间件,作为分布式并行计算模型的数据通信实现方式。
2自适应分布式并行计算系统
2.1自适应分布式并行计算模型
首先假设一个高耗时的计算任务可以被分解为k个可并行的计算子任务,则任务的分解公式可以表示为
式中:为总任务量;为分解的第个任务量。实际任务分割时,计算任务是一个离散量,存在一个最小的计算任务颗粒度,比如一个大型矩阵A乘以大型矩阵B,分割时如果选择矩阵的行数,那么任务分割最小的颗粒度则是矩阵A的1行乘以矩阵B的计算量,则任务的分解公式可以表达为
式中:为分割任务的最小计算量;为第个任务的分割系数;N为正整数集合。考虑通信时延波动和系统波动,且各个线程间需要时间同步和结果汇总,所以这个高耗时计算在并行计算框架下,实际的运算周期如下式所示:
式中:为各个计算子任务的耗时;为任务分配组数;为并行计算框架下实际的运算周期。因此分布式并行计算模型就是根据系统状态参数,在存在系统干扰下,求解一个最优的集合,使得max()最小,保证计算任务实时性[17]。
对于一个确定的计算任务运算在一个确定的分布式计算系统上,运算时间总量是基本不变的,因此修改让最小的话,主要是需要将子任务耗时集合尽可能往平均量上靠近。离平均值越大,则需要对相应的修正越多;耗时越久,则须减少对应的任务分配数,由此可
文档评论(0)