CN110113271B - 一种基于光电混合交换网络的mpi应用加速***及方法 - Google Patents
一种基于光电混合交换网络的mpi应用加速***及方法 Download PDFInfo
- Publication number
- CN110113271B CN110113271B CN201910271153.2A CN201910271153A CN110113271B CN 110113271 B CN110113271 B CN 110113271B CN 201910271153 A CN201910271153 A CN 201910271153A CN 110113271 B CN110113271 B CN 110113271B
- Authority
- CN
- China
- Prior art keywords
- switch
- data
- rack
- mpi
- node
- 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/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于光电混合交换网络的MPI应用加速***及方法,本发明的***包括计算节点、架顶交换机、光路交换机、核心交换机和MPI调度控制器。其中架顶交换机分别与光路交换机、核心交换机和MPI调度控制器连接,MPI调度控制器同时与光路交换机连接。本发明的方法可对MPI应用中不同的通信操作进行优先级区分,并基于优先级与数据量综合生成数据流量分配权重,由架顶交换机根据权重值将数据流量发送到光路交换机进行加速,大幅提升带宽资源利用率。
Description
技术领域
本发明属于计算机技术领域,并特别涉及一种基于光电混合交换网络的MPI应用加速***及方法。
背景技术
消息传递接口MPI(Message Passing Interface)是一种基于信息传递的并行编程技术,广泛应用于高性能计算并行编程模型。随着计算能力的不断提升,高性能计算机的节点规模日益增长,预计未来几年将会达到数十万节点的规模。运行在高性能计算机上的各种应用规模不断增大,并行应用的编程模型复杂度不断提升,并行应用的执行效率和完成耗时受到挑战。基于MPI的高性能计算并行编程模型在规模达到数千至数万节点时,节点之间通信的耗时占应用完成时间的比例会显著提升,甚至可以达到70%左右,特别是某些同步通信操作会耗用较长的时间,这一问题将会随着节点规模的增大而变的更加严峻。通信***的性能将正在成为大规模并行应用的效率瓶颈之一,网络***层面的加速方法将会缩短并行应用程序的完成耗时。
在专利“针对SMP集群***采用MPI和OpenMPI混合并行提高计算速度的方法”(CN104461467B)中公开了一种针对SMP集群***采用MPI和OpenMP混合并行提高计算速度的方法,可以根据计算节点数目和节点内可用CPU核数确定可调用的MPI进程数和OpenMP线程数;每个进程读入已有的必要数据,之后开启多线程编译指令进行预条件共轭梯度计算,判断误差是否小于允许值,若小于则输出结果,否则继续循环计算。该专利技术优化了传统预条件共轭梯度算法,减少了多线程计算中的同步,提升了多核多节点超级计算机上的计算效率。但这种采用多线程的方式增大了内存开销,受限于共享存储扩展性,无法应用于大规模并行应用中,仅在应用层的优化无法在网络层面带来更大性能提升。
增加网络带宽是提升通信***的性能的有效方法之一,传统的电互连网络的传输速率难以继续提升,而光互连网络本身具有高带宽和低能耗的特性,目前100Gbps的光模块已经较为成熟。但是光互连网络也存在问题:第一,光传输模块、光交换机等网络设备成本较高,大规模部署设备成本开销巨大;第二,业务流量支持粒度不够灵活,一些数据量较小的业务流量对带宽资源利用率较低。
Guohui Wang等人在其发表的论文“c-Through:Part-time Optics in DataCenters”(Acm Sigcomm Conference(Vol.40,pp.327-338))中提出了一种基于微机电***MEMS(Micro-Electro-Mechanical System)光交换机的数据中心光电混合互连网络***及通信方法。该网络***在树形电域网络的基础上增加一层光域网络,ToR(Top of Rack)交换机同时连接到电域网络和光域网络,通过将数据量很大的网络流调度到光域网络上传输来缓解网络拥塞,提升性能。因此,对网络中流量的调度至关重要,直接影响网络性能,但该论文在应用层上对数据流量区分粒度较大,区分标准只有数据量大小,无法根据具体应用操作对数据流量进行优先级区分。
发明内容
本发明的目的是克服上述现有技术不足,通过对数据流量进行更加细致的区分,提升高性能计算机交换网络性能,减少基于MPI大规模并行应用的运行耗时。
针对现有技术的不足,本发明提出一种基于光电混合交换网络的MPI应用加速方法,其中包括:
步骤1、计算节点产生数据并产生通信操作,若该数据的流量大于阈值,则将使用MPI通信操作的优先级表示成权重,并将权重值添加至该数据,执行步骤2,否则将该权重值置零并添加至该数据,执行步骤2;
步骤2、将该数据发送至该计算节点所在机架的架顶交换机,执行步骤3;
步骤3、判断该权重值是否为零,若为零,将该数据发送至核心交换机,并由核心交换机根据目的地址将数据发送到目的节点,否则将该数据存入该架顶交换机的缓存队列,执行步骤4;
步骤4、根据各架顶交换机的缓存队列的长度、缓存队列中各数据的权重值和目的节点地址,通过Edmonds算法进行仲裁,得到光路交换机与各架顶交换机的连接关系,光路交换机跟据该连接关系将该缓存队列中数据发送至该目的节点所在的目的架顶交换机,并通过该目的架顶交换机将该缓存队列中数据发送至该目的节点。
所述的基于光电混合交换网络的MPI应用加速方法,其中步骤4包括:
创建一个T×T的流量需求矩阵,其中T为该架顶交换机的数量,该流量需求矩阵的第m行n列的值记为Wsum,其中0<m<T+1,0<n<T+1,Wsum>0且m和n均为整数,表示第m个架顶交换机到第n个架顶交换机的权重值的总和为Wsum,通过Edmonds算法得到该流量需求矩阵中每一行的最大Wsum,将该值对应的行与列的编号作为仲裁结果,根据仲裁结果生成建链分组作为该连接关系,包含配置标志位、光链路的起点架顶交换机编号和光链路的终点架顶交换机编号,将连接关系以分组广播的方式发送给每一台架顶交换机和每一台光路交换机。
所述的基于光电混合交换网络的MPI应用加速方法,其中步骤1中该权重融合过程为:
W=L/threshold+1/P
其中W为权重值,L为流量,threshold为阈值,P为优先级。
所述的基于光电混合交换网络的MPI应用加速方法,其中该计算节点包括执行高性能计算的芯片、内存、网卡和设备接口。
所述的基于光电混合交换网络的MPI应用加速方法,其中该步骤2包括:该该架顶交换机收判断该数据的目的节点是否位于该机架内,若是,则该架顶交换机将该数据发送到该目的节点,否则执行该步骤3。
本发明还提出了一种基于光电混合交换网络的MPI应用加速***,其中包括:
模块1、计算节点产生数据并产生通信操作,若该数据的流量大于阈值,则将该流量和该数据使用MPI通信操作的优先级融合成权重,并将权重值添加至该数据,执行模块2,否则将该权重值置零并添加至该数据,执行模块2;
模块2、将该数据发送至该计算节点所在机架的架顶交换机,执行模块3;
模块3、判断该权重值是否为零,若是,则将该数据发至核心交换机,该核心交换机根据该数据的目的节点的地址将该数据送到该目的节点,否则将该数据存入该架顶交换机的缓存队列,执行模块4;
模块4、根据各架顶交换机的缓存队列的长度、该缓存队列中各数据的权重值和目的节点地址,通过Edmonds进行仲裁,得到光路交换机与各架顶交换机的连接关系,光路交换机跟据该连接关系将该缓存队列中数据发送至该目的节点所在的目的架顶交换机,并通过该目的架顶交换机将该缓存队列中数据发送至该目的节点。
所述的基于光电混合交换网络的MPI应用加速***,其中该模块4包括:
创建一个T×T的流量需求矩阵,T为该架顶交换机的数量,该流量需求矩阵的第m行n列的值为Wsum,0<m<T+1,0<n<T+1,Wsum>0且m和n均为整数,表示第m个架顶交换机到第n个架顶交换机的权重值的总和Wsum,通过Edmonds算法得到该流量需求矩阵每行最大Wsum,将该最大Wsum对应行与列的编号作为仲裁结果,根据仲裁结果生成建链分组作为该连接关系,包含配置标志位、光链路的起点架顶交换机编号和光链路的终点架顶交换机编号,将连接关系以分组广播的方式发送给每一台架顶交换机和每一台光路交换机。
所述的基于光电混合交换网络的MPI应用加速***,其中模块1中该权重融合过程为:
W=L/threshold+1/P
W为该权重值,L为该流量,threshold为该阈值,P为该优先级。
所述的基于光电混合交换网络的MPI应用加速***,其中该计算节点包括执行高性能计算的芯片、内存、网卡和设备接口。
所述的基于光电混合交换网络的MPI应用加速***,其中该模块2包括:该该架顶交换机收判断该数据的目的节点是否位于该机架内,若是,则该架顶交换机将该数据发送到该目的节点,否则执行该模块3。
本发明与现有技术相比,具有以下优点:
第一、由于本发明的加速***和方法是综合网络层和应用层进行加速,克服了现有技术单一地从应用层面进行优化和加速的局限性,避免了仅在应用层面的优化受限于共享存储扩展性,难以适合大规模应用的部署的问题,使得本发明的***和加速方法更加高效,可以适用于大规模应用的部署。
第二、由于本发明的***采用光电混合互连网络,通过将电互连网络与光互连网络进行合理融合,改进了现有电互连网络带宽较低、通信流量较大时易发生拥塞等问题;克服了全光互连网络设备成本较高、带宽资源利用率较低的问题,使得本发明的网络***可以提供较高的带宽,缩短大数据量的数据流量传输时间,并且保持合理的成本开销和带宽资源利用率。
第三、由于本发明的加速方法采用数据量与通信操作优先级综合计算每一条数据流量的权重,克服了现有方法从数据量单一维度计算数据流量的权重、数据流量区分粒度较为粗糙的问题,使得本发明的加速方法对数据流量的区分更加细致,对应用的加速效果更为显著。
附图说明
图1是本发明的***示意图;
图2是本发明的计算节点示意图;
图3是本发明的架顶交换机示意图;
图4是本发明的光路交换机示意图;
图5是本发明的核心交换机示意图;
图6是本发明的MPI调度控制器示意图;
图7是本发明的方法流程图。
具体实施方式
本发明提出一种基于光电混合互连网络的MPI应用加速***及加速方法。该发明将MPI应用产生的数据量较大、耗时较长的数据流量的通信优先级进行提升,由MPI调度控制器综合数据量与优先级的信息进行仲裁,为通信节点分配高带宽的光通信链路,从而加速应用的执行时间。该发明的加速***由计算节点、架顶交换机、光路交换机、MPI调度控制器和核心交换机组成。计算节点是运行MPI并行应用的基本单元,每个计算单元运行一个流量检测模块,该模块负责将本计算节点运行的应用所产生的流量的数据量大小和产生流量的通信操作优先级的综合生成一个权重值,将权重信息添加到数据流中的数据分组中,将数据流量发送到本机架的架顶交换机,若干计算节点连接到一台架顶交换机,组成一个机架;架顶交换机负责将流量数据转发到正确的目的计算节点,若流量数据的目的计算节点在本机架内部,则直接将流量数据转发到该目的计算节点,若流量数据的目的计算节点在其他机架,架顶交换机则根据流量数据的权重值决定将该数据流量通过光路交换机或者核心交换机发送,若需要通过光路交换机传输,则将该建链请求分组发送至MPI调度控制器,由MPI调度控制器的统一仲裁,等待光传输路径建立就绪后通过光路交换机进行发送;若需要通过核心交换机转发,则直接将数据流量直接发送到核心交换机;光路交换机受MPI调度控制器控制,光路交换机根据MPI调度控制器下发的控制信息配置自身输入输出端口的连接关系,并将架顶交换机的流量数据进行传输;核心交换机将架顶交换机的流量数据转发到对应的目的架顶交换机;MPI调度控制器与光路交换机和每一台架顶交换机连接,MPI调度控制器运行的信息提取模块负责接收每个架顶交换机的建链请求,将建链请求的信息传递到仲裁模块进行仲裁,仲裁模块周期性进行仲裁,仲裁结果发送配置模块,配置模块根据仲裁结果生成建链分组,并将建链分组发送到光路交换机和每台架顶交换机,对光路交换机和架顶交换机的连接关系进行配置。
本发明的***包括计算节点、架顶交换机、光路交换机、核心交换机和MPI调度控制器。
所述的计算节点包括执行高性能计算的芯片、内存、网卡和相应设备接口,用于执行MPI并行应用,产生数据流量Flow并发送到架顶交换机,同时也接收其他计算节点产生的Flow,每条Flow由若干数据分组Pkt组成。每个机架内有H个计算节点,H≥1且H为整数,每个计算节点的地址用(a,b)表示,其中a为所在机架的架顶交换机编号,b为所在机架内计算节点的编号,a和b都是大于等于1的整数。计算节点运行一个流量采集模块,该模块将在应用层采集运行过程中产生的数据流(Flow)的数据量大小L,L的计量单位为bit,L≥1且L为整数,和产生数据的通信操作,每个通信操作对应一个预设的优先级P,P≥1且P为整数,该模块存在一个预设阈值threshold,threshold≥1且threshold为整数,若L≥threshold,则该Flow需要通过光路交换机加速传输,流量采集模块将数据量大小与优先级综合生成一个该条数据流量的权重值W,W>0,将权重值W添加到Flow的每个分组Pkt中,Pkt包含源计算节点Src_node、源机架编号Src_ToR、目的计算节点Dst_node、目的机架编号Dst_ToR、权重W和需要传输的数据payload等信息,Pkt通过计算节点的网卡发送到架顶交换机;若L<threshold,则该Flow需要通过核心交换机传输,流量采集模块直接将该条Flow中的Pkt的权重值W设为0,Pkt包含Src_node、Src_ToR、Dst_node、Dst_ToR、W和payload等信息,Pkt通过计算节点的网卡发送到架顶交换机。
所述的架顶交换机有T台,T≥1且T为整数,每台架顶交换机共有H个下行端口,分别连接本机架内的H台计算节点;有M个上行光交换端口,M≥1且M为整数,分别连接M个光路交换机;有C个上行电交换端口,C≥1且C为整数,分别连接C个核心交换机;1个上行控制端口,连接到MPI调度控制器。每台架顶交换机运行路由模块和统计模块。数据流量进入架顶交换机后,首先由路由模块对数据流量进行分析,若该流量发往本机架内部的计算节点,则路由模块将数据流量发往对应的输出端口,若数据流量发往其他机架的计算节点,则路由模块对该流量进行分析,判断该数据流量发往光路交换机或者核心交换机。架顶交换机存在2条缓存队列o_queue和e_queue,分别缓存发往光路交换机和核心交换机的数据流量,o_queue中的Flow使用每条Flow的Dst_ToR+H作为编号bufferID。架顶交换机的统计模块每T_Day周期将o_queue中各bufferID对应的Flow的权重W信息包含到Pkt_req发送给MPI调度控制器,Pkt_req包括Src_ToR,o_queue的长度,每个bufferID及其对应的W等信息。架顶交换机等待MPI调度控制器返回的建链分组Pkt_setup,并提取Pkt_setup中的配置信息建立光传输路径,光路建立完毕之后发送Pkt_setup对应bufferID的数据流量到配置就绪的上行光端口,同时接收通过该光路传输来的来自其他机架的数据流量,提取该数据流量的信息转发到正确的目的计算节点;e_queue中的数据流量根据地址信息转发到正确的核心交换机。
所述的光路交换机有M台,每台光路交换机有T个下行端口,分别连接每个架顶交换机;有1个上行控制端口,连接到MPI调度控制器。每台光路交换机运行一个配置模块,配置模块根据MPI调度控制器发送的建链分组Pkt_setup进行对应输入输出端口的连接配置,建立光传输路径。
所述的核心交换机有C台,每台核心交换机有T个下行端口,分别连接每个架顶交换机。核心交换机的路由模块负责将来自架顶交换机的数据流量转发到正确的目的架顶交换机。
所述的MPI调度控制器有1台,每台MPI调度控制器有M+T个下行端口,分别连接M台光路交换机和T台架顶交换机。MPI调度控制器主要由信息提取模块,仲裁模块,配置模块3部分组成,信息提取模块负责从Pkt_req分组中提取Src_ToR,o_queue的长度,每个bufferID及其对应的W等仲裁所需信息,并将这些信息发送到仲裁模块;仲裁模块维持一个T×T的流量需求矩阵Matrix_D,该矩阵的第m行n列的值为Wsum,0<m<T+1,0<n<T+1,Wsum>0且m和n均为整数,表示第m个架顶交换机到第n个架顶交换机的权重值的总和Wsum,并每隔T_Day周期通过Edmonds算法匹配每行最大Wsum,将该最大Wsum对应行与列的编号作为仲裁结果abt_result发送给配置模块,配置模块根据abt_result生成建链分组Pkt_setup,Pkt_setup分组包含配置标志位Flag,光链路的起点架顶交换机编号Src_ID,光链路的终点架顶交换机编号Dst_ID,配置模块将Pkt_setup分组广播的方式发送给每一台架顶交换机和每一台光路交换机。
本发明的方法是基于MPI应用的加速方法,包括如下步骤:
步骤(1)计算节点H产生数据流量,流量采集模块检测到该数据流量Flow,该模块采集数据流量的数据量大小L(L≥1)和产生数据的通信操作,每个通信操作对应一个预设的优先级P,若L≥threshold,则执行步骤(2);否则执行步骤(3);
步骤(2)该Flow需要通过光路交换机加速传输,流量采集模块将L与P综合生成一个该条数据流量的权重值W(W>0),将权重值添加到Flow的每个Pkt中,Pkt包含Src_node,Src_ToR,Dst_node,Dst_ToR,W和payload等信息,执行步骤(4);
步骤(3)该Flow需要通过核心交换机传输,流量采集模块直接将该条Flow中的Pkt的权重值W设为0,Pkt包含Src_node,Src_ToR,Dst_node,Dst_ToR,W和payload等信息,执行步骤(4);
步骤(4)计算节点将数据流量Flow发送到本机架内的架顶交换机,架顶交换机收到数据流量Flow,路由模块提取解析Flow中Pkt的Src_node,Src_ToR,Dst_node,Dst_ToR和W等信息;路由模块判断Dst_ToR与Src_ToR是否处于同一机架内,若是,则执行步骤(5);否则执行步骤(6);
步骤(5)架顶交换机的路由模块根据Dst_node计算输出端口,若输出端口空闲,将数据流量占用该输出端口发送到目的计算节点,发送完毕后释放该输出端口,此数据流量的通信结束;若输出端口被占用,则将数据流量缓存至本地队列中,等待输出端口释放后再进行转发;
步骤(6)架顶交换机的路由模块提取Pkt的权值W信息,若W>0,则该数据流量需要通过光路交换机传输,执行步骤(10);若W=0,则该数据流量需要通过核心交换机转发,执行步骤(19);
步骤(7)架顶交换机的统计模块收到MPI调度控制器发送的建链分组Pkt_setup,依据Pkt_setup中的信息配置相应bufferID对应的上行光输出端口,使其处于配置就绪的状态;
步骤(8)架顶交换机的bufferID对应的上行光输出端口若处于配置就绪并空闲状态,则执行步骤(9),否则执行步骤(10);
步骤(9)Flow占用该上行光输出端口转发到光路交换机,转发完成后释放该端口,执行步骤(18);
步骤(10)将Flow缓存至本地o_queue中,等待上行光输出端口配置就绪并处于空闲状态,执行步骤(8);步骤(10)表达的是一个循环等待的过程,就是要等待输出端口就绪并且空闲,如果是,则通过步骤(9)跳出循环等待,否则将会在步骤(8)到步骤(10)中循环等待。步骤(11)和步骤(8)同时执行。
(11)架顶交换机的统计模块每隔配置周期T_Day收集缓存队列o_queue中每条数据流量的W,并将权重信息通过Pkt_req由控制端口发送到MPI调度控制器;
(12)MPI调度控制器在配置周期T_Night内,信息采集模块收集各个架顶交换机的Pkt_req,并提取Src_ToR,o_queue的长度,每个bufferID及其对应的W等信息发送到仲裁模块
(13)仲裁模块通过埃德蒙算法(Edmonds)进行仲裁,计算出下一个传输周期T_day内光路交换机与各个架顶交换机的连接关系,将仲裁结果abt_result发送到配置模块;
(14)配置模块依据abt_result生成建链分组Pkt_setup发送到各个架顶交换机,执行步骤(7),将配置信息发送到光路交换机,执行步骤(15);
(15)光路交换机配置模块根据控制器发送的Pkt_setup配置输入输出端口的连接关系;
(16)数据流量Flow通过光路交换机配置就绪输入输出端口传输到Dst_node所在机架的架顶交换机Dst_ToR,执行步骤(4);
(17)架顶交换机检查与核心交换机连接的上行输出端口状态,若处于空闲,则执行步骤(18),否则,执行步骤(19)
(18)数据流量占用该端口转发至核心交换机,待转发完毕释放端口,执行步骤(20);
(19)数据流量缓存至本地队列e_queue,等待输出端口释放后再进行转发;
(20)核心交换机收到数据流量,路由模块解析Dst_node和Dst_ToR等信息,计算该数据流量的输出端口;
(21)核心交换机检查输出端口状态,若端口处于空闲状态,则执行步骤(22),否则执行步骤(23)
(22)输出端口空闲,则数据流量占用该端口输出到与Dst_ToR对应的架顶交换机,待传输结束后释放该输出端口,执行步骤(4);
(23)输出端口被占用,则数据流量会被缓存到本地的队列中,等待输出端口释放后再进行转发,执行步骤(21)。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下:
参照图1,该基于光电混合互连网络的MPI应用加速***包括计算节点,架顶交换机,光路交换机,核心交换机和MPI调度控制器。H台计算节点连接到1台架顶交换机,H≥1,且H为整数,本实例中取H=10。H台计算节点和1台架顶交换机组成1个机架。本***中有T台架顶交换机,T≥1,且T为整数,本实例中取T=10,每台架顶交换机有H=10个下行端口,与本机架内的10个计算节点连接;每台架顶交换机有M个上行光交换端口,M≥1,且M为整数,本实例中取M=1,上行光交换端口连接1台光路交换机;每台架顶交换机有1个上行控制端口,连接到MPI调度控制器。本***中有M=1台光路交换机,每台光路交换机有T=10个下行端口,分别连接每个架顶交换机;每台光路交换机有1个上行控制端口,连接到MPI调度控制器。本***中有C台核心交换机,C≥1,且C为整数,本实例中取C=1,每台核心交换机有T=10个下行端口,分别连接每个架顶交换机。本***中有1台MPI调度控制器,每台MPI调度控制器有M+T=11个下行端口,分别连接1台光路交换机和10台架顶交换机。
参照图2,该***中的计算节点作为源节点产生数据流量,同时也作为目的节点接收其他计算节点产生的数据流量,每条数据流量由若干数据分组组成。本例中地址为(1,1)计算节点的流量采集模块检测到MPI程序执行过程中产生需要通信的数据流量Flow,在本实例中,以2条数据流量Flow1和Flow2为例,其中Flow1数据量大小L1为1600,通信操作优先级为P1=10,目的节点为(2,2),Flow2数据量大小L2为1000,通信操作优先级为P2=15,目的节点为(4,4)。流量采集模块的预设阈值threshold在本实例中设为1500,L1大于threshold,L2小于threshold,因此Flow1需要通过光路交换机加速传输,流量采集模块使用公式W=L/threshold+1/P计算Flow1的权重值W=1.6,并将权重值添加到Flow1中的每个分组中,分组中包含了Dst_ToR=2,Dst_node=2,Src_ToR=1,Src_node=1,W=1.6和需要传输的数据payload等信息,分组通过计算节点的网卡发送到架顶交换机;Flow2需要通过核心交换机传输,流量采集模块直接将Flow2权重W设置为0,Flow2的分组中包含Dst_ToR=4,Dst_node=4,Src_ToR=1,Src_node=1,W=0和需要传输的数据payload等信息,分组通过计算节点的网卡发送到架顶交换机;
参照图3,当数据流量Flow1和Flow2进入架顶交换机后,首先由路由模块解析,若Dst_ToR=1,则数据流量发往本机架内的节点,则根据Dst_node信息转发到对应计算节点。Flow1和Flow2的Dst_ToR均不为1,因此是发往其他机架的计算节点。Flow1中分组的W>0,需要发往光路交换机,将Flow1缓存到o_queue,使用Dst_ToR+H作为编号bufferID,架顶交换机的统计模块每隔配置周期T_Day将各bufferID的权重总和信息包含到请求分组Pkt_req发送到MPI调度控制器,本实例中T_Day=1秒。Pkt_req包括Src_ToR,o_queue的长度,每个bufferID及其对应的W等信息。架顶交换机收到架顶交换机发送的建链分组Pkt_setup,并根据Pkt_setup中的配置信息建立光传输路径,建立完毕后发送Pkt_setup信息中对应bufferID的数据流量到上行光端口,同时接收光端口传输来的来自其他机架的数据流量;Flow2中分组的W=0,将Flow2缓存到e_queue,并转发到核心交换机。
参照图4,光路交换机运行一个配置模块,配置模块根据MPI调度控制器发送的建链分组Pkt_setup进行对应输入输出端口的连接配置,建立光传输路径。
参照图5,核心交换机由模块负责将来自架顶交换机的数据流量转发到正确的目的架顶交换机。
参照图6,MPI调度控制器主要由信息提取模块,仲裁模块,配置模块3部分组成,信息提取模块负责从Pkt_req分组中提取Src_ToR,o_queue的长度,每个bufferID及其对应的W等仲裁所需信息,并将这些信息发送到仲裁模块;仲裁模块维持一个T×T的流量需求矩阵Matrix_D,该矩阵的第m行n列的值为Wsum,表示第m个架顶交换机到第n个架顶交换机的权重值的总和Wsum,并每隔T_Day周期通过Edmonds算法匹配每行最大Wsum,将该最大Wsum对应行与列的编号作为仲裁结果abt_result发送给配置模块,配置模块根据abt_result生成建链分组Pkt_setup,Pkt_setup分组包含配置标志位Flag,光链路的起点架顶交换机编号Src_ID,光链路的终点架顶交换机编号Dst_ID,配置模块每隔周期T_Night将Pkt_setup分组广播的方式发送给每一台架顶交换机和每一台光路交换机,本实例中T_Night=0.5秒。
参照图7,本发明的基于MPI应用的加速方法,包括如下步骤:
步骤1,计算节点H产生数据流量,流量采集模块检测到该数据流量Flow,该模块采集数据流量的数据量大小L(L≥1)和产生数据的通信操作,每个通信操作对应一个预设的优先级P,若L≥threshold,则执行步骤2;否则执行步骤3;
步骤2,该Flow需要通过光路交换机加速传输,流量采集模块将L与P综合生成一个该条数据流量的权重值W(W>0),将权重值添加到Flow的每个Pkt中,Pkt包含Src_node,Src_ToR,Dst_node,Dst_ToR,W和payload等信息,执行步骤4;
步骤3,该Flow需要通过核心交换机传输,流量采集模块直接将该条Flow中的Pkt的权重值W设为0,Pkt包含Src_node,Src_ToR,Dst_node,Dst_ToR,W和payload等信息,执行步骤4;
步骤4,计算节点将数据流量Flow发送到本机架内的架顶交换机,架顶交换机收到数据流量Flow,路由模块提取解析Flow中Pkt的Src_node,Src_ToR,Dst_node,Dst_ToR和W等信息;路由模块判断Dst_ToR与Src_ToR是否处于同一机架内,若是,则执行步骤5;否则执行步骤6;
步骤5,架顶交换机的路由模块根据Dst_node计算输出端口,若输出端口空闲,将数据流量占用该输出端口发送到目的计算节点,发送完毕后释放该输出端口,此数据流量的通信结束;若输出端口被占用,则将数据流量缓存至本地队列中,等待输出端口释放后再进行转发;
步骤6,架顶交换机的路由模块提取Pkt的权值W信息,若W>0,则该数据流量需要通过光路交换机传输,执行步骤10;若W=0,则该数据流量需要通过核心交换机转发,执行步骤19;
步骤7,架顶交换机的统计模块收到MPI调度控制器发送的建链分组Pkt_setup,依据Pkt_setup中的信息配置相应bufferID对应的上行光输出端口,使其处于配置就绪的状态;
步骤8,架顶交换机的bufferID对应的上行光输出端口若处于配置就绪并空闲状态,则执行步骤9,否则执行步骤10;
步骤9,Flow占用该上行光输出端口转发到光路交换机,转发完成后释放该端口,执行步骤18;
步骤10,将Flow缓存至本地o_queue中,等待上行光输出端口配置就绪并处于空闲状态,执行步骤8;
步骤11,架顶交换机的统计模块每隔配置周期T_Day收集缓存队列o_queue中每条数据流量的W,并将权重信息通过Pkt_req由控制端口发送到MPI调度控制器;
步骤12,MPI调度控制器在配置周期T_Night内,信息采集模块收集各个架顶交换机的Pkt_req,并提取Src_ToR,o_queue的长度,每个bufferID及其对应的W等信息发送到仲裁模块
步骤13,仲裁模块通过Edmonds进行仲裁,计算出下一个传输周期T_day内光路交换机与各个架顶交换机的连接关系,将仲裁结果abt_result发送到配置模块;
步骤14,配置模块依据abt_result生成建链分组Pkt_setup发送到各个架顶交换机,执行步骤7,将配置信息发送到光路交换机,执行步骤15;
步骤15,光路交换机配置模块根据控制器发送的Pkt_setup配置输入输出端口的连接关系;
步骤16,数据流量Flow通过光路交换机配置就绪输入输出端口传输到Dst_node所在机架的架顶交换机Dst_ToR,执行步骤4;
步骤17,架顶交换机检查与核心交换机连接的上行输出端口状态,若处于空闲,则执行步骤18,否则,执行步骤19
步骤18,数据流量占用该端口转发至核心交换机,待转发完毕释放端口,执行步骤20;
步骤19,数据流量缓存至本地队列e_queue,等待输出端口释放后再进行转发;
步骤20,核心交换机收到数据流量,路由模块解析Dst_node和Dst_ToR等信息,计算该数据流量的输出端口;
步骤21,核心交换机检查输出端口状态,若端口处于空闲状态,则执行步骤22,否则执行步骤23;
步骤22,输出端口空闲,则数据流量占用该端口输出到与Dst_ToR对应的架顶交换机,待传输结束后释放该输出端口,执行步骤4;
步骤23,输出端口被占用,则数据流量会被缓存到本地的队列中,等待输出端口释放后再进行转发,执行步骤21。
以下为与上述方法实施例对应的***实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种基于光电混合交换网络的MPI应用加速***,其中包括:
模块1、计算节点产生数据并产生通信操作,若该数据的流量大于阈值,则将该流量和该数据使用MPI通信操作的优先级融合成权重,并将权重值添加至该数据,执行模块2,否则将该权重值置零并添加至该数据,执行模块2;
模块2、将该数据发送至该计算节点所在机架的架顶交换机,执行模块3;
模块3、判断该权重值是否为零,若是,则将该数据发至核心交换机,该核心交换机根据该数据的目的节点的地址将该数据送到该目的节点,否则将该数据存入该架顶交换机的缓存队列,执行模块4;
模块4、根据各架顶交换机的缓存队列的长度、该缓存队列中各数据的权重值和目的节点地址,通过Edmonds进行仲裁,得到光路交换机与各架顶交换机的连接关系,光路交换机跟据该连接关系将该缓存队列中数据发送至该目的节点所在的目的架顶交换机,并通过该目的架顶交换机将该缓存队列中数据发送至该目的节点。
所述的基于光电混合交换网络的MPI应用加速***,其中该模块4包括:
创建一个T×T的流量需求矩阵,T为该架顶交换机的数量,该流量需求矩阵的第m行n列的值为Wsum,0<m<T+1,0<n<T+1,Wsum>0且m和n均为整数,表示第m个架顶交换机到第n个架顶交换机的权重值的总和Wsum,通过Edmonds算法得到该流量需求矩阵每行最大Wsum,将该最大Wsum对应行与列的编号作为仲裁结果,根据仲裁结果生成建链分组作为该连接关系,包含配置标志位、光链路的起点架顶交换机编号和光链路的终点架顶交换机编号,将连接关系以分组广播的方式发送给每一台架顶交换机和每一台光路交换机。
所述的基于光电混合交换网络的MPI应用加速***,其中模块1中该权重融合过程为:
W=L/threshold+1/P
W为该权重值,L为该流量,threshold为该阈值,P为该优先级。
所述的基于光电混合交换网络的MPI应用加速***,其中该计算节点包括执行高性能计算的芯片、内存、网卡和设备接口。
所述的基于光电混合交换网络的MPI应用加速***,其中该模块2包括:该该架顶交换机收判断该数据的目的节点是否位于该机架内,若是,则该架顶交换机将该数据发送到该目的节点,否则执行该模块3。
Claims (5)
1.一种基于光电混合交换网络的MPI应用加速方法,其特征在于,包括:
步骤1、计算节点产生数据并产生通信操作,若该数据的流量大于阈值,则将该流量和该数据使用MPI通信操作的优先级融合成权重,并将权重值添加至该数据,执行步骤2,否则将该权重值置零并添加至该数据,执行步骤2;
步骤2、将该数据发送至该计算节点所在机架的架顶交换机,执行步骤3;
步骤3、判断该权重值是否为零,若是,则将该数据发至核心交换机,该核心交换机根据该数据的目的节点的地址将该数据送到该目的节点,否则将该数据存入该架顶交换机的缓存队列,执行步骤4;
步骤4、根据各架顶交换机的缓存队列的长度、该缓存队列中各数据的权重值和目的节点地址,通过Edmonds进行仲裁,得到光路交换机与各架顶交换机的连接关系,光路交换机根据该连接关系将该缓存队列中数据发送至该目的节点所在的目的架顶交换机,并通过该目的架顶交换机将该缓存队列中数据发送至该目的节点。
2.如权利要求1所述的基于光电混合交换网络的MPI应用加速方法,其特征在于,该步骤4包括:
创建一个T×T的流量需求矩阵,T为该架顶交换机的数量,该流量需求矩阵的第m行n列的值为Wsum,0<m<T+1,0<n<T+1,Wsum>0且m和n均为整数,Wsum表示第m个架顶交换机到第n个架顶交换机的权重值的总和,通过Edmonds算法得到该流量需求矩阵每行最大Wsum,将该最大Wsum对应行与列的编号作为仲裁结果,根据仲裁结果生成建链分组,并将该建链分组作为该连接关系,该连接关系包含配置标志位、光链路的起点架顶交换机编号和光链路的终点架顶交换机编号,将该连接关系以分组广播的方式发送给每一台架顶交换机和每一台光路交换机。
3.如权利要求1或2所述的基于光电混合交换网络的MPI应用加速方法,其特征在于,步骤1中该权重融合过程为:
W=L/threshold+1/P
W为该权重值,L为该流量,threshold为该阈值,P为该优先级。
4.如权利要求1或2所述的基于光电混合交换网络的MPI应用加速方法,其特征在于,该计算节点包括执行高性能计算的芯片、内存、网卡和设备接口。
5.如权利要求1或2所述的基于光电混合交换网络的MPI应用加速方法,其特征在于,该步骤2包括:该架顶交换机判断该数据的目的节点是否位于该机架内,若是,则该架顶交换机将该数据发送到该目的节点,否则执行该步骤3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910271153.2A CN110113271B (zh) | 2019-04-04 | 2019-04-04 | 一种基于光电混合交换网络的mpi应用加速***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910271153.2A CN110113271B (zh) | 2019-04-04 | 2019-04-04 | 一种基于光电混合交换网络的mpi应用加速***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110113271A CN110113271A (zh) | 2019-08-09 |
CN110113271B true CN110113271B (zh) | 2021-04-27 |
Family
ID=67485151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910271153.2A Active CN110113271B (zh) | 2019-04-04 | 2019-04-04 | 一种基于光电混合交换网络的mpi应用加速***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110113271B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110769332B (zh) * | 2019-10-10 | 2021-10-08 | 东南大学 | 一种光电混合分层交换光接入*** |
US20220174000A1 (en) * | 2020-12-01 | 2022-06-02 | Mellanox Technologies Tlv Ltd. | Routing with a fixed matchings switch |
CN113472685B (zh) * | 2021-05-27 | 2023-07-21 | 北京邮电大学 | 数据中心中基于QoS流分类的光电混合交换方法及设备 |
CN114969502B (zh) * | 2021-06-21 | 2023-10-27 | 中移互联网有限公司 | 车用信息交换方法及***、计算机可读存储介质 |
CN113630346B (zh) * | 2021-09-14 | 2023-08-04 | 北京百度网讯科技有限公司 | 分布式网络*** |
CN113839886B (zh) * | 2021-09-18 | 2023-04-18 | 北京邮电大学 | 光电混合交换网络的故障处理方法、装置、电子设备及介质 |
CN113839887B (zh) * | 2021-09-18 | 2023-04-18 | 北京邮电大学 | 光电混合交换网络的故障处理方法、装置以及电子设备 |
CN115550281B (zh) * | 2022-11-30 | 2023-04-28 | 广州地铁设计研究院股份有限公司 | 一种面向awgr光交换数据中心网络的资源调度方法及架构 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101370312A (zh) * | 2007-08-17 | 2009-02-18 | 电子科技大学 | 一种基于环路的混合交换光网络的构造方法 |
CN109168094A (zh) * | 2018-09-30 | 2019-01-08 | 三维通信股份有限公司 | 一种光流交换网络调度方法及光流交换*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8983293B2 (en) * | 2012-04-25 | 2015-03-17 | Ciena Corporation | Electro-optical switching fabric systems and methods |
CN102638411B (zh) * | 2012-05-02 | 2014-08-20 | 西安电子科技大学 | 基于超立方簇的数据中心光互连网络***及通信方法 |
CN104104616B (zh) * | 2013-04-03 | 2019-04-19 | 华为技术有限公司 | 数据调度和交换的方法、装置及*** |
US10264334B2 (en) * | 2015-04-24 | 2019-04-16 | The Regents Of The University Of California | End-to-end scheduling for all-optical data centers |
CN105282056B (zh) * | 2015-11-09 | 2019-01-11 | 中国科学院计算技术研究所 | 一种新型光电混合交换数据中心网络架构 |
-
2019
- 2019-04-04 CN CN201910271153.2A patent/CN110113271B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101370312A (zh) * | 2007-08-17 | 2009-02-18 | 电子科技大学 | 一种基于环路的混合交换光网络的构造方法 |
CN109168094A (zh) * | 2018-09-30 | 2019-01-08 | 三维通信股份有限公司 | 一种光流交换网络调度方法及光流交换*** |
Also Published As
Publication number | Publication date |
---|---|
CN110113271A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113271B (zh) | 一种基于光电混合交换网络的mpi应用加速***及方法 | |
CN102281478B (zh) | 用于混合交换的片上光路由器 | |
Agrawal et al. | Simulation of network on chip for 3D router architecture | |
CN105337883A (zh) | 一种支持多业务的网络交换装置及其实现方法 | |
CN104104616A (zh) | 数据调度和交换的方法、装置及*** | |
Minkenberg et al. | Designing a crossbar scheduler for HPC applications | |
KR20150013259A (ko) | 서버 노드 상호 연결 디바이스 및 방법 | |
CN104253765A (zh) | 一种数据包交换方法、装置以及接入交换机和交换*** | |
CN111193971B (zh) | 一种面向机器学习的分布式计算互连网络***及通信方法 | |
Yan et al. | FOScube: A scalable data center network architecture based on multiple parallel networks and fast optical switches | |
Glick et al. | Scheduling and control in hybrid data centers | |
CN102780936B (zh) | 无阻塞通信的光片上网络***及其通信方法 | |
Baziana et al. | Collision-free distributed MAC protocol for passive optical intra-rack data center networks | |
CN103491023A (zh) | 用于三维torus光电混合网络的路由方法 | |
He et al. | Dynamic bandwidth scheduling algorithm for space applications in FC-AE-1553 switching network | |
Luo et al. | Achieving ultralow-latency optical interconnection for high performance computing (HPC) systems by joint allocation of computation and communication resources | |
Yan et al. | Novel flat DCN architecture based on optical switches with fast flow control | |
CN103401739B (zh) | 一种支持传感接入和光分组传输的传感网络的节点装置 | |
CN107332789B (zh) | 基于click控制器的全异步人工神经元网络的通讯方法 | |
Li et al. | Design and implementation of multi-priority hybrid threshold scheduling algorithm for edge nodes of satellite OBS networks | |
Yan et al. | On the performance of scalable fast optical switch based recursive network architecture for HPC applications | |
Mouchos et al. | Parallel Traffic Generation of a Decomposed Optical Edge Node on a GPU | |
CN115550281B (zh) | 一种面向awgr光交换数据中心网络的资源调度方法及架构 | |
Guo et al. | TDM based optical bypass for intra-rack elephant flow with a DPDK based online timeslot allocator | |
TW201918078A (zh) | 運用於資料中心網路之光交換系統 |
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 |