Zadig 产品使用手册
少量配置、快速拉起环境、稳定 性有保障、减少 90% 手工操作、 赋能开发、员工成就感高 碎片化:手工协作 + 复杂工具链 工程化:一个平台 一键发布 工作流、环境配置自动更新、高 效调试、消除手工操作、精准快 速迭代、研发生产力 / 幸福感提 升 自助运行、系统化管理、自动化 程度高、测试有效性提升、质量 有保障、横向赋能、技能提升 随时调用工程基线提供的能力、 产品视角开发交付、团队高效协 Argo K8s JFrog YAML 产品 开 发 测 试 运维 产研运一体化 解决方案 免运维模板库 效能洞察 云原生 IDE 插 件 交付中心 发布中心 测试中心 高并发工作流 云原生环境 对接需求管理 测试管理 Spinnaker Jenkins Rancher JMeter Sonar Tekton Jenkins KubeSphere 1 、 准备环境 • 准备工作流 运维(管理员) • IDE 热部署 • 更新镜像 • 更新配置 • 更新数据 • 日常调试 开发工程师 • 日常测试验证 • 自动化测试 测试工程师 • 升级预发环境 • 升级生产环境 • 变更数据库 发布工程师 核心场景介绍:不同角色工程师基于统一协作平面,操作使用自动化工作流和云原生环境 面向角色 功能描述 工作流名称样例 具体配置0 码力 | 52 页 | 22.95 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅
时间复杂度( time-efficiency )与工作量复杂度( work-efficiency ) • 在“小学二年级”算法课里,我们学过复杂度的概念,意思是算法执行所花费的时间取决于数据量 的大小 n ,比如 O(n²) 表示花费时间和数据量的平方成正比。 • 对于并行算法,复杂度的评估则要分为两种: • 时间复杂度:程序所用的总时间(重点) • 工作复杂度:程序所用的计算量(次要) • 这 这两个指标都是越低越好。时间复杂度决定了快慢,工作复杂度决定了耗电量。 • 通常来说,工作复杂度 = 时间复杂度 * 核心数量 • 1 个核心工作一小时, 4 个核心工作一小时。时间复杂度一样,而后者工作复杂度更高。 • 1 个核心工作一小时, 4 个核心工作 1/4 小时。工作复杂度一样,而后者时间复杂度更低。 • 并行的主要目的是降低时间复杂度,工作复杂度通常是不变的。甚至有牺牲工作复杂度换取时间 复杂度的情形。 8 个元素的映射,花了 8 秒 用电量: 1*8=8 度电 结论:串行映射的时间复杂度为 O(n) ,工作复杂度为 O(n) ,其中 n 是元素个数 并行映射 4 个线程,每人处理 2 个元素的映射,花了 2 秒 用电量: 4*2=8 度电 结论:并行映射的时间复杂度为 O(n/c) ,工作复杂度为 O(n) ,其中 c 是线程数量 封装好了: parallel_for 面向初学者: parallel_for0 码力 | 116 页 | 15.85 MB | 1 年前3Zadig 面向开发者的云原生 DevOps 平台
重复流程自动化 ● 边开发、边验证 ● 服务全生命周期而非只关注代码 ● 每天多次提交提早验证 Zadig 采用「云原生产品级交付」设计理念 数字化产研协同 • 环境 - 统一开发者协作平面 • 工作流 - 统一交付变更通道 • 异构支持 - 统一产研运管理平面 重视开发者体验,工程师不再做脏活累活 传统 DevOps 体系 Zadig 云原生 DevOps 平台 高人效 低人效 5 个月核心重构 65% 功能实现开源 支撑开源社区开发者环境 易 用 性 增 强 接入:安装 10 分钟以内,成功率达 90% 集成环境:支持开发者 Remote debug 工作流:效率和性能、开发者体验提升 贡献者流程建立 开 放 社 区 搭 建 2021 年 5 月 2021 年 7 月 2021 年 9 月 2021 年 11 月 2021 年 12 月 升级,工程师一线体验优化 推出效能看板,实时客观度量工程数据指标 效 率 优 化 、 开 发 者 体 验 增 强 2023 年 面向生态伙伴开放场景 面向开发者提供 IDE 插件 / 自测环境 通用工作流广泛链接生态赋能开发者 企业解决方案和最佳实践内置 发布 AI 增强解决方案 企 业 开 放 性 、 A I 能 力 增 强 产品发展历程 高频极速迭代: Zadig 开源 290 码力 | 59 页 | 81.43 MB | 1 年前3新一代分布式高性能图数据库的构建 - 沈游人
海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 企业级数据解决方案专家 为建行、工行、交行、招行、上交所、深交所、中国人寿等 70+ 银行证券保险 企业、公安部、上海市公安局、武汉市公安局等 专注于数据智能技术赋能中国数字经济发展 海致高性能图计算院士专家工作站 郑纬民 - 海致科技首席科学家 中国工程院院士、清华大学计算机科学与技术系教 授、中国计算机学会前理事长,中国计算机系统结构 的学科带头人,我国高性能计算和存储系统等方面的 泰斗和先行者。 2021 年 3 月 25 日,海致科技与清华大学计算机科学与技术系共同建设高性能图计算院士专家工作站 。 高性能图计算是高性能计算、图计算两项 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 生态体系,保持对全球科技竞争的战略均衡。 海致高性能图计算院士专家工作站 海致获得“ 2021 年 CCF 科学技术奖科技进步卓越奖” CCF 科学技术奖被认为是计算机科学与技术领域最具影响力的专业奖项之一, 其中科技进步卓越奖是 CCF 科技进步奖评选中的最高级别奖项,旨在嘉奖在计0 码力 | 38 页 | 24.68 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 07 深入浅出访存优化
宽。三级缓存也装不下,那就取决于主内存 的带宽了。 • 结论:要避免 mem-bound ,数据量尽量足 够小,如果能装的进缓存就高效了。 L2: 256 KB L3: 12 MB 缓存的工作机制:读 • 缓存中存储的数据结构: • struct CacheEntry { • bool valid; • uint64_t address; • char data[64]; 个字节时,实际会导致 0x0040~0x0080 的 64 字节数据整个被读取到缓存中。 • 这就是为什么我们喜欢把数据结构的起始地址和大小对齐到 64 字节,为的是不要浪费缓存行的存储空间。 缓存的工作机制:写 • 缓存中存储的数据结构: • struct CacheEntry { • bool valid, dirty; • uint64_t address; • char ,决定要预取的地址。一般来说只有线性的地址访问规律(包括顺序、 逆序;连续、跨步)能被识别出来,而如果你的访存是随机的,那就没 办法预测。遇到这种突如其来的访存时, CPU 不得不空转等待数据的抵 达才能继续工作,浪费了时间。 解决:按更大的分块( 4096 字节)随机访问 • 解决方案就是,把分块的大小调的更大一些,比 如 4KB 那么大,即 64 个缓存行,而不是一个。 • 这样一次随机访问之后会伴随着0 码力 | 147 页 | 18.88 MB | 1 年前3Rust 异步并发框架在移动端的应用 - 陈明煜
。那么 A 获得 CPU 的时间比例是 1024/ (1024 + 2048) = 33.3% Task priority and quality of service 任务优先级调度 对框架内的工作线程设置优先级,使其 拥有不同权重。 • 由 Kernel 决定调度时间 • 高优先级任务由高权重线程调度, 以此获得更多执行时间 • 全局队列区分高低优先级 Task priority and task …. Global queue task Local queue task Local queue Core 高权重线程 Worker Worker 任务优先级调度 根据工作线程的优先级进行绑核(大小核) • 高优先级任务在大核执行,高性能 • 低优先级任务在小核执行,节省能耗 Task priority and quality of service Big Core0 码力 | 25 页 | 1.64 MB | 1 年前3夏歌-使用Rust构建LLM应用
在系统编程已经取得了巨大成功 培养更广泛的 Rust 开发 围绕 LLM 生态封装相应的 Rust 框 架,让开发者能够使用简单的 Rust 写 应用 如何用 Rust 实现的 构建和部署 AI 相关工作流的 serverless 平台 • 上传 Rust function ,平台负责将 Rust 编译成 Wasm ,并运行在 WasmEdge 安全容 器中 • 平台封装了一些常用 LLM 和 SaaS0 码力 | 36 页 | 38.31 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 性能优化之无分支编程 Branchless Programming
干瞪眼,什么也不做,其实完全可以在烧 开水的同时洗脸刷牙呀!原始的 CPU 也 是这样, ALU 在运算的时候指令解码单元 就在旁边干瞪眼,要等 ALU 跑完写回寄 存器来指令解码单元才开始继续工作,很 低效。 任务 时间 占用资源 洗脸 5 分钟 眼睛,嘴巴,手 烧开水 10 分钟 煤气灶 刷牙 5 分钟 嘴巴,手 看比站 15 分钟 眼睛 吃饭 30 分钟 嘴巴,手 拉粑粑0 码力 | 47 页 | 8.45 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程
• 这样显然是会被他自动优化掉的。 模板的应用:编译期分支 • 更进一步,可以用 C++17 的 if constexpr 语法,保证是编译期确定的分支: • (下一讲会深入分析编译器的工作原理) 模板的难题:编译期常量的限制 • 编译期常量的限制就在于他不能通过运行时变量组成的表达式来指定。比如: • 这里在 if constexpr 的表达式里用到了运行时变量,从而无法作为编译期分支的条件。0 码力 | 82 页 | 12.15 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理
https://github.com/parallel101/hw02 • 仓库的 README.md 里有详细的作业要求和说明。请按要求修改其中的代码,使得双向 链表类 List 的拷贝构造函数能正常工作,且内存能够安全释放。 • 通过 pull request 提交你的作业,这样我可以通过 diff 页面清楚地看到你的改动。 • 什么事 pull request ?还是善用搜索引擎,这是作业的一部分(0 码力 | 96 页 | 16.28 MB | 1 年前3
共 14 条
- 1
- 2