AI场景跟大多数的业务不太一样的是: 网络端需要尽可能地靠近,对于大多数业务来说,为了保证其可用性,一般副本都会分散地部署在不同node,而AI业务通常伴随着海量的数据交换,一个job中的多个pod需要协同处理,如果分散在多个node上,task间的任务交换的快慢就得依赖于网络的传输的快慢,而如果是在一台node上的话,那就没有这部分的消耗,一个job中的pods如何做到尽可能地调度在同一台机器上呢, kube-batch除了能够支持poggroup外,也是能够支持的podaffinit的.
Kubernetes学习(k8s基于InfiniBand实现HPC高性能容器网络组网方案实践四)
前面记录的都是在现有的集群中如何基于infiniband实现集群中的pod同时能够拥有两个网络, 其中一些实现细节并没有展开,个人觉得还是有必要再总结总结.
Kubernetes学习(k8s基于InfiniBand实现HPC高性能容器网络组网方案实践三)
这次把sriov+infinitband部署期间遇到的问题做一个总结,给有需要的同学做个参考.
Kubernetes学习(k8s基于InfiniBand实现HPC高性能容器网络组网方案实践二)
上回简单介绍了下技术背景,这次真正进入实践阶段,之前提到过,sriov是需要硬件支持, 一般开启sriov需要在IBOS中进行设置,这个根据服务器型号不同而操作不同, 具体可参考官网.
Kubernetes学习(k8s基于InfiniBand实现HPC高性能容器网络组网方案实践一)
在HPC场景下,底层网络的性能直接影响最终的结果,HPC往往会伴随海量的数据交换,特别是在跨Node之间,10Gb的以太网网络传输肯定要比100Gb的IB网络传输慢,本人所负责的训练平台也是如此,在一次训练过程中,GPU存在海量数据交换,虽然是在GPU之间,但本质还是通过网络进行传输,但是以太网的传输在HPC场景下往往显得不那么高效,因此可以通过RDMA或者如果预算够的话,通过硬件IB实现数据交换,能大大提高训练质量
Kubernetes学习(k8s基于InfiniBand实现HPC高性能容器网络组网方案实践一)
在HPC场景下,底层网络的性能直接影响最终的结果,HPC往往会伴随海量的数据交换,特别是在跨Node之间,10Gb的以太网网络传输肯定要比100Gb的IB网络传输慢,本人所负责的训练平台也是如此,在一次训练过程中,GPU存在海量数据交换,虽然是在GPU之间,但本质还是通过网络进行传输,但是以太网的传输在HPC场景下往往显得不那么高效,因此可以通过RDMA或者如果预算够的话,通过硬件IB实现数据交换,能大大提高训练质量
Kong学习(代理多grpc后端)
kong在v1.3的版本原生支持了grpc协议, 这里说说使用kong来代理多个grpc请求.
Docker之交叉编译
最近由于业务需要,在做一些关于国产化相关的事情,需要将平台从x86架构迁移到arm64上run起来,最重要的环节则在于镜像都需要rebuild一遍,在这个过程中还是碰到一些问题,拿出来分享一下,希望对其他人会有所帮助.
argoCD学习(argocd是如何绑定资源的)
目前团队使用argo-cd做为统一发布平台,承接所有的环境的发布,最近碰到一个很有意思的问题(下文描述),跟随这个问题引出另一个问题: argo-cd是如何绑定资源的呢?用了argo-cd这么久了,感叹自己从来都没细致研究过,呵呵了.