全国大学生计算机系统能力大赛是由系统能力培养研究专家组发起、由全国高校计算机教育研究会主办、面向高校大学生的全国性大赛。其以培养操作系统领域创新型人才、推动高校操作系统相关课程改革、加强操作系统领域产学研合为宗旨的理念与龙蜥不谋而合,多年来,龙蜥社区以培育高端芯片、关键基础软件的后备人才为己任,秉承“平等、开放、协作、创新”原则,与各大高校开展紧密合作。2024 年全国大学生计算机系统能力大赛操作系统赛(以下简称“2024 大学生操作系统赛”)中,龙蜥社区设置了五个赛题,每个赛题均指派了专业导师对参赛同学提供精心指导,并持续为同学们提供操作系统知识支持。
- 报名时间:02/05 00:00 - 05/15 24:00
- 报名链接(操作系统功能赛):https://os.educg.net/#/index?TYPE=OS_G
- 大赛报名流程( 2024 操作系统功能赛提交指南)
- 赛题咨询:同学们可以发邮件给导师,也可以加入大赛钉钉群(群号:73290004228)咨询。
赛题简介
01 共享内存通信协议栈 SMC 跟踪诊断能力增强
赛题链接:https://github.com/oscomp/proj305-Enhanced-SMC-tracking-and-diagnostic-capabilities
赛题描述:
共享内存通信协议栈 Shared Memory Communication (SMC) 是一种基于共享内存技术(RDMA 等)、兼容 socket 接口的 Linux 内核网络协议。SMC 使用 RDMA 等新技术,透明加速 TCP 网络应用程序,获得更高的带宽、更低的时延,以及更低的资源消耗的网络协议。
近些年,在来自龙蜥社区等众多开发者的参与下,SMC 逐步从面向传统小规模 RDMA 应用场景,扩展到支持更多设备、适配云原生场景的更加现代的协议栈。稳定性、短连接性能得到了显著的提升,SMC 透明加速 Redis 等场景对比 TCP 具有 50% 以上的 QPS 提升,本地回环通信对比 TCP 具有数倍的吞吐提升。
新技术如何在工业界大规模部署和使用,除了需要考虑自身的收益外,还要综合考虑迁移和运维成本。综上,本项目期望能够帮助 SMC 解决最为常见的时延问题,提供所需的两个跟踪诊断指标和工具,即连接和消息级别的时延跟踪,和对应的数据包抓取工具,帮助发现并识别时延问题。
赛题编号:proj305
难度:中等
02 Linux 内核页表共享中虚拟地址与页表页映射关系设计
赛题链接:https://github.com/oscomp/proj298-Linux-Virtual-address-and-page-table-page-mapping
赛题描述:
内存页更新算法一直是操作系统的热门话题,在现代计算机内存的飞速增长,和更多的速度/大小分级下,页分配与回收, 页管理的算法,工作集的判断与处理都有继续探讨的必要。Linux 内核也在这个领域不断进化, 但是仍然有一些可以继续探索的机会。页表共享是最近两年 Linux 社区讨论比较热门和实用的特性。在多进程形式的应用中,比如 PostgreSQL,需要共享大块连续的内存,并发数达到三四百,甚至上千,原有的内存共享方式耗费大量页表页,页表共享是其中的一种解决方法,当前 anolis 已经率先实现了一种页表共享方案。但是当前 anolis 页表共享方案中,直接使用 mm_struct 结构体管理共享页表,可复用多个内核中函数,但结构冗余,有很大简化空间。
赛题编号:proj298
难度:高等
03 在缺少网络/磁盘的硬件环境中进行硅前性能模拟
赛题链接:https://github.com/oscomp/proj290-Simulation-of-silicon-precursor-performance
赛题描述:处理器设计中,在硅前投片前,希望可以预估芯片性能,电子设计自动化(EDA) 工具可以提供寄存器传输级(RTL) 的仿真,即通过一些硬件辅助可以仿真 CPU cycle 级的运行,并能够启动 OS 运行软件。但此类 EDA 工具价格昂贵,通常不会仿真网络/磁盘等外设,只有 CPU 和内存等基础硬件,而实际应用不可避免会用到网络/磁盘设备,因此需要考虑缺少网络/磁盘外设环境中应用的性能失真情况。本项目考虑如何在 OS 中等效网络/磁盘的影响,同时模拟其它部分的性能表现。性能模拟是不断逼近的过程,一种基础的模拟方法是,使用 loopback 设备代替实际网卡进行本地网络通信,使用基于内存的存储替代磁盘进行存储,同学们可以基于此方案改进优化,也可以尝试其它方案。
赛题编号:proj290
难度:高等
04 跨体系结构的 benchmark 性能对比分析
赛题链接:https://github.com/oscomp/proj244-performance-analysis-of-benchmarks-across-architecture
赛题描述:
随着软硬件技术的不断发展,操作系统性能也不断提升。在享受新的软硬件发布带来的性能红利的同时,这些性能提升背后的原因也很有价值,它为性能优化提供了潜在机遇。参赛者可以从 Aliyun ECS (https://www.aliyun.com/product/ecs#/)选择 2 ~ 3 个不同体系结构的实例(建议选择 g8y / g8i / g8a 通用型实例),使用 Alibaba Cloud Linux 操作系统,选择常用操作系统 benchmark (如 UnixBench / MySQL / Redis / Nginx)进行性能对比和分析。本项目旨在分析常见操作系统的性能瓶颈并且提供潜在优化方向。
赛题编号:proj244
难度:高等
05 社区问答助手“龙蜥小二”语料库收集
赛题链接:https://github.com/oscomp/proj243-XiaoerRel-Knowledge-Database
赛题描述:
当前人工智能技术的快速发展,如通义千问和 ChatGPT,对交互服务的变革创造了新的可能,也提出了新的要求。龙蜥小二是社区用户提供社区和操作系统相关智能检索和知识文档的服务。为了更好地服务社区用户,龙蜥小二会进行进一步地智能优化。
赛题编号:proj243
难度:中等
赛事激励
1、获得决赛名次的队伍,主办方颁发团队奖金、获奖证书。
2、参与龙蜥赛题全程的,并提交有效作品的队伍,龙蜥社区提供定制礼,以及神秘权益。
参赛要求
- 以小组为单位参赛,最多三人一个小组。
- 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖。
- 请遵循“2024 全国大学生操作系统比赛”的章程和技术方案要求。
- 更多要求参见大赛章程。
联系我们
欢迎扫描下方二维码加入钉钉与导师交流,微信群请添加小龙微信(微信号:openanolis_assis),并备注“OS大赛”,小龙邀请您入群。想要了解更多技术交流请打开钉钉搜索(群号:73290004228)入群,欢迎欢迎大家报名参加。