CN112532539B - 面向大规模并发通信的优化方法 - Google Patents
面向大规模并发通信的优化方法 Download PDFInfo
- Publication number
- CN112532539B CN112532539B CN201910879920.8A CN201910879920A CN112532539B CN 112532539 B CN112532539 B CN 112532539B CN 201910879920 A CN201910879920 A CN 201910879920A CN 112532539 B CN112532539 B CN 112532539B
- Authority
- CN
- China
- Prior art keywords
- request
- sending
- completion
- sender
- receiving
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/629—Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种面向大规模并发通信的优化方法,包括以下步骤:S1、发送方向接收方发起发送请求,设置完成计数器初值;S2、接收方收到来自于发送方的发送请求后,匹配相关接收请求信息,向发送方应答目的地址信息;S3、发送方收到来自于接收方的请求应答后,投递拆分后的前n个传输请求;S4、如果探查到某一个传输请求完成,则将完成计数器的值减1,并判断当前完成计数器的值是否为0,如果为0,向发送方投递完成通知,否则,继续补充后续传输请求;S5、接收方收到来自于接收方的完成通知,置接收操作完成。本发明解决了网络资源竞争导致的性能干扰问题和并发通信的性能可扩展性问题,可有效增强并发通信优化手段的灵活性,提升大规模并发通信性能。
Description
技术领域
本发明涉及一种面向大规模并发通信的优化方法,属于高性能计算机技术领域。
背景技术
高性能计算系统呈现如下两个特点:首先,计算资源规模庞大,应用课题同时并发的进程数可能达到数万乃至数十万规模;其次,网络架构复杂,各通信端点间的耦合强度不一致,且随着用户课题的通信行为特征的差异化而呈现出不同的性能瓶颈。鉴于高性能计算系统的上述特点,大规模并行应用将不可避免地受到由于网络资源竞争而引发的通信性能衰减的影响,从而导致并发通信行为在大规模并行场景下的性能抖动,进而影响大规模并行应用在高性能计算系统上的性能可扩展性。因此,针对高性能计算系统结构特点,研究低开销、高性能的并发通信优化手段,抑制大规模并发通信的性能抖动,将性能衰减控制在较小范围内,保证大规模并行应用性能可扩展性,已成为通信优化方法的重点研究方向。
针对大规模并发通信的性能可扩展性问题,当前业界主要从硬件和软件两个方面进行优化。硬件方面,许多成熟的商用网络产品(如Infiniband)均支持通过设置传输单元长度的方式实现用户数据在高速通信网络中的细粒度传输,避免特定消息传输过程对网络接口的长期独占,从而实现网络接口部件对用户消息请求的公平调度,抑制端口竞争导致的并发通信性能波动。软件方面,则侧重于宏观通信算法的优化实现,通常情况下,由通信支撑环境预置多种实现算法,对于较长的并发通信则采用整体通信数据量较低的算法,对于较短的并发通信则采用整体通信次数较低的算法,同时,根据硬件拓扑结构的特点,对逻辑通信轨迹进行修正,以避免路由冲突带来的性能波动。
通过设置网络接口传输单元长度的方式实现细粒度并发通信优化,虽然可以从微观上保证网络接口通信服务调度的公平性,但是,其缺点在于,如果只进行机械地细粒度拆分,极易降低网络入射率,从而影响带宽性能;基于拓扑结构的软件算法优化方式的缺点在于算法阈值的适应性问题,算法切换阈值受到并行应用规模、并发通信长度、并发通信模式以及物理资源拓扑结构的影响,需要综合参考上述因素的影响,为软件优化方法的适应性带来了较大的难度,成为本领域技术人员努力的方向。
发明内容
本发明的目的是提供一种面向大规模并发通信的优化方法,该面向大规模并发通信的优化方法解决了网络资源竞争导致的性能干扰问题和并发通信的性能可扩展性问题,可以有效增强并发通信优化手段的灵活性,有效提升大规模并发通信性能。
为达到上述目的,本发明采用的技术方案是:一种面向大规模并发通信的优化方法,包括以下步骤:
S1、以固定的拆分粒度为单位,将待发送的消息数据平均分块,将原本一次投递的消息数据传输请求,拆分为N个数据传输请求,其中N=消息数据的总长度/ 拆分粒度;
S2、发送方向接收方发起发送请求,同时发送方根据S1中对消息数据的分块情况,将发送方的完成计数器初值设为N;
S3、接收方收到来自于发送方的发送请求后,根据发送请求的消息标签匹配相关接收请求信息,匹配成功后,向发送方发送包含有目的地址信息的请求应答;
S4、发送方收到来自于接收方的包含有目的地址信息的请求应答后,向接收方投递拆分后的N个数据传输请求中的前n个数据传输请求,其中,n≤计数器初值N,并通过发送完成队列,进行消息探查,阻塞等待某一个拆分后的数据传输请求完成;
S5、如果通过发送完成队列探查到某一个数据传输请求完成,则将发送方的完成计数器的值减1,并判断发送方当前完成计数器的值是否为0,如果为0,表明所有N个数据传输请求完成,发送方向接收方发送完成通知,否则,发送方向接收方补充投递一个后续的数据传输请求;
S6、接收方收到来自于发送方的发送完成通知,接收操作完成。
上述技术方案中进一步改进的方案如下:
1. 上述方案中,所述n的取值通常为网络总端口数量,以保证用满所有网络端口的带宽资源。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明面向大规模并发通信的优化方法,其针对高性能计算应用中常见的大规模并发通信模式,解决了网络资源竞争导致的性能干扰问题和并发通信的性能可扩展性问题,可以有效增强并发通信优化手段的灵活性,有效提升大规模并发通信性能;采用细粒度拆分协议和流水调度相结合的优化方法,实现并发消息请求的均匀、公平调度,实现并发通信数据的层次化流水传输;降低并发通信条件下网络资源竞争导致的性能干扰,在保证网络入射率的同时隐藏软件调度开销,既能够保证网络入射率,降低消息拆分后对带宽的影响,又能够自动动态感知网络拥堵情况,降低并发通信条件下网络资源竞争带来的性能干扰,有效提升大规模并发通信性能。
附图说明
附图1为本发明面向大规模并发通信的优化方法流程示意图;
附图2为调度方式示意图;
附图3为本发明面向大规模并发通信的优化方法流程图。
具体实施方式
实施例:一种面向大规模并发通信的优化方法,基于大规模异构系统,包括以下步骤:
S1、以固定的拆分粒度为单位,将待发送的消息数据平均分块,将原本一次投递的消息数据传输请求,拆分为N个数据传输请求,其中N=消息数据的总长度/ 拆分粒度;
S2、发送方向接收方发起发送请求,同时发送方根据S1中对消息数据的分块情况,将发送方的完成计数器初值设为N;
S3、接收方收到来自于发送方的发送请求后,根据发送请求的消息标签匹配相关接收请求信息,匹配成功后,向发送方发送包含有目的地址信息的请求应答;
S4、发送方收到来自于接收方的包含有目的地址信息的请求应答后,向接收方投递拆分后的N个数据传输请求中的前n个数据传输请求,其中,n≤计数器初值N,并通过发送完成队列,进行消息探查,阻塞等待某一个拆分后的数据传输请求完成;
S5、如果通过发送完成队列探查到某一个数据传输请求完成,则将发送方的完成计数器的值减1,并判断发送方当前完成计数器的值是否为0,如果为0,表明所有N个数据传输请求完成,发送方向接收方发送完成通知,否则,发送方向接收方补充投递一个后续的数据传输请求;
S6、接收方收到来自于发送方的发送完成通知,接收操作完成。
上述n的取值通常为网络总端口数量,以保证用满所有网络端口的带宽资源。
发送完成队列是网络硬件设备和系统软件的交互区,通常位于内存,系统软件投递发送请求时会指定发送完成队列,设备完成发送操作后,会根据系统软件指定的完成队列产生一个发送完成信息单元,系统软件通过判断发送完成信息单元确认前序投递的消息请求是否完成,由于一般系统软件会投递多个发送,产生的多个完成信息单元会按照队列的形式组织。
实施例进一步解释如下:
本发明技术方案的包括两方面内容,首先,采用细粒度消息拆分方式实现点对点通信协议;其次,在消息调度方面,采用流水调度方式,实现并发数据的流水传输。
1)基于细粒度拆分的点对点消息协议
发送方处理流程:
a)向接收方发起发送请求的同时,根据消息数据的拆分情况在本地设置完成计数器初值;
b)收到来自于接收方的请求应答后,投递拆分后的前n个数据传输请求(注:n<=总长度/拆分粒度);
c)一旦探查到某个传输完成,需要将完成计数减1;判断当前完成计数的值是否为0,如果为0,说明数据传输整体完成,向发送方投递完成通知;否则,继续补充后续传输请求;
接收方处理流程:
a)收到发送请求,匹配相关接收请求信息,匹配成功后,向发送方应答目的地址信息;
b)收到完成通知,接收操作完成。
2)流水调度方式
在消息调度方面,如果将拆分后的传输请求一次性地向网络接口进行投递,只能一定程度降低并发消息的冲突概率,且冲突的降低程度和网络接口部件的调度方式与调度速率相关,依然无法在发送端感知网络的拥堵情况,无法实现网络冲突缓解。另外,如果将拆分后的传输请求以阻塞方式进行排队投递,势必降低网络入射率,从而影响带宽。
因此,本发明采用流水调度方式对拆分后的数据传输请求进行调度,具体来说就是传输开始时,以一定的并发深度投递拆分后的前若干个数据传输请求并进入阻塞等待,每完成一个传输请求再补充投递一个后续消息请求,也就是说,后续未调度的数据传输请求的投递操作需要以前序请求的完成为条件。
在流水调度方式下,当网络较为通畅时,前序请求的完成速率较快,后续请求将以较高的速率补充投递,以实现传输带宽的最大化;当网络较为拥堵时,前序请求完成速率变慢,后续请求的投递速率就会随着前序请求的完成以较低的速率进行投递,以缓解当前的网络冲突状况。通过流水调度方式,各拆分单元的投递操作可以基于前序单元的完成情况改变投递速率,实现了数据传输过程对网络拥塞状态的自动感知,从而实现并发消息请求的均匀、公平调度,降低并发通信条件下网络资源竞争导致的性能干扰。
采用上述面向大规模并发通信的优化方法时,其针对高性能计算应用中常见的大规模并发通信模式,解决了网络资源竞争导致的性能干扰问题和并发通信的性能可扩展性问题,可以有效增强并发通信优化手段的灵活性,有效提升大规模并发通信性能;采用细粒度拆分协议和流水调度相结合的优化方法,实现并发消息请求的均匀、公平调度,实现并发通信数据的层次化流水传输;降低并发通信条件下网络资源竞争导致的性能干扰,在保证网络入射率的同时隐藏软件调度开销,既能够保证网络入射率,降低消息拆分后对带宽的影响,又能够自动动态感知网络拥堵情况,降低并发通信条件下网络资源竞争带来的性能干扰,有效提升大规模并发通信性能。
为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:
网络入射率:单位时间内向网络部件持续投递的字节数。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种面向大规模并发通信的优化方法,其特征在于:包括以下步骤:
S1、以固定的拆分粒度为单位,将待发送的消息数据平均分块,将原本一次投递的消息数据传输请求,拆分为N个数据传输请求,其中N=消息数据的总长度/ 拆分粒度;
S2、发送方向接收方发起发送请求,同时发送方根据S1中对消息数据的分块情况,将发送方的完成计数器初值设为N;
S3、接收方收到来自于发送方的发送请求后,根据发送请求的消息标签匹配相关接收请求信息,匹配成功后,向发送方发送包含有目的地址信息的请求应答;
S4、发送方收到来自于接收方的包含有目的地址信息的请求应答后,向接收方投递拆分后的N个数据传输请求中的前n个数据传输请求,其中,1<n≤计数器初值N,并通过发送完成队列,进行消息探查,阻塞等待某一个拆分后的数据传输请求完成,即在传输开始时,以一定的并发深度投递拆分后的前若干个数据传输请求并进入阻塞等待,每完成一个传输请求再补充投递一个后续消息请求,后续未调度的数据传输请求的投递操作需要以前序请求的完成为条件;
S5、如果通过发送完成队列探查到某一个数据传输请求完成,则将发送方的完成计数器的值减1,并判断发送方当前完成计数器的值是否为0,如果为0,表明所有N个数据传输请求完成,发送方向接收方发送完成通知,否则,发送方向接收方补充投递一个后续的数据传输请求;
S6、接收方收到来自于发送方的发送完成通知,接收操作完成。
2.根据权利要求1所述的面向大规模并发通信的优化方法,其特征在于:所述n的取值通常为网络总端口数量,以保证用满所有网络端口的带宽资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910879920.8A CN112532539B (zh) | 2019-09-18 | 2019-09-18 | 面向大规模并发通信的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910879920.8A CN112532539B (zh) | 2019-09-18 | 2019-09-18 | 面向大规模并发通信的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112532539A CN112532539A (zh) | 2021-03-19 |
CN112532539B true CN112532539B (zh) | 2023-03-28 |
Family
ID=74974947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910879920.8A Active CN112532539B (zh) | 2019-09-18 | 2019-09-18 | 面向大规模并发通信的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112532539B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827088A (zh) * | 2010-03-15 | 2010-09-08 | 北京航空航天大学 | 基于cpu总线互联的底层通信协议实现方法 |
CN103218313A (zh) * | 2013-04-02 | 2013-07-24 | 杭州华三通信技术有限公司 | 用于实现缓存描述符交互的方法和电子设备 |
CN103647625A (zh) * | 2013-11-19 | 2014-03-19 | 中国科学院计算技术研究所 | 一种基于链路的数据可靠传输方法 |
CN107750441A (zh) * | 2015-01-26 | 2018-03-02 | 卢森堡商创研腾智权信托有限公司 | 安全动态通讯网络及协定 |
CN109857591A (zh) * | 2018-12-26 | 2019-06-07 | 视联动力信息技术股份有限公司 | 一种传输数据确认的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103460782B (zh) * | 2011-04-14 | 2017-09-26 | 瑞典爱立信有限公司 | 蜂窝网络中的QoE感知业务输送 |
-
2019
- 2019-09-18 CN CN201910879920.8A patent/CN112532539B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827088A (zh) * | 2010-03-15 | 2010-09-08 | 北京航空航天大学 | 基于cpu总线互联的底层通信协议实现方法 |
CN103218313A (zh) * | 2013-04-02 | 2013-07-24 | 杭州华三通信技术有限公司 | 用于实现缓存描述符交互的方法和电子设备 |
CN103647625A (zh) * | 2013-11-19 | 2014-03-19 | 中国科学院计算技术研究所 | 一种基于链路的数据可靠传输方法 |
CN107750441A (zh) * | 2015-01-26 | 2018-03-02 | 卢森堡商创研腾智权信托有限公司 | 安全动态通讯网络及协定 |
CN109857591A (zh) * | 2018-12-26 | 2019-06-07 | 视联动力信息技术股份有限公司 | 一种传输数据确认的方法和装置 |
Non-Patent Citations (1)
Title |
---|
《负荷管理系统中的并发通信设计与实现》;刘兆伟等;《电力需求侧管理》;20060120;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112532539A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799764B2 (en) | System and method for facilitating efficient packet injection into an output buffer in a network interface controller (NIC) | |
US5528584A (en) | High performance path allocation system and method with fairness insurance mechanism for a fiber optic switch | |
CA2063846C (en) | Synchronous node controllers for switching network | |
CN109697122A (zh) | 任务处理方法、设备及计算机存储介质 | |
WO2014032348A1 (zh) | 一种基于时间触发机制的数据传输方法及装置 | |
CN105812287A (zh) | 分组交换网络中的有效电路 | |
US20110164616A1 (en) | Methods and apparatus for processing superframes | |
CN105141552A (zh) | 在fc交换机中支持时间触发机制的数据调度传输方法 | |
CN109688070A (zh) | 一种数据调度方法、网络设备及转发单元 | |
CN105873233A (zh) | 基于分层调度的IEEE802.11ax接入增强方法 | |
CN104717160A (zh) | 交换机及调度算法 | |
CN101930417B (zh) | 用于基于串行数据总线的流媒体传输系统终端设备中的仲裁器 | |
CN111682994A (zh) | 基于epa协议的环形或线形网络系统和非实时数据的传输方法 | |
CN101442439B (zh) | 一种上报中断的方法和pci总线系统 | |
CN112532539B (zh) | 面向大规模并发通信的优化方法 | |
CN102223311A (zh) | 一种队列调度方法及装置 | |
CN114531488A (zh) | 一种面向以太网交换器的高效缓存管理系统 | |
CN101459598B (zh) | 实现分组交换的方法及其系统 | |
CN105721553A (zh) | 一种自适应集群消息分发器 | |
KR102384685B1 (ko) | 비균일 트래픽을 고려한 중앙 집중형 스케줄링 장치 및 방법 | |
CN104899105A (zh) | 一种进程间通信方法 | |
CN109450817B (zh) | 时间触发以太网多业务消息发送的混合调度方法 | |
CN113626221B (zh) | 一种消息入队方法及装置 | |
CN113157465B (zh) | 基于指针链表的消息发送方法及装置 | |
CN115955441A (zh) | 一种基于tsn队列的管理调度方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |