RustBelt - Rust 的形式化语义模型第三届中国 Rust 开发者大会 王俊吉 RustBelt - Rust 的形式化语义模型 Outline Background • RustBelt Project • Rust Types Overview Rust Semantics • Type System • The own Predict • Exclusive Ownership & Mutable Borrow0 码力 | 21 页 | 2.63 MB | 1 年前3
Zadig 面向开发者的云原生 DevOps 平台面向开发者的云原生 DevOps 平台 角色: 产品 / 架构 开发 测试 运维 运维 / 开发 技术支持 事件 需求设计 架构设计 拆任务、写代码 代码集成 xN 单元测试验证 xN 代码扫描 xN 自测、联调 xN 集成验证 xN 写测试用例 系统验证 xN 自动化测试 xN 性能测试 xN 安全测试 xN 数据变更 xN 版本归档 xN 交付追踪 xN 数据度量 xN 服务、工单管理 事件、缺陷管理 想 法 用 户 运行阶段 需求阶段 研发阶段 现代软件交付挑战:开发 5 分钟,上线 2 小时 服务一:设计 | 代码编写 | 构建 | 测试 | 部署 | 发布 服务二:设计 | 代码编写 | 构建 | 服务三:设计 | 代码编写 | 构建 | 测试 | 部署 | 发布 以前:面向代码片段的串行交付 现在:面向多个服务编排的产品级自动化并行交付 服务一: 服务定义 | 构建 | 部署 | 测试 | 发布 服务二: 服务定义 | 构建 | 部署 | 测试 | 发布 服务三:0 码力 | 59 页 | 81.43 MB | 1 年前3
Borsh 安全高效的二进制序列化第三届中国 Rust 开发者大会 安全高效的二进制序列化 Daniel Wang @ NEAR Borsh • 运行、编码效率 • 确定性 • 跨平台兼容性 二进制序列化的问题 Binary Object Representation Serializer for Hashing • 字节级别确定性 • 执行速度快 Borsh • 轻量级 • 每一个对象与其二进制表示之间都存在一个双射映射 borsh 并没有使用 serde • 全部逻辑原生实现 • 序列化、反序列化速度大幅领先其他解决方案 执行速度 执行速度 benchmark 执行速度 benchmark 执行速度 benchmark 执行速度 benchmark • 编译后的体积更小 • borsh 序列化后的二进制更精简 轻量级 序列化结果体积对比 Borsh 基本用法 Case Study NEAR NEAR 智能合约 Case Study Solana 智能合约 Case Study • non self-describing • 保证序列化后的二进制唯一性和确定性 • 主要序列化规则 Borsh 规范 • 整数采用低字节序( little endian) 存储 • 对于动态长度的集合,先用一个 u32 存储集合 size • 对于原本无序的集合(如 hashmap ),存储时使用0 码力 | 21 页 | 3.35 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南现代 CMake 模块化项目管理指南 彭于斌( @archibate ) 课件 & 源码: https://github.com/parallel101/course 往期录播: https://space.bilibili.com/263032155 找不到头文 件怎么办呀 CMake Cookbook 小彭老师建议 : ~~-·~·~-·~ -~·-·~·- 第一章:文件 / / 目录组织规范 基于 CMake 的 C/C++ 项目,如何优雅地、模块化地组织大量源文件 ? 推荐的目录组织方式 • 目录组织格式: • 项目名 /include/ 项目名 / 模块名 .h • 项目名 /src/ 模块名 .cpp • CMakeLists.txt 中写: • target_include_directories( 项目名 PUBLIC include) • 源码文件中写:/ */(lib/ |lib*|share)/ */cmake/ • 其中 是变量 ${CMAKE_PREFIX_PATH} , Windows 平台默认为 C:/Program Files 。 • 是你在 find_package( REQUIRED) 命令中指定的包名。 • 是系统的架构名。 https://zhuanlan 0 码力 | 56 页 | 6.87 MB | 1 年前3
Zadig 产品使用手册释放工程师创造力 DevOps 价值链平台 产 业 数 字 化 核 心 资 产 是 软 件 和 数 据 : 传 统 软 件 / 配 置 / 数 据 迭 代 方 式 已 经 无 法 适 应 , 软 件 工 程 化 时 代 已 然 到 来 。 Z a d i g 软 件 工 程 平 台 是 国 内 落 地 程 度 最 深 、 使 用 范 围 最 广 ( 近 千 家 企 业 ) 的 云 原 p s 平 台 。 领先企业抢先实践 Zadig Zadig 研发数字化转型方案正成为产业数字化战略的核心环节 Zadig 设计思路:通过「平台工程」解决流程挑战,通过「技术升级」提升组织效能 01 04 02 03 工程化协同:“人、技术、流 程、工具” 四维协同基线,沉 淀全流程数据,从感知到赋 能,服务于工程师 释放云基建能力:链接任何云 及自建资源(容器、主机、车 机、端等),释放云原生价值 生态开放:广泛开放系统 模块和 OpenAPI ,链接 一切流程、服务、工具和 上下游伙伴 安全简单自主可控:私有化 部署,现有服务 0 迁移成本 、体验丝滑接入容易、学习 使用门槛极低 现存做法大多以「单点工具 + 写脚本」或运管类平台为主, Zadig 则是面向开发者视角,中立,云原生一体化价值链平台。 与现存 DevOps 方案对比: 现存方案 典型代表 方案特点分析0 码力 | 52 页 | 22.95 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅线程(并行课…) 英伟达家显卡( GPU 专题) 软件要求: Visual Studio 2019 ( Windows 用户) GCC 9 及以上( Linux 用户) CMake 3.12 及以上(跨平台作业) Git 2.x (作业上传到 GitHub ) CUDA Toolkit 10.0 以上( GPU 专题) 第 0 章:从并发到并行 摩尔定律:停止增长了吗? • 晶体管的密度的确仍在指数增长,但处理器主 同的任务,避免同步造成的阻塞。 • 并行:多核处理器,每个处理器执行一个线 程,真正的同时运行。目的:将一个任务分 派到多个核上,从而更快完成任务。 举个例子 • 并发:某互联网公司购置了一台单核处理 器的服务器,他正同时处理 4 个 HTTP 请求,如果是单线程的 listen-accept 循环 ,则在处理完 A 的请求之前, B 的请求 就无法处理,造成“无响应”现象。 C 的请 求进来,则还得继续排队…… 。 映射( map ) 1 个线程,独自处理 8 个元素的映射,花了 8 秒 用电量: 1*8=8 度电 结论:串行映射的时间复杂度为 O(n) ,工作复杂度为 O(n) ,其中 n 是元素个数 并行映射 4 个线程,每人处理 2 个元素的映射,花了 2 秒 用电量: 4*2=8 度电 结论:并行映射的时间复杂度为 O(n/c) ,工作复杂度为 O(n) ,其中 c 是线程数量 封装好了:0 码力 | 116 页 | 15.85 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 07 深入浅出访存优化_MM_HINT_T0 代表预取数据 到一级缓存, _MM_HINT_T1 代表只取到二级缓 存, _MM_HINT_T2 代表三级缓存; _MM_HINT_NTA 则是预取到非临时缓冲结构中, 可以最小化对缓存的污染,但是必须很快被用上。 重新理解 mem-bound :延迟隐藏 • 之前提到, 1 次浮点读写必须伴随着 32 次浮点加法的运算量,否则和只有 0 次加法的耗时没有任何区别,即内 存带宽成唯一瓶颈的 fault )。 • std::vector、 new int[n]{} 会初始化数组为 0 。 • malloc(n * sizeof(int)) 、 new int[n] 不会初始化数组为 0 。 • 初始化数组时,内存被写入,所以操作系统这时候才开始实际分配内存。 • 刚才的案例里,不会初始化的 malloc ,第一次往里面赋值时,因为这时操作系统还没有给 这个数组分配内存,所 vector 也可以不初始化:只需使用一个帮手类 也可以使用小彭老师封装好的帮手类 重复分配效率低 • 即使第二次分配的是同一段差不多大小的内存,也是会产生缺页中断,花费分配时间的。 • glibc 的 malloc 实现,不会重复利用现有的内存。 改用 tbbmalloc • tbbmalloc 分配的效率比 glibc 的 malloc 效率稍微高一些,但还是不能帮你自动池化的。 • 还是需要你手动把可以重复利用的 0 码力 | 147 页 | 18.88 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人人寿等 70+ 银行证券保险 企业、公安部、上海市公安局、武汉市公安局等 100+ 公安机构,国家电网、 国信通产业集团等电力能源行业提供数据智能产品解决方案及长期服务。 海致专注为政府、金融、能源等客户提供大数据处理、分析、挖掘服务,在互 联网技术基础上,打造专业、易用的企业级大数据实战应用产品及解决方案。 北京中关村总部 武汉运维中心 深圳研发中心 上海应用中心 专注于数据智能技术赋能中国数字经济发展 储、索引及复制难题,提出了基于图缩减的高效分析方法,并孵化出了一个大 规模图数据分析平台 AtlasGraph 。 5 获得 2022 年中国电子学会科学技术奖科技进步一等奖 中国电子学会发布的《 2022 中国电子学会科学技术奖公告》,海 致星图与北京邮电大学、蚂蚁科技集团有限公司、中移动信息技术 有限公司联合研发的“大规模复杂异质图数据智能分析技术与规模化 应用”项目,斩获“科学技术奖科技进步一等奖”,这也是国内电子信 的建模能力不足、结构知识难用、巨量数据难算等技术挑战,实现了大规模复杂异质图数 据的表示学习模型、语义推荐和风险管理关键技术,构建了完整的兼具理论指导与应用检 验的大规模图数据智能分析系统与平台,满足了大数据时代从复杂异质图数据中进行知识 发现的重要需求。最终获得国内外授权发明专利 43 项, CCF -A 类论文 51 篇,获得 2 次国际竞赛冠军,参与了 2 项图计算相关标准制定。0 码力 | 38 页 | 24.68 MB | 1 年前3
基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺mdsn - A Multi-address DSN(Data Source Name) parser. TDengine 应用开发组 • Python/Rust/Go 连接器 • 数据可视化 • 数据库运维工具 • 第三方数据源接入 • BI 系统接入 https://taosdata.com/ https://github.com/zitsen CONTENTS 自 我 介 ),专为物联网、工业互联网、金融、 IT 运维监控等场景设计并优化,具有极强的弹性伸缩能力。同时它还带有内建的缓存、流式计算、数据订阅等 系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个极简的时序数据处理平台。 采用关系型数据库模型 需要建库、建表, 为提升写入和查询效率,要求一个数据采集点一张表 为实现多表聚合,引入超级表概念 子表通过超级表创建,带有标签,通过标签实现多表 全球 50 多个国家安装实例超 270k | GitHub 全球趋势排行榜多次排名第一 TDengine - 数据模型 1. 设备 ID 及关联属性( Tags ) 2. 时间戳 3. 结构化采集量 STable 超级表 Table 子表 CREATE STABLE `meters` ( `ts` TIMESTAMP, `current` FLOAT, `voltage`0 码力 | 29 页 | 2.26 MB | 1 年前3
夏歌-使用Rust构建LLM应用serverless 平台 • 上传 Rust function ,平台负责将 Rust 编译成 Wasm ,并运行在 WasmEdge 安全容 器中 • 平台封装了一些常用 LLM 和 SaaS 的 API ,并发布成了 crate ,比如 ChatGPT 、 telegram 、 GitHub 、 Discord 、向量数据库比如 qdront 。 • 整个 serverless 平台是为 Rust0 码力 | 36 页 | 38.31 MB | 1 年前3
共 36 条
- 1
- 2
- 3
- 4













