跳转至

Ops

ASC 22-23 回忆录

写在前面

这是一篇关于 ASC 22-23 的回忆录,出于技术保密的考虑,几乎没有任何技术干货,只是我的一些碎碎念。

ASC 22-23 在中国科学技术大学举行,我作为初次参与 ASC 的新人,很幸运的一路来到了决赛现场。

在本届比赛之前,学校并没有一个具体的超算队概念。而是济南超级计算技术研究院和数学与统计学院有深入的合作,从 AIDC 组织遴选了一些有能力的同学来参与相关的的比赛。而我作为 QLU 网络运维(后来单独分离出网络与高性能计算协会)的成员,得到了奇妙熟人关系的推荐和介绍,光速走完流程加入了 AIDC,并顺利的被遴选成为有资格参与 ASC22-23 竞赛的队员。

在参加这个比赛之前,我更多的是做一些网络安全和算法相关的东西,外加从 QLU 网络运维那边得到的 Linux Ops 和集群组建运维的能力。可以说我在 HPC 这个领域算是彻底的小白。在确定了 ASC22-23 的参赛资格后,我在短时间内速成了基本的体系结构和 CUDA 编程、MPI、OpenMP,以及部分高端设备(A100 和 InfiniBand Switch/HCA)的软硬件组建调试能力。

在此必须要感谢拉我上车的好哥们儿,例如旭哥、烁哥以及涛哥,也必须要感谢济南超级计算技术研究院/国家超算济南中心为我们提供的强大经费和先进资源 (括号大学万岁)

镜像站遭遇 SYN 泛洪攻击的诊断与防御

异常的连接数

近日,镜像站莫名遭到多次攻击,症状表现为 TCP 连接数异常上升,久久得不到释放。后台监控检测到大量 5XX 错误,CPU 负载高,正常业务受到较大影响。

通过使用 netstat 命令可以统计服务器当前的各种 TCP 状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

我站在受攻击时的状态列表如下:

TIME_WAIT 168
CLOSE_WAIT 9
SYN_SENT 3
FIN_WAIT1 229
FIN_WAIT2 113
ESTABLISHED 234
SYN_RECV 1272
CLOSING 3
LAST_ACK 97

可以明显发现 SYN_RECV 连接数异常增多。

仅通过这一现象就可以判断为服务器受到了 SYN Flood 泛洪攻击。

如何在 Nginx 上支持 HTTP/2

HTTP/2(原名HTTP 2.0)即超文本传输协议第二版,使用于万维网。HTTP/2 主要基于 SPDY 协议,通过对 HTTP 头字段进行数据压缩、对数据传输采用多路复用和增加服务端推送等举措,来减少网络延迟,提高客户端的页面加载速度。HTTP/2 没有改动 HTTP 的应用语义,仍然使用 HTTP 的请求方法、状态码和头字段等规则,它主要修改了 HTTP 的报文传输格式,通过引入二进制分帧实现性能的提升。

高性能计算 - 基准测试程序 Linpack(HPL)

自通用计算机时代开始以来,就出现了各种用于评估计算机性能的基准测试程序。这些程序的性质通常反映了构建计算机的预期目的,同时还提供了可以与制造商的理论性能估计进行比较的经验性能测量。

高性能计算中最广泛使用的基准之一就是 Linpack 基准,它的起源是一个线性代数运算包,后来被 Lapack 库和其他竞争对手取代。但 Linpack 的基准测试程序在以后的日子里继续发挥强大的影响力。

HPL,即 (High-Performance Linpack) 是早期 Linpack 的衍生产品,其高度并行化的设计,使得它用于评估 TOP500 超级计算机的性能排名。