新一代分布式高性能图数据库的构建 - 沈游人新一代分布式高性能图数据库的构建 北京海致星图科技有限公司 2023-06-18 沈游人 数据库与大数据专场 海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 专注于数据智能技术赋能中国数字经济发展 海致高性能图计算院士专家工作站 郑纬民 - 海致科技首席科学家 中国工程院院士、清华大学计算机科学与技术系教 授、中国计算机学会前理事长,中国计算机系统结构 的学科带头人,我国高性能计算和存储系统等方面的 泰斗和先行者。 2021 年 3 月 25 日,海致科技与清华大学计算机科学与技术系共同建设高性能图计算院士专家工作站 。 高性能图计算是高性能计算、图计算两项技术融合产生的新的技术方向,满足人们对更大规模、更复 术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 生态体系,保持对全球科技竞争的战略均衡。 海致高性能图计算院士专家工作站 海致获得“ 2021 年 CCF 科学技术奖科技进步卓越奖” CCF 科学技术奖被认为是计算机科学与技术领域最具影响力的专业奖项之一,0 码力 | 38 页 | 24.68 MB | 1 年前3
Hello 算法 1.1.0 Rust版com/krahets/hello‑algo 仓库。 动画在 PDF 内的展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 . . . . . . . . . . . . . . . . . 192 第 9 章 图 194 9.1 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . .0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版com/krahets/hello‑algo 仓库。 动画在 PDF 内的展示效果受限,可访问 www.hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 . . . . . . . . . . . . . . . . . 192 第 9 章 图 194 9.1 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . .0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 . . . . . . . . . . . . . . . . . 191 第 9 章 图 193 9.1 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 9.3 图的遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.4 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 383 页 | 17.61 MB | 1 年前3
Rust 语言学习笔记mod 的层级关系,配合 rust 的默认约定。这 点和 java,go 开发完全不同,在面向 vm 的语言中这些都不需要考虑。 2.Rust 的包管理系统中使用了大量的默认约定,很容易使人头昏脑乱。 而在开发中我们又必须建立模块层级系统,rust 给出了如下方案,在给出了一 些模块的最基本规则外,由开发者更大范围地自定义模块的存在。 首先在一个 rust 项目中,首先定义了 crate }", error); } }); } 10.1.2 unwrap 与 expect match 能够胜任它的工作,不过它可能有点冗长并且不总是能很好的表明其意 图。Result类型定义了很多辅助方法来处理各种情况。其中之一叫 做 unwrap,如果 Result 值是成员 Ok,unwrap 会返回 Ok 中的值。 如果 Result 是成员 Err,unwrap 0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust 程序设计语言简体中文版以了解 String 的底层会发生什么。String 由三部分组成,如图左侧所示:一个 指向存放字符串内容内存的指针,一个长度,和一个容量。这一组数据存储在栈上。右侧则是 堆上存放内容的内存部分。 图 4-1:将值 "hello" 绑定给 s1 的 String 在内存中的表现形式 76/600 Rust 程序设计语言 简体中文版 长度表示 String 的内容当前使用了多少字节的内存。容量是 4-2 所 示。 图 4-2:变量 s2 的内存表现,它有一份 s1 指针、长度和容量的拷贝 这个表现形式看起来 并不像 图 4-3 中的那样,如果 Rust 也拷贝了堆上的数据,那么内存看起 来就是这样的。如果 Rust 这么做了,那么操作 s2 = s1 在堆上数据比较大的时候会对运行时 性能造成非常大的影响。 77/600 Rust 程序设计语言 简体中文版 图 4-3:另一个 s2 s2 = s1 时可能的内存表现,如果 Rust 同时也拷贝了堆上的数据的话 之前我们提到过当变量离开作用域后,Rust 自动调用 drop 函数并清理变量的堆内存。不过 图 4-2 展示了两个数据指针指向了同一位置。这就有了一个问题:当 s2 和 s1 离开作用域, 它们都会尝试释放相同的内存。这是一个叫做 二次释放(double free)的错误,也是之前提 到过的内存安全性 bug0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0在栈上。右侧则是堆 上存放内容的内存部分。 s1 name value ptr len 5 capacity 5 indexvalue 0 h 1 e 2 l 3 l 4 o 图 4-1:将值 "hello" 绑定给 s1 的 String 在内存中的表现形式 长度表示 String 的内容当前使用了多少字节的内存。容量是 String 从分配器总共获取了多少 字节的内存。 ptr len 5 capacity 5 indexvalue 0 h 1 e 2 l 3 l 4 o s2 name value ptr len 5 capacity 5 图 4-2:变量 s2 的内存表现,它有一份 s1 指针、长度和容量的拷贝 这个表现形式看起来并不像图 4-3 中的那样,如果 Rust 也拷贝了堆上的数据,那么内存看起 来就是这样的。如果 Rust 5 capacity 5 indexvalue 0 h 1 e 2 l 3 l 4 o 图 4-3:另一个 s2 = s1 时可能的内存表现,如果 Rust 同时也拷贝了堆上的数据的话 之前我们提到过当变量离开作用域后,Rust 自动调用 drop 函数并清理变量的堆内存。不过图 4-2 展示了两个数据指针指向了同一位置。这就有了一个问题:当 s2 和 s1 离开作用域,它们 都会尝试释放相同的内存。这是一个叫做0 码力 | 562 页 | 3.23 MB | 24 天前3
Rust与算法 - 谢波写作动机 当情况不明时,抱着一个纯粹的目标干事就行了,其他 的留给时间检验。不懂就学,技术写作更像一种共创, 要反复总结和修改 ( 费曼学习法 ) 。 写作本书给我的启示 基础、排序、查找、树、图 代码框、颜色、图片绘制均由 Latex 完成 可参考点 为什么 为什么讲这个话题? 为什么要讲数据结构和算法两部分? 算法相关知识 算法相关知识 • 抽象数据类型 • 时空复杂度 • 字典树 • 图 Rust 实现算 法 蒂姆排序 什么是蒂姆排序? 蒂姆排序 位运算 高低位排序区别处理 https://github.com/QMHTMY/RustBook/blob/main/publication/code/chapter07/tim_sort_without_gallop.rs 字典树 怎么确定单词结束? 需要区分大小写吗? 图 如何定义点、边、图? 图 图 点和边操作注意事项 图 联想:图数据结构的的点、边、面似乎满足欧拉公式 : V – E + F = 2 、则时间复杂度为: O(V+E) = O(2E – F + 2) • V = 14; E = 18; F = 5 + 1; • V+E = 32 • 2E – F + 2 = 32 总结及学习资源 • 算法总结 • 学习资源 总结及学习资源 Rust 算法总结0 码力 | 28 页 | 3.52 MB | 1 年前3
Rust API可靠性分析与验证com/casey/just/issues/363 Rust China Conf 2021 – 2022, Online, China 模糊测试简介 图.1 一个简单的模糊测 试用例程序 初始化种子集合 选择一个种子并且进行变异 如果这个种子比较有趣的话 把这个种子加入种子集合 Yes 图.2 典型模糊测试工 具的工作流程 使用变异后的种子执行程序 No Rust China Conf 2021 – 2022 RULF:模糊测试用例程序生成 带有剪枝 的BFS 生成API调用序列 反向搜索 合并与优 化 模糊测试用例程序 短序列 长序列 最优序列 集合 合并 优化 构建API依赖图 合成合法的测试 函数 Rust库源代码 泛型函数 单态化 所有权检查 开源于https://github.com/Artisan-Lab/RULF Rust China Conf 20210 码力 | 13 页 | 1.68 MB | 1 年前3
王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI Desktop Server 的全平台实践经验Pod 2 Pod 3 Pod 4 AMP Namespace amp-director amp-controllers … 1 2 3 4 5 6 Internet 流程图:创建 流程图:运⾏ Live Update 模式原理 开启实时更新(Live Update)模式时,当你在⼯程根 ⽬录放置 .devcontainer ⽬录时,Amphitheatre 终端软 件会识别0 码力 | 34 页 | 10.81 MB | 1 年前3
共 21 条
- 1
- 2
- 3













