CN105282017B - 一种基于扁平化模型的通信实现方法 - Google Patents
一种基于扁平化模型的通信实现方法 Download PDFInfo
- Publication number
- CN105282017B CN105282017B CN201510831796.XA CN201510831796A CN105282017B CN 105282017 B CN105282017 B CN 105282017B CN 201510831796 A CN201510831796 A CN 201510831796A CN 105282017 B CN105282017 B CN 105282017B
- Authority
- CN
- China
- Prior art keywords
- core
- message
- control core
- arithmetic
- descriptor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种基于扁平化模型的通信实现方法,可用于点对点通信和集合通信。所述方法包括:运算核心将用户消息的描述符在内存中进行组装;所述运算核心通过写内存方式,将描述符地址信息作为消息请求通知给控制核心;所述控制核心通过创建轮询线程的方式,查询运算核心的消息请求,通过消息请求中携带的描述符地址信息,取出描述符进行消息匹配;所述控制核心利用消息匹配的结果与远程控制核心进行消息通信。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于扁平化模型的通信实现方法。
背景技术
在异构众核体系结构下,用户进行并行程序设计通常要采用两层设计模型,即在控制核心实现消息通信,在运算核心实现加速运算;其产生的负面影响也是显而易见的。首先,给用户带来了较重的编程负担;其次,多核时代的遗产代码大多需要通过改造才能在众核平台上运行。因此,在异构平台上提供传统扁平化编程视角,有助于提升程序设计生产率,同时也有利于遗产代码在异构众核系统上平滑过渡。基于控制核心代理的运算核心消息通信实现,是扁平化编程模型的重要关键技术之一。
运算核心消息通信实现主要包括点对点消息和集合消息。在点对点消息方面,通常的实现方式是采用运算核心中断控制核心发出消息代理请求,由控制核心在中断处理中解析消息请求并进行消息代理操作的方式;这种方式存在中断代价过高导致消息性能下降的缺陷。在集合操作方面,如果采用传统的点对点消息实现方式,由于密集的消息通信请求,容易出现控制核心热点的问题。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种基于扁平化模型的通信实现方法,采用控制核心主动轮询方式,对用户的点对点消息请求进行批量处理,解决了中断代价过高的问题;此外,在集合消息方面,本发明利用运算核心数据传输能力强的特点,采用数据传输加单运算核心请求的方式,避免了控制核心的热点问题。
根据本发明,提供了一种基于扁平化模型的通信实现方法,用于点对点通信,包括:运算核心将用户消息的描述符在内存中进行组装;所述运算核心通过写内存方式,将描述符地址信息作为消息请求的至少一部分,通知给控制核心;所述控制核心通过创建轮询线程的方式,查询运算核心的消息请求,通过消息请求中携带的描述符地址信息,取出描述符进行消息匹配;所述控制核心利用消息匹配的结果与远程控制核心进行消息通信。
优选地,在所述控制核心与所述远程控制核心的消息通信结束后,所述控制核心将完成信息写入预定完成位中,以便运算核心进行查询。
根据本发明,还提供了一种基于扁平化模型的通信实现方法,用于集合通信,包括:运算核心阵列进行同步,由运算核心阵列中核号最小的运算核心组织描述符并通知控制核心,运算核心阵列中的其他运算核心进入下一个阵列同步等待数据通信完成;所述控制核心收到运算核心消息请求后,从消息请求解析描述符以确定根进程位置,并申请集合操作缓冲区并进行消息集合操作,完成后通知所述核号最小的运算核心提出申请的上层消息集合操作已经完成,运算核心阵列发起数据传输操作,将缓冲区中的数据拷贝至相应目的地址。
本发明基于轮询方式的低开销点对点消息代理机制,而且利用单个核心通知和阵列数据传输相结合的集合通信机制。由此,本发明的优点在于,首先,控制核心线程采用轮询的交互方式处理运算核心的消息通信请求,降低了代理实现的代价;其次,利用单个核心通知和阵列数据传输相集合的方式,避免了控制核心的热点问题,充分挖掘了底层芯片的通信潜能。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1示意性地示出了根据本发明第一优选实施例的基于扁平化模型的通信实现方法的流程图。
图2示意性地示出了根据本发明第二优选实施例的基于扁平化模型的通信实现方法的流程图。
需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施方式
为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
在异构众核平台上,由于网络接口只对控制核心开放,运算核心的消息通信只能通过主核代理来实现。本发明在体系结构特点的基础上,利用运算核心和控制核心之间的交互手段,基于控制核心代理实现了运算核心的点对点通信(某一对进程之间的数据交互,通常包括双边消息操作和单边消息操作)协议以及集合通信(以一组进程为通信集合,按照一定的逻辑规律进行的数据交互,通常包括广播、收集、散发、全交换等)协议,使得用户能够在异构众核系统上方便地采用传统扁平化视图进行消息并行程序设计。
<第一实施例>
图1示意性地示出了根据本发明第一优选实施例的基于扁平化模型的通信实现方法的流程图。
如图1所示,根据本发明第一优选实施例的基于扁平化模型的通信实现方法,用于点对点通信,所述方法包括:
第一步骤S1:运算核心将用户消息的描述符在内存中进行组装;
第二步骤S2:所述运算核心通过写内存方式,将描述符地址信息(即,描述符的位置)作为消息请求的至少一部分,通知给控制核心;
第三步骤S3:所述控制核心通过创建轮询线程的方式,查询运算核心的消息请求,通过消息请求中携带的描述符地址信息,取出描述符进行消息匹配;
第四步骤S4:所述控制核心利用消息匹配的结果与远程控制核心(即,远程的另一控制核心)进行消息通信;
第五步骤S5:优选地,在所述控制核心与所述远程控制核心的消息通信结束后,所述控制核心将完成信息写入预定完成位中,以便运算核心进行查询。
可以看出,运算核心负责将用户消息描述符在内存中进行组装,并通过写内存方式通知控制核心描述符的位置;控制核心通过创建轮询线程的方式,查询运算核心的消息请求,通过消息请求中携带的描述符地址信息,取出描述符进行消息匹配并和远程控制核心进行消息通信,消息通信完成后,将完成信息写入事先约定的完成位中,由运算核心进行查询。
<第二实施例>
图2示意性地示出了根据本发明第二优选实施例的基于扁平化模型的通信实现方法的流程图。
如图2所示,根据本发明第二优选实施例的基于扁平化模型的通信实现方法,用于集合通信,所述方法包括:
第一步骤S10:运算核心阵列进行同步,由运算核心阵列中核号最小的运算核心组织描述符(例如,作为消息请求的至少一部分)并通知控制核心,运算核心阵列中的其他运算核心进入下一个阵列同步等待数据通信完成;
第二步骤S20:所述控制核心收到运算核心消息请求后,从消息请求解析描述符以确定集合操作类型,并申请集合操作缓冲区并进行消息集合操作;
第三步骤S30:消息集合操作完成后,通知所述核号最小的运算核心提出申请的上层操作已经完成;例如,在第三步骤S30中,可以通过置完成位来通知所述核号最小的运算核心提出申请的上层操作已经完成。
第四步骤S40:所述核号最小的运算核心在收到通知后,使用阵列数据传输将内存中的数据拷贝至运指定位置。
可以看出,集合通信例如用于实现广播操作,其中运算核心阵列进行同步,由核号最小的运算核心组织描述符并通知控制核心,其他运算核心进入下一个阵列同步等待数据通信完成;控制核心收到运算核心消息请求,解析描述符,确定根进程位置,申请缓冲区并进行消息集合操作;完成后,置完成位通知先前运算核心提出申请的上层集合操作已经完成,运算核心收到通知后,使用数据传输将内存中的数据拷贝至运算核心指定的位置,并进入阵列同步;这样,在阵列同步完成后,所有运算核心集合操作完成。
此外,需要说明的是,除非特别指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (2)
1.一种基于扁平化模型的通信实现方法,用于点对点通信,其特征在于包括:
运算核心将用户消息的描述符在内存中进行组装;
所述运算核心通过写内存方式,将描述符地址信息作为消息请求的至少一部分,通知给控制核心;
所述控制核心通过创建轮询线程的方式,查询运算核心的消息请求,通过消息请求中携带的描述符地址信息,取出描述符进行消息匹配;
所述控制核心利用消息匹配的结果与远程控制核心进行消息通信。
2.根据权利要求1所述的基于扁平化模型的通信实现方法,其特征在于还包括:在所述控制核心与所述远程控制核心的消息通信结束后,所述控制核心将完成信息写入预定完成位中,以便运算核心进行查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510831796.XA CN105282017B (zh) | 2015-11-24 | 2015-11-24 | 一种基于扁平化模型的通信实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510831796.XA CN105282017B (zh) | 2015-11-24 | 2015-11-24 | 一种基于扁平化模型的通信实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105282017A CN105282017A (zh) | 2016-01-27 |
CN105282017B true CN105282017B (zh) | 2018-07-06 |
Family
ID=55150384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510831796.XA Active CN105282017B (zh) | 2015-11-24 | 2015-11-24 | 一种基于扁平化模型的通信实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105282017B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299763A (zh) * | 2008-06-13 | 2008-11-05 | 南京邮电大学 | 无线媒体接入控制层协议重配置方法 |
CN101433048A (zh) * | 2006-03-28 | 2009-05-13 | 雷帝系统加拿大有限公司 | 并行多核心计算结构的多媒体处理 |
CN102073543A (zh) * | 2011-01-14 | 2011-05-25 | 上海交通大学 | 通用处理器与图形处理器融合系统及其融合方法 |
CN103348641A (zh) * | 2010-11-29 | 2013-10-09 | 阿尔卡特朗讯公司 | 单一调制解调器板上改进的多小区支持的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250164B2 (en) * | 2010-04-15 | 2012-08-21 | International Business Machines Corporation | Query performance data on parallel computer system having compute nodes |
-
2015
- 2015-11-24 CN CN201510831796.XA patent/CN105282017B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101433048A (zh) * | 2006-03-28 | 2009-05-13 | 雷帝系统加拿大有限公司 | 并行多核心计算结构的多媒体处理 |
CN101299763A (zh) * | 2008-06-13 | 2008-11-05 | 南京邮电大学 | 无线媒体接入控制层协议重配置方法 |
CN103348641A (zh) * | 2010-11-29 | 2013-10-09 | 阿尔卡特朗讯公司 | 单一调制解调器板上改进的多小区支持的方法和系统 |
CN102073543A (zh) * | 2011-01-14 | 2011-05-25 | 上海交通大学 | 通用处理器与图形处理器融合系统及其融合方法 |
Non-Patent Citations (1)
Title |
---|
面向高性能计算的众核处理器结构级高能效技术;郑方等;《计算机学报》;20141031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105282017A (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105162858B (zh) | 针对corba中间件的通用传输协议框架、通信系统及方法 | |
CN102810081B (zh) | 光纤信道输入/输出数据路由系统和方法 | |
Hasegawa et al. | Postoperative mucoceles of the maxillary sinus. | |
CN106850758A (zh) | 应用于医院信息系统的数据交换方法 | |
CN106845129A (zh) | 一种基于移动终端的医生信息平台 | |
CN109739786A (zh) | 一种dma控制器和异构加速系统 | |
CN107066265A (zh) | 不同编程语言的互连方法及系统 | |
CN105190530A (zh) | 传输硬件渲染的图形数据 | |
CN110012008A (zh) | 基于http协议的异构数据源分布式协调一致性方法及系统 | |
CN108549534A (zh) | 图形用户界面重绘方法、终端设备及计算机可读存储介质 | |
CN105282017B (zh) | 一种基于扁平化模型的通信实现方法 | |
US9614900B1 (en) | Multi-process architecture for a split browser | |
CN108388372A (zh) | 一种自适应触摸数据的方法、装置、设备及存储介质 | |
Spoerl | single session--psychotherapy. | |
CN104270453B (zh) | 一种多级服务器间数据通信方法及服务器 | |
CN104052528B (zh) | 在智能穿戴设备中与多个终端进行通信的装置和方法 | |
CN106896956A (zh) | 一种“道”系统下多点触控的实现方法 | |
CN107885691A (zh) | 串口数据传输方法、分布式设备及主机 | |
CN112114977A (zh) | 一种跨平台的业务系统对接方法和装置 | |
CN108541365A (zh) | 用于交换机中拥塞信息的分发的设备和方法 | |
CN104156332B (zh) | 基于外部pci‑e连接的高性能并行计算方法 | |
CN110430110A (zh) | 一种现场总线网关及其协议转换方法 | |
CN103620571A (zh) | 光纤信道输入/输出数据路由系统和方法 | |
CN105302552B (zh) | 一种用户界面视图扩展方法和装置 | |
CN107450813A (zh) | 一种自带触发功能的按钮的设计方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |