跳转至

Ops

ASC24 初赛回忆录

第一集 ASC五缺四

研究院的老板向我下达指令,要求我从 QLU 凑出一只竞赛队伍来。我细细盘算了一下,猛然觉得我的社交圈过于狭小,以至于难以找到有时间来、以及有能力来参加的同学。因为老板要求我们在济南超算常驻一个月进行备赛,而ASC并不在竞赛清单,学校以及学院那边的行政一贯是难以通融的。

去年参赛的队友,要么正在挣扎于考研、要么已经无心于这个方向,总之是很难再次参加了。

至于别人,我首先想到的是相相,他是我上大学后,一直崇拜的高技术力学长,软硬件通吃的全才,他当时正在申海外,我猜测他也许会有些时间来参赛,便给他发了几长串消息,竭力邀请他前来参赛。相相从来都是南半球作息,在傍晚的时候他醒了,并同意了我的邀请。我心中顿时有了底气,觉得本次ASC应当会取得一定的好成绩。找完相相后,我想到一博或许会愿来一试,他是学校里不多的热衷折腾各种奇妙小众硬件产品,以及对各种怪怪的Linux发行版有深入研究的人,技术栈广且硬核。他去年还参加CPC拿到了一等奖,实力是没话说的。不出所料,一博很快的答应上我的贼船。

一天之后,去年ASC我的队长涛哥告诉我,他还是不能抵挡ASC的魅力,于是决定考研和ASC初赛并行进行(实在是太HPC了)。于是心中又一块石头落了地,我知道把AI赛题交给涛哥是绝对可靠的。

至于最后一个人选,涛哥在AIDC认识一位大二的新人,可以做一点AI相关的赛题。但我将目光瞄准了刚刚从XCPC那边退役的睿总,他有极强的算法能力,我认为他能帮助我们在复杂的工程代码中抽离出核心算法并进行优化。我花费了一晚上的时间,给不知HPC为何物的睿总进行了科普和各种忽悠,拍拍胸脯打包票说“睿总你不要怕别的,我给你搞定一切算法之外的问题,你就负责优化即可”,睿总最终是忐忑不安的应了我的邀请。并且开始速成HPC的各种知识,从硬件到MPI,睿总展现了超强的学习能力和XCPC退役选手的专业素养。

凑够了五个人,我们的ASC2024之旅正式扬帆起航。

第二集 土狗进京企图偷吃小蛋糕未遂

在我们几个看了几个星期赛题,并顺利陷入坐牢状态后,ASC组委会发了北京线下初赛研讨会议的邀请函。我们自然是不能放过前去学习(吃小蛋糕)的好机会,我们指使涛哥暗搓搓的向大老板表达了一下前去学习的愿望,大老板也是很慷慨的同意了我们公费差旅的小算盘。我们订上高铁票,不断幻想着主办方会提供什么样的茶歇小蛋糕,以及如何打探其他赛队的优化进度、咨询专家赛题技术细节。

最终,睿总由于考试撞车,不得不留在学校,眼睁睁看着我们四个土狗进京。

顺便提一句,我们几个人琢磨了好几晚上如何不浪费差旅报销额度,最后找了一个看上去就很高级的“西山花园温泉酒店”。以至于挤掉了boss的额度,不得不换一家稍远的、没有我们那么奢华的酒店。我们实在是太不当人了x

到北京之后,我们坐着地铁兴冲冲的前往了“花园温泉酒店”,一进广场就看到奢华高级的大门,甚至有门童安排行李。我们四个人就显得很土狗很局促了。我还说了句“看见没涛哥,高级酒店就是不一样”。然而我们小丑了,前台人员彬彬有礼的告知我们,订的是“花园温泉酒店”的快捷酒店区,并进行了礼貌的引导,指示我们出门,左转。

我们滚出了高级酒店,左转穿过一个绿化带,发现了同名的快捷酒店。我们四个土狗变成了小丑,推开了不自动的、也不那么奢华的玻璃门,来到了属于我们的地方。办理完入住手续后,气愤的薅走了前台很多块水果糖。

最后我推开门,看着济南130块一晚上的汉庭同款房间规格,心想:“大北京就是不一样的”。

之后我们去培训会,见到了一众专家大佬,以及一些去年ASC决赛现场见过的其他学校老熟人。然而主办方并没有准备茶歇,失去了一些学术会议的色彩。毕竟学术会议的核心就是在专家侃侃而谈时偷吃小蛋糕。除此之外,我们还是收获满满的,听到了专家对于今年赛题的解析,甚至赛题原作者亲临赛场答疑解惑,给我们后续的优化提供了有力的帮助。另外就是睿总在基础讲解部分,系统的入了HPC的门。我是没有细听基础知识,选择与其他队伍的同学出去瞎聊顺便刺探进度。

第三集 济南城大别野

虽然说济南长清也是济南,但总体是属于乡村城镇那一类的。我们五个人在各种平台上找了又找,最终找到了一个离济南超算比较近的大别野,作为我们初赛在济南超算备赛的居住地。今年我有了小汽车,就可以带着队友们在济南城瞎逛,也方便了上下班。去年没有车,我们五个人全靠腿走。

说是大别野,实际上只是租给我们一层,但也是非常大的,有三个卧室,两个卫生间,甚至有自己的小院子。我和涛哥在客厅部署了空气床垫,我睡着还算舒服;但是涛哥过于重量级,睡的就比较难受了,经常抱怨腰痛但是大度无私的让出了卧室,我的涛哥人真是太好了。

白天在济南超算那边,我们通常从早上九点工作到晚上八点甚至十点,如此加班有很大一部分是我的原因,我负责硬件集群以及系统和赛题整体配合,需要不断的在内核态和用户态来回调试,而超算的网络环境对于安全性有变态的管理要求,我们几乎不能远程ipmi管理,所以需要物理的在集群旁边儿,而不能在外面连回来。但是我不走,我的队友只能陪着我坐牢,因为只有我能开车拉他们。最终的结局就是我每天都十点多甚至到凌晨才恋恋不舍的离开超算,拉着队友在车上努力寻找半夜开门儿的饭馆。我有罪。

初赛,济南的天气已经冷起来了,我们租的房子又极大,有将近两百平,以至于空调全天制热但几乎没有什么效果。我们就这样白天在研究院干到半夜,然后回到租的房子后又在客厅缩着脖子凑在一起,对赛题夜夜通宵达旦的理解、修改、优化。

第四集

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 超级计算机的性能排名。