为培育我国高端芯片、关键基础软件的后备人才,以学科竞赛推动专业建设和计算机领域创新人才培养体系改革,鼓励学生设计、实现综合性的计算机系统,培养系统级的设计、分析、优化与应用能力,全面提升学生的技术创新、工程实践、团队协作能力。以赛促学、以赛促教,为高水平计算机人才成长搭建交流、展示、合作的开放平台,现决定举办辽宁工业大学2023年全国大学生计算机系统能力大赛校级选拔赛。
一、竞赛组织
主办单位:创新创业教育中心
承办单位:电子与信息工程学院
二、参赛对象
编译系统设计赛道:允许在读全日制本科学生参加。
编译系统挑战赛道:允许在读全日制本科学生及研究生参加。
数据库管理系统设计赛:允许在读全日制本科学生参加。
每个参赛队由本校的学生组成,每组学生1-3人,可设1至2名指导教师,学生只能参加1项。
三、竞赛内容及形式
编译系统设计赛比赛内容:
开发支持特定语言、面向ARM硬件平台或RISC-V硬件平台的综合性编译系统。
基于C、C++、Java或Rust语言开发,能够在Ubuntu18.04(64位)操作系统的x86评测服务器上编译。
ARM硬件平台:能够将符合自定义程序设计语言SysY2022的测试程序编译为ARM汇编语言程序(32位,ARMv7),并通过汇编链接后在Raspberry Pi OS(RaspbianGNU/Linux10)操作系统的树莓派(Raspberry4B)设备上运行。
RISC-V硬件平台:能够将符合自定义程序设计语言SysY2022的测试程序编译为RISC-V汇编语言程序(64位,RISC-V),并通过汇编链接后在64位Debian64GNU/Linux bookworm/sid操作系统的昉·星光2(VisionFive2)设备上运行。
功能测试
参赛队所开发的编译器应能够编译大赛提供的SysY2022语言编写的基准测试程序。具有词法分析、语法分析、语义分析、目标代码生成与优化等能力,并支持编译错误的准确识别、定位与错误处理功能。对于正确编译通过的SysY2022基准测试程序,应生成符合要求的汇编文件。
功能测试要求基于大赛给出的汇编器、链接器等工具,用自行研制的编译器为每个基准测试程序生成对应的二进制可执行文件,并在安装有Linux操作系统的指定硬件平台上加载并运行;根据给定的输入数据,比对输出结果,计算得分。若未能将每个基准测试程序正确编译出可执行二进制文件,或所有测试点都未通过计0分;所有测试点都通过计100分;部分测试点通过的,按所通过测试点的比例计算功能测试得分。参赛队的最终功能测试成绩为每个基准测试程序功能测试成绩的平均值。
性能测试
在通过功能测试的前提下,记录每个基准测试在目标硬件平台上的执行时间作为评价依据。每个基准测试程序按照执行时间最小者的性能测试分值被定义为100分,其余各参赛队依据在该基准测试程序上的运行时间与最小运行时间的比值除100计算参赛队在该基准测试程序上的性能得分(性能得分=100/(运行时间/最短运行时间))。性能测试分值越大越好。参赛队的最终性能测试成绩为每个基准测试程序的性能成绩的平均值。
编译系统挑战赛比赛内容:
赛题
题目:代码规模(CodeSize)优化
赛题说明:随着物联网产业的兴起,传统的MCU(Microcontroller Unit)芯片迎来了更多的应用,例如智能穿戴设备(手表、手环)、智能车机、智能家具等。由于MCU芯片可使用内存容量较小,针对运行其中的程序的代码规模(CodeSize)的优化,一直是个重要课题。更小的代码规模,意味着更小的芯片面积、更低的成本、更高的市场竞争力。本题要求参赛队在确保程序功能正确且性能损失合理的前提下,使用汇编/链接时代码规模优化技术,采用包括但不限于基于Global Point(GP)寄存器的代码规模优化技术,尽可能减小面向特定目标平台的二进制可执行文件代码规模。
数据库管理系统设计赛比赛内容:
赛题:比赛内容目前暂未公布,各位参赛队可参考https://github.com/ruc-deke/rucbase-lab
说明:
大赛要求各参赛队综合运用各种知识(包括但不局限于数据库系统原理与实现、编译原理、数据结构与算法、操作系统等),具备将上述知识用于设计、实现和优化数据库系统基本的存取管理、查询处理、事务处理三大核心功能的能力。大赛鼓励各参赛队伍在充分了解数据库系统的基本原理和基本实现技术、现代C++编程技巧和特点等基础上,尽可能提高数据库系统的运行效率。为展示参赛队的设计和实现水平,增加竞赛的对抗性,进入决赛的参赛队还需要针对业务负载的变化,现场增加、调整或优化相关算法,按照实际系统运行的结果进行排名。
初赛内容
参赛队伍需要基于大赛提供的原型系统框架,实现赛题指定的功能,并进行一定的性能优化,主要包括以下内容:
基于大赛提供的数据库原型系统框架,围绕存取管理、查询处理、事务处理三大核心功能,补充和完善相应的代码(编程语言为C++)。
参赛队提交的源代码要求能够在比赛指定的平台上(安装有Ubuntu18.04(x86_64)操作系统的评测服务器)运行,并能够通过指定用例的测试。
参赛队提交的参赛内容(包括代码和文档)在数据库管理系统设计赛官网上全部公开。
提交内容
各参赛队伍在初赛和决赛阶段需要分别提交对应的完整设计内容。
初赛:提交到代码库的数据库内核的完整工程文件。必须包含全部数据库内核源代码(有代码注释,中英文均可,鼓励良好的代码风格)。
进入决赛的队伍需要补充设计与实现文档。文档内容包括但不限于:设计思路、系统框架、实现重点、代码注释(中英文)、开发过程中遇到的主要问题和解决方法。
决赛:提交到代码库的数据库内核的完整工程文件和设计文档。工程文件必须包含全部数据库内核源代码(有代码注释,中英文均可,鼓励良好的代码风格)。
提交方式:
要求在GitLab项目内开发,并通过GitLab项目链接提交评测。通过下面的方法GitLab账号,完成GitLab账号注册之后,在GitLab创建项目,项目名称建议:DB2023-X,项目描述:队伍名称,学校名称。
四、报名时间及作品提交
编译系统设计赛、编译系统挑战赛
报名时间:即日起至5月15日
初赛:报名开始后—2023年8月10日初赛线上作品提交
报名方式:
以学院为单位统一填表附件1:《辽宁工业大学2023年全国大学生计算机系统能力大赛参赛报名表》
登录竞赛网站https://compiler.educg.net进行在线报名;除报名表(附件2:《编译赛电子报名表》)外,报名者需提供加盖电信学院公章的报名表和参赛诚信承诺书(需在5月12日16点前联系佟老师13464684759)、指导教师工作证/一卡通、所有队员学生证/一卡通的扫描件,参赛队将文件包上传至在线报名页面,收到组委会短信确认后,报名工作完成。
数据库管理系统设计赛
报名时间:即日起至6月15日
初赛:报名开始后—2023年7月28日初赛线上作品提交
报名方式:
以学院为单位统一填表附件1:《辽宁工业大学2023年全国大学生计算机系统能力大赛参赛报名表》。
登录竞赛网站https://db.educg.net进行在线报名;除报名表(附件3:《数据库大赛电子报名表》)外,报名者需提供加盖电信学院公章的报名表和参赛诚信承诺书(需在6月14日16点前联系佟老师13464684759)、指导教师工作证/一卡通、所有队员学生证/一卡通的扫描件,参赛队将文件包上传至在线报名页面,收到组委会短信确认后,报名工作完成。
具体竞赛事宜请关注企业微信群通知。
![undefined undefined](/__local/3/D6/05/405E255331DE951B06E4458AA07_5F68FD2A_77D26.png)
五、奖评办法
竞赛设一、二、三等奖。
第二课堂学分按《辽宁工业大学“第二课堂成绩单”制度实施办法》(辽工大发〔2022〕29号)执行。
六、联系方式
联系人:佟老师(电信学院)
联系电话:13464684759