2023ICPC EC - final评价之我见

1个回答

写回答

13606214343

2026-02-09 10:10

+ 关注

华为
华为

我幸运地在华为晚宴抽到了Mate 60 Pro特等奖,这让技术组群友有些小情绪。而且甲流在馆内肆虐,技术组的成员们纷纷中招。那我就(先一步)讲讲这次EC - Final背后打杂的经历吧。要是有哪里做得不好,还请大家在评论区多多批评指正。2022年EC - Final结束之后,我们就着手对上个赛季中感觉存在问题的流程逐步优化,同时也渐渐开始构思一些新奇的想法。

不少同学在EC - Final之前的几个赛站里,都体验到了技术组的一些新功能。像全新的代码打印功能(在合肥济南杭州赛站),全新的镜像(大陆赛区除西安之外)等。可以说为了一场Final,大家提前体验了好几个新功能。这期间也有一些小状况,就像原本新技术WebRTC录屏,在南京站测试时出问题了,所以没有启用,到了这次EC - Final实际安装时,就回退到VLC了。不过最后还是有很多不错的新成果,技术组成功借鉴了多场赛站的优点和创新之处,把很多功能都应用到了本次的EC - Final当中。

杭州站的比赛结束后,我们就着手准备本次比赛了。EC - Final技术组的核心人物蔡队 @cUbercsl像永远的红太阳一样,提前前往了SHU。他把本次比赛的定制镜像发给计算中心的老师,还找裁判长沈老师协调相关事务。这时候,今年技术组的人员也确定下来了。组里的成员都是经验丰富的高手,要么有超过三场的运维经验,要么是本赛季某场区域赛的技术负责人。大家本以为今年胜券在握(立Flag),却没想到这才是噩梦的开端。大家都知道,SHU在疫情之后再次承办EC - Final。去年技术组就开始采用ICPC WF Image作为赛场统一镜像,以对标世界总决赛,并且推广到了各个赛站。今年还是原班人马,自然会继续这么做。去年镜像出过一点小问题,让技术组很崩溃(详情可看蔡队3月网络回答),没料到今年又让大家血压飙升。SHU今年用的还原卡和去年一样,这还原卡与linux存在一定兼容性问题。它会向linux系统注入内核和启动脚本(Flag)来适配自身所需操作,所以在3月时大家靠手动改脚本来确保赛场选手机正常运行。可没想到今年连安装都无法完成,原因是还原卡脚本里有一些古老命令。那些聪明的国产软件不会用iproute2管理IP和路由,而WF Image基于Ubuntu 22.04.1这个现代发行版,这就致使适配失败。群友们下载了还原卡官方的虚拟机镜像(好奇怎么有厂商的还原镜像基于VHD),研究后仔细指导如何修改脚本,但最后还是蔡队亲自去了一趟SHU。

甲流
甲流

赛前一周,蔡队表示World Final在封榜后会给解出少于三题的队伍过题发气球,问我们这次要不要也这样做,给大家在封榜后发气球,我表示同意。不过这件事能不能施行还得蔡队询问本场的RCD沈老师,所以我先在Tools里留了个接口做准备。热身赛的前一天,我和蔡队作为先锋队早早地就到了SHU。到体育馆后,我们看到整个赛场差不多都搭建好了,可服务器却没有网线,这可太糟糕了,只能联系信息办的老师给我们提供网线。今年服务器到达的时间和去年不一样,不是提前到达让蔡队能提前配置的,我们到了SHU才见到服务器,完全是崭新的、没有任何配置的服务器,所以得从IPMI和RAID开始重新配置。这时候的进度比去年还慢,而我们摸鱼都到晚饭后了,我有些着急,就从技术室里去年EC - Final剩下的很长的网线中拉了两根出来,插到IPMI接口上,网口灯倒是亮了,可在整个网段都找不到IPMI,这下真是静态IP毁了我的EC梦。没辙了,只能又联系信息办的老师带VGA显示器来救我们,然后我就去气球室配置打印和气球服务了,留下蔡队等显示器到了之后开始配置服务器。没料到进入气球室后又遇到一个麻烦。今年SHU购置了几台全新的某P开头的国产打印机。果不其然,这打印机出问题了。它属于免驱打印机,可插在Ubuntu系统上时,四台打印机总是无法全部被识别。我还以为是线没插好,反复插拔、重启,都没找到问题根源。这时马也(@qinmaye)来了,我赶忙让他帮忙看看这是什么奇葩问题。结果表明,信创打印机还是老样子。英文官网没有这款打印机的驱动,在中文官网下载驱动安装后,竟然就好了。

我赶忙安装好打印和气球客户端,又回到服务器旁边。回来就看到蔡队已经把主服务器的Debian安装好了,真让人感动。接着我安装XCPC - Tools服务端,打算监听上报数据来开始统一选手机的时候,本场最大的问题出现了。之前因为不能确定今年分给我们的网段,蔡队就打算在赛场自己构建DNS。直接在EC - Final专用新镜像里设定,把机器心跳包固定上报给http://heartbeat.ecfinal.icpc。但没想到还原卡启动脚本把DNS设定成了上大校内的DNS服务器,DHCP下发的DNS优先级低于它,结果就被坑惨了。我和马也老师赶忙拿出合肥之前没有用在选手机上报的控制脚本,修改完善后,总算扫描出了赛场内所有选手机,还修补了影响赛事的还原卡脚本,心跳包最终成功上报,320台机器在后台成功显示。全部重启测试的时候,又发现少了好多机器,最后我们直接把还原卡脚本去掉,添加了一个开机初始化脚本,才完成所有选手机的配置。

当确认服务端能识别所有机器,并且我们点开大部分机器的摄像头与桌面录制功能,它们都能正常运行且可观看时,场内选手机的工作差不多就完成了。@Dup4肚皮和@kblack kb接着去配置评测机和Grafana,蔡队开始导入热身赛题目,马也、我和罗老师就先去吃夜宵了。吃夜宵到一半的时候,我们看到dls和qingyu也出来吃夜宵了,真是只有蔡队在忙的节奏啊,只有蔡队受伤的世界.jpg。热身赛那天早上,我一醒来就想起昨天导学校logo时睡着了。赶忙把还没改完的logo改好后下楼吃早饭。这时蔡队告诉我,沈老师同意在封榜后发气球。于是我就在预留的接口处对Tools Server进行魔改,最终在热身赛前成功搞定这个功能。接下来就到了赛前部署的时候。之前22 EC - Final和23南京区域赛外榜都出过一次问题,我作为洛谷的半正式员工,这次就向 @kkksc03 kkk求助了。洛谷为本次比赛外榜提供了CDN,放在HydroOJ和洛谷的域名上。本以为这次外榜肯定不会出问题了(立个Flag),可在我开始配置外榜的时候却发生了意外。 @金少海Soha提供的密钥权限存在问题,怎么都上传不了。于是我一直等到12点,等Soha起床后给我配置权限。Soha还说:我给你权限了,肯定没问题,要是有问题我吃键盘!我心想:吃吧.jpg

然后Soha发现是阿里云控制台太不靠谱的问题,成功完成权限配置,还说这键盘该让阿里云吃。我测试上传正常后,赶紧在赛前配好外榜。

热身赛开始后,这四台信创打印机又把比赛的泥头车高度往上提了提。我是打印机,没纸了也不吭声,还正常接收打印任务,只亮卡纸灯,电脑根本不知道没纸了,等塞了纸再统一打印。没办法,我只能让志愿者多补几次纸。封榜的时候,我们规定封榜后气球少于两个的队伍仍能得到气球。看到第一个鼓励气球送出去,我心里的石头才落了地(算是完成了一个目标)。赛后,在确保场内没有问题之后,我们兵分两路。蔡队和青鱼老师 @Qingyu 继续进行封闭导题,其余人则前往直播间(关于直播间赛前的更多准备情况,可查看 @ReiAC Rei的回答),开始着手赛事准备工作(其实也有摸鱼啦)。到了10点,从杭州下班赶来的白师傅 @张一菜 总算到达。我们立刻开始调试设备,没料到一开始就遭遇挫折,从SHU协调来的三脚架与相机无法完美匹配。这时也别无他法,白师傅赶忙叫了闪送,借三个三脚架送到SHU,不过要到12点才能借到,于是大家都在那儿等着。期间,我下载了海康的工具,重置了预先挂好的两台云台球机,罗老师 @compute 则为没有摄像头的队伍设置球机预置点。在本次赛事中,没有分配到电脑摄像头的队伍就靠这两台可变焦的海康云台球机来展示选手画面,真的很棒。

在等三脚架的时候,我们先向SHU的同学借了一个。很感谢志愿者同学10点还帮忙找三脚架。之后拿了一台相机到楼上看全景,结果发现网线师傅没把网线插到交换机上。我们在群里联系网线师傅到赛场,把网络配置好。此时直播间就差三脚架就全部准备就绪了。

12点脚架通过闪送送达,我们布置好点位,确认无误后大家终于下班。今年下班比去年早很多,只有去印题的命题组还熬到半夜,心疼wls和Rei。

最关键的第一天我居然没睡醒。手机插在床头插座上,因为没电自动关机了。后来复盘才明白,可能酒店清洁时把墙上开关关了。当时我回来困极了,插上充电线没检查就睡了。最后蔡队给校内酒店打电话才叫醒我,真是太丢人了。匆匆赶到时,离比赛开始没多少时间了,我便没去巡场,直接坐在气球室里等比赛开始。比赛一开始就有了首杀,可这时蔡队写的气球小票打印脚本出了状况。我发觉打印出的小票和气球数量似乎不匹配,之后发现蔡队的小票脚本会时不时找不到打印机,然后就不再继续打印,并且蔡队的脚本会把没打印的气球任务也设定为已完成。蔡队说这样是合理的,不然会一直卡在一处。我心里暗骂,这样我的气球任务不就没了嘛。我又气又急,赶忙去修复这个bug,还打印了最后一波出问题的气球。没想到从开场到我开始修复这段时间一直有气球丢失,于是我赶忙让其他人去广播,告知大家封榜后会补上所有气球。

还好就只有这一个问题,wls和青鱼老师的相声把直播间撑得很不错。wls还说下回有比赛请他来讲单口相声就行,真是绝了。

比赛一结束就要整理榜单数据。这次闭幕式在旁边的伟长楼举行,我们吃完饭就核对了DOMJudge和CDS的数据,确认无误后把CDP离线包打包放到Rei的机子上。为避免崩溃,我们给resolver分配了20G内存来滚榜,大内存的苹果电脑就是很棒。数据导出后,就开始了一年一度的国际扑克环节。不过今年有wls和高爹加入,好像只有我不会玩,只能遗憾离场了。今年的挑战赛由华为的老师们自行负责。于是,我又一次在酒店睡到了11点(怎么老是11点)。饭后,我们来到了伟长楼。没想到上海大学(SHU)的音控如此豪华,还能直接导出场地内的影像与声音。但群友没带音视频采集卡,就没打算直播。后来好多人询问直播在哪里,我想了想,借来了Rei的A7M4相机,直接用相机进行直播。直播途中,上海大学WIFI突然出现上传速度为0的情况。多亏了信息办的顾老师,帮我临时协调了一个网口用于直播,这才让提前回去的同学们也能看到讲解和滚榜。

到了闭幕式的滚榜环节,解说嘉宾还是去年的那位教练。但因为前后台配合欠佳,速度可能有点快,下次必须得想个办法协同合作呀,QAQ。结束离场的时候碰到了Bill Poucher,大家赶忙凑过去求合照。Bill人特别好,答应了我们,和我们合完影才离开。还有几个运动员看到了也过来一起合照,这样一来,照片里的人是不是都超厉害啦.jpg。

结束之后我们就去参加华为晚宴了。感觉今年钱主要花在场地上了,场地位置很不错,不过食物没有去年丰盛。我们技术组那桌可厉害了,出了一个三等奖、三个二等奖和一个特等奖。我原本还说自己拿到的266这个号码太吉利了,肯定抽不到奖,结果最后一台Mate60Pro被我抽到了。当时我脑子里面全是烟花在绽放,激动得都没留下获奖的照片。那种不真实的感觉直到上台领奖10分钟后才慢慢消失。我们之前开玩笑说谁要是抽到奖就得上去打广告,所以最后我上去给整个技术组打了一圈广告,像UCup、NamomoWC、HydroOJ,还有由永远的红太阳CSL带领的EC - Final技术服务组。希望下赛季的区域赛还能邀请我们去做运维,我们啥都能做的!

些许花絮。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号