
RMK:使用Rust语言构建高性能键盘固件
讲师: 顾浩波
讲师简介: RMK 作者,Rust嵌入式开源贡献者,毕业于清华大学&UW,曾就职于阿里云、达摩院,同时是硬件开发者、Rust爱好者。
议题简介:RMK是使用Rust语言构建的高性能开源键盘固件库,得益于Rust在嵌入式领域中的发展,RMK可以支持stm32/nRF/esp32/rp2040等诸多芯片,同时带来了对蓝牙+USB双模的支持。本次演讲以构建键盘固件为例,介绍了Rust在嵌入式场景中的实际应用,相关工具,优缺点等,同时分享了使用Rust进行嵌入式开发的一些经验。
RustPixel 开源项目及游戏行业应用
讲师: 周欣
讲师简介: 在线途游CTO
议题简介: RustPixel 是我个人学习rust语言的第一个正式项目,RustPixel是一个 2D 游戏引擎和快速原型制作工具,支持终端和图形两种渲染模式。适合创建2D像素风格的游戏和开发终端应用程序。终端模式:在终端中使用 ASCII 和 Unicode Emoji 进行渲染。SDL2模式 :使用 SDL2 构建,使用 PETSCII 和自定义图形符号进行渲染。Web模式与SDL2模式类似,但核心逻辑被编译成WASM并使用WebGL和JavaScript进行渲染。RustPixel 实现了游戏循环、Model / Render通用模式和Event机制来支持小游戏和应用的构建。它还包括一些常见的游戏算法和工具模块。我们还将继续利用Rust的安全,高性能语言特性,扩展Rust在游戏公司技术栈内的应用场景。
基于 Rust 编写下一代实时搜索引擎
讲师: 曾勇
讲师简介: 极限科技 / INFINI Labs 创始人& CEO,前 Elastic 亚太区布道师与咨询业务负责人,目前致力于 ES 国产替代与下一代实时搜索引擎的研究。
议题简介: 现代搜索基础设施正迈入下一个阶段,我们很多客户正面临万亿数据规模以及对于数据新鲜度更实时的需求而带来的挑战。鉴于此,我们团队这两年来一直在思考下一代搜索引擎的设计,并基于 Rust 研发了一款名为 INFINI Pizza 的全新搜索引擎,Pizza 的研发初衷是为了满足更多复杂场景下的搜索需求,通过不断的技术创新与优化来解决海量数据无限伸缩的需求,并利用最新的算法和数据结构来充分释放现代硬件的威力,能够实现高效、准确的实时数据搜索能力,满足核心业务场景高并发低延迟的需求,为企业提供可靠性的实时搜索基础底座。
基于 Rust 的 Router 组件在 Kong Gateway 中的实践
讲师: 孙大同
讲师简介: 孙大同是 Kong 网关组的首席工程师 (Principal Engineer) 和 Tech Lead,我们负责维护 Kong Gateway 的开源以及商业版产品。孙大同在网关领域已经有超过 8 年的工作经验。他在 Kong 是 Rust 活跃的布道师,并成功的在 Kong 的旗舰产品 - Kong Gateway 中首个提出,设计并实现了基于 Rust 的核心组件并取得了良好的客户和社区反馈。他也是 OpenResty 开源项目的贡献者。在加入 Kong Inc 之前,他也曾经在 OpenResty,Cloudflare 等知名公司进行过网关开发。孙大同拥有美国私人飞行执照和仪表飞行执照,业余时间会在加州各地飞行。
议题简介: Kong API Gateway 是世界上最受欢迎的开源 API 网关之一,在 GitHub 上拥有 38000 个 stars 以及大量世界 500 强商业用户。Router 是 Kong Gateway 里最重要的组件之一,负责所有下游用户请求的分发,对性能、质量和稳定性的要求极高。我们在 Kong Gateway 3.0 版本里成功引入了基于 Rust 编写的,基于我们自行设计的 DSL 实现的全新路由引擎(已开源:https://github.com/kong/atc-router),取得了性能、稳定性以及可维护性的三重提高。本演讲即是分享我们对于在成熟开源商业产品里引入 Rust 的心得,取得的成就以及遇到的问题和解决方法。
纯异步血统的Rust QUIC开发实践
讲师:张鹏
讲师简介:建元科技创始人,前腾讯专家工程师,前苏州月光石网络科技CTO,拥有近十年对等网络研发经验。建元科技关注下一代互联网基础设施,研发融合 AI 智能体、数据主权等先进理念的新一代信息技术,加速下一代互联网的到来。
议题简介:QUIC协议是下一代互联网的重要传输协议之一,它运行在用户态,具备可升级、0RTT快速发送、多路复用且无头端阻塞等众多优点。除此之外,QUIC还有什么?实际上,QUIC协议是个相当复杂的协议,比TCP复杂好几倍,如果说TCP仅仅是个可靠传输协议的话,那QUIC则在可靠传输的基础上,融入了密钥升级、连接ID管理、抗放大攻击、路径管控、连接迁移、多路复用、流状态机、BBR等不少复杂的机制,各个机制又交叉影响,细节颇多,在安全和网络性能上确实考虑的十分到位。它不仅是IO密集型,而且是逻辑密集型。幸好,异步Rust提供了优秀的异步抽象,在将各个机制拆解成独立的Reactor后,配合起来可谓相当丝滑。本次分享,将揭开QUIC那复杂的一面,并向大家展示异步Rust如何从容地处理这些复杂细节的实战经验。建元科技将持续改进最适合Rust原生异步版的gm-quic开源项目,向业界输出最优秀的QUIC协议实现。
RobustMQ :下一代高性能云原生融合型消息队列
讲师: 许文强
讲师简介: 字节跳动离线消息队列研发负责人,前腾讯云消息队列 Kafka 技术负责人,极客时间《深入拆解消息队列 47 讲》的专栏作者,技术书籍 《基础软件之路: 企业级实践与开源战略》的联合作者,Apache Kafka/RocketMQ/Pulsar Contributor。精通业界主流消息队列,常年活跃于消息队列和 Serverless 相关开源社区。在消息队列和 Serverless 领域有着深厚的技术储备。
议题简介: RobustMQ 的愿景是成为下一代高性能云原生融合型消息队列(Next generation high performance cloud-native converged messaging engine.)。目标是基于 Rust 实现可以兼容多种主流消息队列协议、架构上具备完整 Serveless 能力的消息队列。它具备以下特点:
100% Rust:完全基于 Rust 语言实现的消息队列内核。 多协议:支持MQTT 3.1/3.1.1/5.0、AMQP、RocketMQ Remoting/GRPC、Kafka Protocol、OpenMessing、JNS、SQS等主流消息协议。 分层架构:计算、存储、调度独立的三层架构,每层均具备集群化部署,快速水平扩缩容的能力。 插件式存储:独立插件式的存储层实现,可根据需要选择合适的存储层。兼容传统和云原生架构,支持云、IDC 多种部署形态。 高内聚架构:提供内置的元数据存储组件、分布式Journal存储服务,具备快速、简单、内聚的部署能力。 功能丰富:支持顺序消息、死信消息、事务消息、幂等消息、延时消息等丰富的消息队列功能。
RobustMQ 长期希望支持多协议,并在架构上具备完整的Serverless能力。同时希望能够在适配各种不同的部署场景、部署需求的基础上,在架构上保持简单。以实现更低的部署、运维、使用成本。所以在开发角度分为几个阶段:
Rust 在内容资产管理系统的应用:利用多端通用的多模态模型推理实现内容检索
讲师: 丁鑫栋
讲师介绍:丁鑫栋,XD (https://github.com/web3nomad),20+年全栈开发经验,复旦大学计算机系本科,巴黎高科运筹学硕士。曾就职于微软和Amadeus,后回国创办电商平台嘿店和新零售门店HeyShop。在SaaS、多渠道电商交易系统和CMS方面经验丰富。2020年起专注以太坊和Conflux生态开发,涉足聚合交易、稳定币和合约钱包领域。现任特赞CTO,负责技术团队、算法实验室和创新产品Muse,专注于内容管理系统的开发,以及内容检索和生成等核心技术的构建。
议题简介: 当谈到云原生中间件时,Go 语言是否是默认的选择?让我们更新这种传统观念。Go 确实很出色,并且在 Kubernetes、Docker、containerd、runc 等项目中继续做出重大贡献。但是 Rust 就没有一席之地吗?
在本次会议中,我们将展示 Rust 在云原生领域中的应用,特别是以 youki 的案例研究为重点。我们将深入探讨其细节。通过本次会议,您将迫不及待地想要使用 Rust 创建云原生中间件。摘要:本议题将介绍如何利用 Rust 实现云端和客户端通用的多模态模型推理,以支持内容资产管理系统中内容检索模块的开发。通过 Rust 的高性能和跨平台特性,实现了统一的模型推理框架,可以在云端和本地设备上无缝运行,对内容进行预处理、特征提取、信息提取等,生成检索需要的多种维度的索引。议题将分享开发过程中使用的技术实现细节、性能优化策略,比较开源框架的优势、本地和云端推理的不同场景和优缺点,以及 Rust 在AI应用开发中的优势。
Occlum LibOS 异步网络框架 - IO_Uring 工程实践
讲师: 李泽寰
李泽寰:现任蚂蚁集团高级开发工程师,毕业于上海交通大学,主要从事机密计算、操作系统内核等相关领域的研究与开发工作,是Occlum / Rust SGX SDK 开源项目的核心开发者,同时也是Occlum Spark 方案的主要贡献者。
议题简介: Occlum 是蚂蚁集团自研的基于可信执行环境(TEE)的用户态操作系统,使得普通应用能够在不需进行任何改造的情况下获得机密计算的能力。SGX 硬件特性为应用提供了一个黑盒子般的可信执行环境,而 Occlum 在此环境中为应用提供了全面的操作系统级支持。
然而,自设计之初,可信执行环境就有着 IO 性能瓶颈的问题。当应用执行 IO 操作时,需要保存可信执行环境内的上下文,切换到不可信区域,然后通过宿主机的操作系统来完成 IO 操作。这一过程不仅涉及额外的内存拷贝,而且上下文切换的开销会大幅影响应用的执行性能。根据我们的测试数据显示,在搭载 SGX2 的机器上,可信执行环境与不可信区域的上下文切换开销,是用户态与内核态切换开销的70倍!
因此,为这些分布式应用提供高性能的 IO 解决方案,成为 Occlum 迫切需要解决的技术难题。经过长时间的实验和论证,我们最终采用能够显著减少上下文切换开销的 IO_Uring 技术,作为提升 IO 性能的核心组件。我们在 IO_Uring 的基础上,设计并实现了一整套异步网络框架。这个框架不仅支持异步网络系统调用,还兼容传统的同步网络系统调用,意味着用户无需更改现有应用程序代码,便可直接享受到 IO_Uring 带来的性能提升。
Async Rust 维测&定位的探索和思考
讲师: 陈明煜, 楼智豪
讲师简介: 陈明煜:毕业于加州大学圣地亚哥分校,现就职于华为,OpenHarmony Ylong Rust异步框架的开发者,致力于推动OH应用的Rust异步化。
楼智豪:毕业于浙江大学,现就职于华为,参与过Rust与Cangjie语言的开源贡献,现从事Rust在OpenHarmony中的应用
议题简介: Rust语言自身提供了一套异步原语支撑了Rust异步编程模型。但异步除了带来性能上的提升,同时也会为程序带来复杂性,使其难以进行问题的定位。本议题将结合我们在OpenHarmony中遇到的一些异步框架使用问题,介绍一下我们在Rust异步调测与定位的一些探索,包括对业界常见异步框架的维测能力的调研,并延伸到如何对Rust无栈协程进行推栈,如何处理跨FFI的C++ exception问题等,用合理的代价大幅度提升Rust异步的可商用性。
Rust's HashMap: More Complex Than It Seems
讲师: 曹瑞秋
讲师简介: 曹瑞秋,蚂蚁集团高级开发工程师,Apache HoraeDB/CeresDB 核心开发者,Apache HoraeDB PPMC member,长期专注于时序数据库领域。
议题简介: Rust HashMap 在表面上似乎是一个简单而直接的数据结构,但实际上,其在使用上存在着不少意想不到的“坑点”,这主要体现在 CPU 消耗和内存占用两方面。
在 CPU 消耗方面,以常见的分段 HashMap 设计(一般多用于减少锁的竞争并提高并发性能)为例,首先,这其中存在着伪共享(False sharing)问题,这会大大限制了操作的并行度;此外,单次写入一般会涉及多个 HashMap 段,此时内存访问的局部性会很差,从而会对性能造成不可小觑的影响。
在内存占用方面,为了减少冲突,HashMap 的 capacity 实际会远大于指定值,又由于 HashMap 本身的内存访问特点,这实际上会占据远超想象的物理内存量;另外 with_capacity 方法和 allocator 本身的内存池,还会发生奇妙的“化学反应”,如果盲目使用,会产生物理内存释放不掉的问题。
综上所述,要用好 Rust HashMap 远没有表面上那么简单直接,而是需要打起十二分精神去细心设计的。