RoCE在HPC中的应用分析

Research

RoCE(RDMA over Converged Ethernet)协议是一种能在以太网上进行RDMA(远程内存直接访问)的集群网络通信协议,它大大降低了以太网通信的延迟,提高了带宽的利用率,相比传统的TCP/IP协议的性能有了很大提升。本文将聊一聊我对于将RoCE应用到HPC上这件事的看法。

使用Docker配置WOL(Wake On Lan)服务

Docker

本文介绍如何配置一个WOL(Wake On Lan)服务的web端,来实现访问一个网站即可控制远程电脑开机

使用acme.sh配置https加密

网络

对于自建的网站,最好使用https加密一下,以防止被劫持和流量监控。TLS加密的证书可以通过阿里云之类的服务商直接在网页上申请,然后下载使用,但是现在阿里云的免费证书数量限制为了20个。所以本文介绍使用 acme.sh 脚本来申请"Let's Encrypt"的免费证书,这里数量不受限制,并且还可以自动更新。

使用Docker安装qBittorrent

Docker

因为transmission总是有莫名无法上传种子的bug,于是换用qBittorrent试一下,同样使用Docker来安装

Dragonfly拓扑相关研究工作

网络

本文梳理了Dragonfly网络拓扑的一些相关研究工作,这些论文是都是于2022年3月通过在IEEE和ACM上查找被引用记录找到的。关于Dragonfly拓扑的基础知识入门,请参见我的另外一篇《Dragonfly拓扑简介》。

使用Docker配置反向代理

Docker

经常我们会需要将本地机器上起的其他http服务放到公网上,这就需要将特定的域名的访问转到这个docker容器内,并且往往还需要添加https,有时候还希望有个用户名和密码的认证,以防其他人访问。本文讲述如何使用Nginx反向代理将本机跑在其他容器里的http服务,转为https,并且添加用户名和密码认证。

C与CPP混编

Tools

今天遇到了C与C++混编的问题,需要在C中调用C++的函数,研于是研究了一番,最后感谢hyh和lhh大佬的指点。

Centos离线安装软件包

LinuxCentOS

在有些情况下我们需要为离线(断网)状态下的Centos安装一些软件包,虽然使用反向穿透,或者挂载本地everything源也是一种解决方法,但是这里介绍如何直接将包下载下来安装的方法。对于一些其他的系统如Ubuntu之类的,方法也是类似的,这里以Centos作为例子。

Slimfly拓扑学习指引

网络

Slimfly是目前已知的 在限制交换机端口数、网络直径 的情况下最优的网络拓扑,本文介绍如何学习这种网络拓扑。之所以是学习指引是因为这玩意确实有亿点点复杂,讲清楚的话等于把别人东西照搬一遍。

Virtual Channel与Flow Control与Deadlock

网络

在以太网这样的有损网络中,如果一个数据包到达了一个交换机,发现它的输出端口排队极长,已经把buffer都排满了,那么这个包就会被丢弃。但是在InfiniBand这样的无损网络中,是不允许丢包的(除非超时),所以就需要buffered flow control 来对数据包的发送进行严格的管理:当且仅当接收方有空闲buffer的时候,才能发送数据包。但是在进行这样的buffered flow control时,有可能会产生死锁( deadlock ),会导致网络性能降低。而实现buffered flow control和避免deadlock,都需要 Virtual Channel 的帮助。 本文讲详细介绍Virtual Channel与Flow Control与Deadlock。