欢迎报名Rust China Hackathon 2022 达坦科技组
12月4日下午,DatenLord就2022Rust China Hackathon大赛活动企业组(达坦科技组)的赛题进行了空中宣讲会。不仅对赛事流程进行了全面的讲解,同时对赛题背景以及完赛标准和要点进行了深入的剖析。会后更是设置问答环节,细致、详尽地解答了大家所提的各种问题,以便大家对赛题有更加充分的理解。
本届Hackathon为Rust中文社区举办的第一届的线上黑客马拉松,大赛主题为「RustForFun」,分为「社区组」与「企业组」。达坦科技作为本届Hackathon的协办方,赞助参与本次企业组赛道。希望借此机会激发大家对Rust语言的学习热情,提高应用Rust的能力,同时结识志趣相投的好友,一起进行思维的碰撞。
赛事日程表
- 报名+组队:11.15~12.12
- 组委会整理报名资料:12.12-12.14
- 开发:12.15~12.18
- 作品提交:12.19
- 作品初评:12.20~12.25 (评委会 + 社区投票)
- 大赛线上路演:12.29(线上直播 :14:00 ~ 18:00)+ 观众投票 + 社区媒体
- 作品颁奖:12.30
(如上述安排有调整,小助手会第一时间提前告知各位参赛人员,请务必报名后联系小助手入群)
扫码加小助手入群,备注:Rust 参赛
参赛福利
本次hackathon大赛设有一、二、三等奖各一组,除此之外为鼓励大家积极参与,组委会还另外设置了5组最佳参与奖。奖品更是丰富多样:不仅包含高额奖金,更有社区限量大礼包,甚至还有社区访谈。除此以外,我们还为参赛者谋取了更多的福利:譬如,你将会体验到前所未有的与线上同好进行技术交流的友好氛围,以及收获到评委大咖的资深点评。
赛题评审
本次大赛将由企业组与社区专家两组评审团共同评审,对基础的代码完成情况和整体作品的性能表现两方面同时进行评分,且二者占比相同。
参赛及代码提交
- 参加本次Hackathon的每个队伍只能选择参加一个赛题,每队成员限1~5人。
- 扫码参赛报名,每个ID仅限1次
- 第一行代码 commit 的时间不得早于12月15日,否则即视为违规,取消参赛资格。为防止队伍之间的代码冲突,每支参赛队伍需要自己创建一个独立。即每个项目需要以一个独立目录提交,且文件名为团队拼音。
- 代码需统一提交至:
https://github.com/datenlord/rustChinaHackathon22。
赛题剖析
在赛事流程介绍完毕后,达坦科技联合创始人兼CTO施继成先生进行本次企业组赛题的介绍。他从当今云计算发展的宏观角度出发,不同的云厂商提供着各种不同的云服务,而一些大企业的内部也建有各独立的私有云。由此,云与云之间的阻隔带来了诸多问题,譬如:一旦选择其一种云服务后,如想将数据导出则变得无比困难。为了解决这个问题,海外学界有人提出了天空计算的概念,旨在解决云之间的隔阂问题,将云服务商(cloud vendor)变成基础设施提供商。达坦科技的开源项目Xline正是在这个背景下应运而生。
与普通的KV不同,Xline是专门应用于全球部署、多集群的情况下的分布式存储KV。它不仅拥有统一的元数据管理系统,同时也保证了在多数据中心情况下的高性能实现。为了给用户带来更多便利,Xline同时也兼容ETCD interface。而我们使用的CURP共识协议也可以保证即使在分布式的情况下,不同server间也保持着同频共振。
Xline KV中设有索引,起到了定位器的作用,可以快速定位数据,同时进行“增删改查”的工作。它能够处理并发操作、Range操作,其最简单的实现是Lock+Btree,但是这也带来了不能scale的问题,即当用户访问量过大时就会受到影响。
本场赛题正是基于此展开的。题目要求实现一个高速并发的 Index 数据结构,满足以下 Trait;同时到达的请求 Key 不会出现 overlap。在并发数据结构的设计以及支持高速 Range 操作(保续)方面是有一定技术难度的,但我们也相信在诸位优秀青年才俊的努力下,更完善的解决方案将会被提出,更多思想火花可以得到释放,技术难题也将被攻破。
达坦科技DatenLord赛题
主题:Concurrent Indexing
背景
Xline是达坦科技推出的分布式元数据KV存储器。在使用中,此系统需要处理来自客户端的高并发请求,数目有时甚至可以扩展到数百至数千个。为了在内存中定位到相应KV数据,我们维护了一个索引,而此索引也成为了整个系统的瓶颈之一。在这样的情况下,如何提高索引在处理并发请求时的性能就成为了一个问题。
挑战
在本次Hackathon中,你将需要通过创建这样一个并发索引来解决此问题,此索引应该满足以下要求:
1、客户端将并发地发送请求,但并不会发送冲突的请求。
2、无冲突的请求应当被并发执行,以提高生产量。
/// Operations of Index
pub(crate) trait IndexOperate<K: Ord, V> {/// Get a range of keys in [key, range_end]fn get(&self, key: &K, range_end: &K) -> Vec<&V>;/// delete a range of keys in [key, range_end] fn delete(&self, key: &K, range_end: &K) -> Vec<V>;/// insert of update a key fn insert_or_update(&self, key: K, value: V) -> Option<V>;
}
评估标准
你的实现应遵从上述 Trait 并满足上述要求。我们将使用一定基准测试来进行评估,并根据其结果评分。在基准测试中,我们将发送大量并发请求,因此你也可以创建自己的性能测试来帮助进行优化。
欲了解更多达坦 科技的赛题,获得赛题宣讲的完整材料,请添加海报中小助手微信咨询、领取,并加入比赛沟通群。
想要获得更多的赛题背景,欢迎收看:Rust唠嗑室-Xline:跨数据中心一致性管理
欢迎报名Rust China Hackathon 2022 达坦科技组相关推荐
- 精彩回顾 I Rust China Hackathon 2022 达坦科技组
由Rust中文社区举办的题为「Rust For Fun」的首届Rust China Hackathon已经顺利完赛.达坦科技作为本届Hackathon的协办方,赞助参与本次企业组赛道.达坦科技组的赛题 ...
- 首届 Rust China Hackathon 2022 线上活动正式启动 | 赛题征集+公司征集
大赛主题 首届 Rust China Hackathon Online 来啦!本届 Hackathon 主题为「Rust for Fun」,期待与你一起用 Rust 释放创新的更多可能性. 本届 H ...
- 首届 Rust China Hackathon Online 来啦!
大赛主题 首届 Rust China Hackathon Online 来啦!本届 Hackathon 主题为「Rust for Fun」,期待与你一起用 Rust 释放创新的更多可能性. 本届 Ha ...
- 首届 Rust China Hackathon Online 参赛队伍名单出炉
Rust for Fun! 首届 Rust China Hackathon Online 参赛队伍名单新鲜出炉,恭喜如下队伍.从明天(12月15日)开始就可以开始比赛了. 请注意赛程安排: 赛程安排 ...
- Datenlord |保持奇迹:达坦科技CTO荣登「X·36Under36」榜单
36氪近期在线上隆重举办了名为"保持奇迹"X·36Under36的创业者盛典.在这场被誉为创投界"奥斯卡"创投盛会上,36氪重磅揭晓了「X·36Under36」 ...
- Rust China Conf 2021 首批议题确定
10 月16日-17日,Rust China Conf 2021 将在上海举办,本次大会主题为"Rust the World".在这一主题下,大会广泛接受海内外 Rust 开发者高 ...
- 【招人啦】达坦科技寻优秀实习生/23届校招生/社招大佬
一.在招岗位 1.Rust分布式存储开发 [岗位职责] 参与高性能分布式存储系统研发,涉及的开发内容包括但不限于: 1. 分布式系统开发: 2. 分布式数据一致性协议: 3. 分布式缓存.数据管理服务 ...
- 福利好礼现金大奖等你来→首届 .NET Conf China Hackathon 火热报名中!
.NET 开源以来越来越多的开发者和企业开始加入到 .NET 的生态..NET 6 是 .NET Framework, .NET Core 和 Mono 三个平台完成融合的第一个长期支持版本,无论你 ...
- 全国高考今日开启 报名人数再创历史新高 2022全国高考时间科目安排 优积科技-祝同学们高考顺利
2022年全国高考于6月7日-8日举行.今年,全国共1193万人报名参加高考,再创历史新高. 高考考试时间及科目安排为:6月7日,9:00至11:30语文:15:00至17:00数学.6月8日,9:0 ...
最新文章
- 区块链是互联网未来十年中举足轻重的技术
- 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.17 如何选择合适的拍摄地点...
- 2020年全国大学生智能汽车竞赛山东赛区比赛专家组工作方案
- Warning: Illegal string offset ‘account‘ in 解决方法
- mseloss 与 smooth_l1_loss比较
- codeup 二叉树(dfs超时版)
- java(13)内部类
- 吴恩达第三周逻辑回归
- 程序员面试题精选100题(56)-C/C++/C#面试题(4)
- java poi导入50万数据_java从oracle读取50万条数据写入Excel中抛GC overhead limit exc
- php如何替换 前的空格,php空格如何替换
- Windows11右下角出现评估副本水印如何去除?
- centos6.4 卸载mysql_彻底删除MYSQL-CENTOS
- rails 放在 apache一个目录下面的配置方法
- 1716. 计算力扣银行的钱
- blob数据类型_MySQL 8.0 基本操作步骤:3.字段和数据类型的选择
- [BZOJ4484][JSOI2015]最小表示(拓扑排序+bitset)
- 基于arcpy包在arcmap里面实现图层的随机选取
- MVVM设计模式和在WPF中的实现(四) 事件绑定
- 进击系列2.0:进击的骑士-----用funcode与C语言实现射击游戏制作
热门文章
- 机器学习(三)——支持向量机(神经网络对比分析)
- python的输入函数是什么意思_「小白学Python」像风一样自由的输入:input( )函数详解...
- 安卓平板电脑使用Termux编程环境配置
- Photo Shop
- 概率密度函数、分布函数区别
- Axure如何制作文字的链接
- 通过webview修改网页内容
- 测试飞机高度和速度的软件,飞机是怎样测量飞行的高度、速度和方向的?
- global 仪表控件 无人机地面站_基于GL Studio的无人机地面站天线控件设计与实现...
- 【优化/加速】CDN 免费图床推荐 / 使用jsDelivr +Github搭建