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 达坦科技组相关推荐

  1. 精彩回顾 I Rust China Hackathon 2022 达坦科技组

    由Rust中文社区举办的题为「Rust For Fun」的首届Rust China Hackathon已经顺利完赛.达坦科技作为本届Hackathon的协办方,赞助参与本次企业组赛道.达坦科技组的赛题 ...

  2. 首届 Rust China Hackathon 2022 线上活动正式启动 | 赛题征集+公司征集

    大赛主题 首届 Rust China Hackathon Online 来啦!本届 Hackathon 主题为「Rust for Fun」,期待与你一起用 Rust 释放创新的更多可能性. 本届  H ...

  3. 首届 Rust China Hackathon Online 来啦!

    大赛主题 首届 Rust China Hackathon Online 来啦!本届 Hackathon 主题为「Rust for Fun」,期待与你一起用 Rust 释放创新的更多可能性. 本届 Ha ...

  4. 首届 Rust China Hackathon Online 参赛队伍名单出炉

    Rust for Fun! 首届 Rust China Hackathon Online 参赛队伍名单新鲜出炉,恭喜如下队伍.从明天(12月15日)开始就可以开始比赛了. 请注意赛程安排: 赛程安排 ...

  5. Datenlord |保持奇迹:达坦科技CTO荣登「X·36Under36」榜单

    36氪近期在线上隆重举办了名为"保持奇迹"X·36Under36的创业者盛典.在这场被誉为创投界"奥斯卡"创投盛会上,36氪重磅揭晓了「X·36Under36」 ...

  6. Rust China Conf 2021 首批议题确定

    10 月16日-17日,Rust China Conf 2021 将在上海举办,本次大会主题为"Rust the World".在这一主题下,大会广泛接受海内外 Rust 开发者高 ...

  7. 【招人啦】达坦科技寻优秀实习生/23届校招生/社招大佬

    一.在招岗位 1.Rust分布式存储开发 [岗位职责] 参与高性能分布式存储系统研发,涉及的开发内容包括但不限于: 1. 分布式系统开发: 2. 分布式数据一致性协议: 3. 分布式缓存.数据管理服务 ...

  8. 福利好礼现金大奖等你来→首届 .NET Conf China Hackathon 火热报名中!

    .NET 开源以来越来越多的开发者和企业开始加入到 .NET 的生态..NET 6 是 .NET Framework,  .NET Core 和 Mono 三个平台完成融合的第一个长期支持版本,无论你 ...

  9. 全国高考今日开启 报名人数再创历史新高 2022全国高考时间科目安排 优积科技-祝同学们高考顺利

    2022年全国高考于6月7日-8日举行.今年,全国共1193万人报名参加高考,再创历史新高. 高考考试时间及科目安排为:6月7日,9:00至11:30语文:15:00至17:00数学.6月8日,9:0 ...

最新文章

  1. 区块链是互联网未来十年中举足轻重的技术
  2. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.17 如何选择合适的拍摄地点...
  3. 2020年全国大学生智能汽车竞赛山东赛区比赛专家组工作方案
  4. Warning: Illegal string offset ‘account‘ in 解决方法
  5. mseloss 与 smooth_l1_loss比较
  6. codeup 二叉树(dfs超时版)
  7. java(13)内部类
  8. 吴恩达第三周逻辑回归
  9. 程序员面试题精选100题(56)-C/C++/C#面试题(4)
  10. java poi导入50万数据_java从oracle读取50万条数据写入Excel中抛GC overhead limit exc
  11. php如何替换 前的空格,php空格如何替换
  12. Windows11右下角出现评估副本水印如何去除?
  13. centos6.4 卸载mysql_彻底删除MYSQL-CENTOS
  14. rails 放在 apache一个目录下面的配置方法
  15. 1716. 计算力扣银行的钱
  16. blob数据类型_MySQL 8.0 基本操作步骤:3.字段和数据类型的选择
  17. [BZOJ4484][JSOI2015]最小表示(拓扑排序+bitset)
  18. 基于arcpy包在arcmap里面实现图层的随机选取
  19. MVVM设计模式和在WPF中的实现(四) 事件绑定
  20. 进击系列2.0:进击的骑士-----用funcode与C语言实现射击游戏制作

热门文章

  1. 机器学习(三)——支持向量机(神经网络对比分析)
  2. python的输入函数是什么意思_「小白学Python」像风一样自由的输入:input( )函数详解...
  3. 安卓平板电脑使用Termux编程环境配置
  4. Photo Shop
  5. 概率密度函数、分布函数区别
  6. Axure如何制作文字的链接
  7. 通过webview修改网页内容
  8. 测试飞机高度和速度的软件,飞机是怎样测量飞行的高度、速度和方向的?
  9. global 仪表控件 无人机地面站_基于GL Studio的无人机地面站天线控件设计与实现...
  10. 【优化/加速】CDN 免费图床推荐 / 使用jsDelivr +Github搭建