【技术实现步骤摘要】
一种面向并行应用的容器通信方法和系统
本专利技术涉及通信领域,尤其涉及一种面向并行应用的容器通信方法和系统。
技术介绍
随着微型计算机处理器技术的飞速发展,过去十年间,处理器的计算能力按照“摩尔定律”所描述的速度在进行提高。目前,单台服务器能够提供的处理能够远超过去的服务器处理能力。而应用程序对计算的需求却没有增长得如此迅速,因此导致了现有的计算机处理能力普遍存在剩余的情况。为了进一步提高计算机处理资源的利用率,虚拟化技术被人们所提出。通过在同一个物理机上运行多个虚拟机,能够明显提高服务器的处理能力和资源利用率,同时也带来了在线迁移、动态部署、负载均衡等优势。随着技术的不断发展,科研单位和企业对于高性能计算的需求量不断增长,而高性能计算所需计算资源却因为不同单位的需求差异巨大,很多用户都只有在进行实际高性能计算时才能确定具体的计算资源需求,且不同情况对于计算需求量也会有比较大的差异,而科研单位的自建高性能集群有时无法满足用户的资源需求。还有一些单位仅仅暂时需要高性能计算计算资源,自己构建高性能计算集群的成本高、周期长。针对以上两种典型情况,使用云计算服务商提供的高性能计算虚拟服务器或虚拟实例可以很好地解决资源临时短缺和集群构建成本高、周期长的问题。然而,在使用虚拟化的物理机系统中,往往为了提高资源的利用率,在物理机上运行多台虚拟机,导致虚拟设备的数量远远超过物理机上资源的数量和能够承受的范围,导致了严重的资源过载现象。资源过载引起资源请求得不到及时响应的情况,直接导致高性能并行应用的计算速度受到影响。众所周知,典型的高性能并行应用都采用了基于消息传递的编程 ...
【技术保护点】
1.一种面向并行应用的容器通信方法,其特征在于,其包括:在第一容器(C1)中的第一进程(P1)需要和第二容器(C2)中的第二进程(P2)进行通信且第一和第二容器(C2)处于同一个宿主机(HM1)上的情况下,由所述宿主机(HM1)在所述第一容器(C1)和第二容器(C2)之间建立一个不同于基于TCP协议的第一信道的第二信道,所述第一容器(C1)将所述第一进程(P1)与所述第二进程(P2)进行通信的通信数据发送到第一容器(C1)和/或第二容器(C2)在宿主机(HM1)上申请的共享内存区域并将通信数据的元数据通过第一信道发送给第二容器(C2),在所述第二进程(P2)根据接收到的所述元数据确认接收所述通信数据的情况下,所述第一容器(C1)通过所述第二信道将所述通信数据传递给第二容器(C2)且所述第二进程(P2)通过第一信道将接收数据的确认消息反馈给第一进程(P1)。
【技术特征摘要】
1.一种面向并行应用的容器通信方法,其特征在于,其包括:在第一容器(C1)中的第一进程(P1)需要和第二容器(C2)中的第二进程(P2)进行通信且第一和第二容器(C2)处于同一个宿主机(HM1)上的情况下,由所述宿主机(HM1)在所述第一容器(C1)和第二容器(C2)之间建立一个不同于基于TCP协议的第一信道的第二信道,所述第一容器(C1)将所述第一进程(P1)与所述第二进程(P2)进行通信的通信数据发送到第一容器(C1)和/或第二容器(C2)在宿主机(HM1)上申请的共享内存区域并将通信数据的元数据通过第一信道发送给第二容器(C2),在所述第二进程(P2)根据接收到的所述元数据确认接收所述通信数据的情况下,所述第一容器(C1)通过所述第二信道将所述通信数据传递给第二容器(C2)且所述第二进程(P2)通过第一信道将接收数据的确认消息反馈给第一进程(P1)。2.如权利要求1所述的方法,其特征在于,所述方法还包括:对所述第一容器(C1)和所述第二容器(C2)所处的位置进行判断,其包括:在所述第一进程(P1)和所述第二进程(P2)需要进行通信的情况下,所述第一进程(P1)尝试通过调用操作系统的Socket编程接口与所述第二进程(P2)建立通信,当所述第一进程(P1)和所述第二进程(P2)通过Socket编程接口实现消息传递时,获取第一容器(C1)的第一IP地址和第二容器(C2)的第二IP地址并结合对应的子网掩码计算第一容器(C1)的第一网络号和第二容器(C2)的第二网络号,在第一网络号和第二网络号相同的情况下确认第一容器(C1)和第二容器(C2)处于同一个宿主机(HM1)上。3.如权利要求2所述的方法,其特征在于,所述建立一个不同于基于TCP协议的第一信道的第二信道的处理包括:在确认第一容器(C1)和第二容器(C2)处于同一个宿主机(HM1)上之后,先等待第一进程(P1)与第二进程(P2)之间完成建立基于TCP协议的所述第一信道,然后根据第一信道的TCP连接的第一语义信息建立一个能用于对所述通信数据进行传输的第二信道。4.如权利要求1所述的方法,其特征在于,所述方法还包括:根据所述接收数据的确认消息确定第一进程(P1)与第二进程(P2)之间是否存在进一步的数据交换,若是,则在确认了第一容器(C1)的第一IP地址和第二容器(C2)的第二IP地址均未发生变化的情况下,继续使用所述共享内存区域、已建立的所述第一信道和所述第二信道按照后续通信数据通过第二信道传输且后续通信数据的元数据通过第一信道传输的方式完成第一进程(P1)和第二进程(P2)的数据通信;若否,则先协商释放第二信道,并在第二信道释放后才释放第一信道。5.如权利要求1所述的方法,其...
【专利技术属性】
技术研发人员:王多强,金海,张弛,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。