C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程现代 C++ 进阶:模板元编程 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 高性能并行编程与优化 - 课程大纲 • 分为前半段和后半段,前半段主要介绍现代 C++ ,后半段主要介绍并行编程与优化。 ,后半段主要介绍并行编程与优化。 1.课程安排与开发环境搭建: cmake 与 git 入门 2.现代 C++ 入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 以上( GPU 专题) 为什么需要模板函数( template ) • 避免重复写代码。 • 比如,利用重载实现“将一个数乘以 2” 这个 功能,需要: 为什么面向对象在 HPC 不如函数式和元编程香了? 这个例子要是按传统的面向对象思想,可能是这样: 令 Int, Float, Double 继承 Numeric 接口类并实现 ,其中 multiply(int) 作为虚函数。然后定义: Numeric0 码力 | 82 页 | 12.15 MB | 1 年前3
康彬-基于微服务的混合云和同城双活实践核心交易平台 风控审核平台 计算资源 (CPU) 存储资源 (内存|磁盘) 网络资源 (ip|端口|带宽) 中间件层 微服务框架 服务元数据管理 服务发布 服务订阅 消息中间件 消息元数据管理 消息生产 消息消费 job调度系统 job元数据管理 job发布 job调度 配置中心 mq管理系统 调用链路 系统 监控告警 系统 发布系统 服务注册 中心 服务治理 web层 service层 data层 机房2 云机房 LB Nginx-Proxy Nginx-Proxy 外网 内网 DNS h5 LB 混合 云 同城 双活 单 元 中 心 云 单 元 native/wex 单元化&多活应用场景 蓝绿发布step1 LB 100 % service1_A SET_A service2_A service3_A service1_B0 码力 | 47 页 | 6.09 MB | 1 年前3
从百度文件系统看大型分布式系统设计中的定式与创新数据与计算的分片 • 哈希分片 - 简单、均衡 - 扩容复杂、易用性差 - 一致性哈希、虚拟节点 • 按范围、数据量分 - 使用简单 - 需要管理元数据 - 中心化与去中心化 元数据管理 • 去中心化 - P2P技术 - 潜在的一致性问题 - 能管理的元数据有限 • 中心化 - 设计实现简单 - Master节点易成为瓶颈 中心化的解决方案 • Master-Slave模型 - Master是管理者 • 多数情况下我们更重视可用性 - CAD->CD • 一致性与延迟的折衷 - 要求强一致的, 容忍延迟 - 要求低延迟的, 选择最终一致 提升系统扩展性 • 架构的可扩展性 - 拆分元数据节点 - 引入MetaServer 提升系统扩展性 • 设计的可扩展性 - 保证在规模扩大5倍或10倍是正常工作 • BFS避免了过渡设计 - 用设计中的不可扩展达到最大的可扩展 • 最多支持6万台机器0 码力 | 24 页 | 937.45 KB | 1 年前3
Nacos架构&原理
服务管理:实现服务 CRUD,域名 CRUD,服务健康状态检查,服务权重管理等功能。 配置管理:实现配置管 CRUD,版本管理,灰度管理,监听管理,推送轨迹,聚合数据等功能。 元数据管理:提供元数据 CURD 和打标能力,为实现上层流量和服务灰度非常关键。 19 > Nacos 架构 内核层 插件机制:实现三个模块可分可合能力,实现扩展点 SPI 机制,用于扩展自己公司定制。 存储模块:解决数据持久化、非持久化存储,解决数据分片问题。 插件 Nameserver:解决 Namespace 到 ClusterID 的路由问题,解决用户环境与 Nacos 物理环境 映射问题。 CMDB:解决元数据存储,与三方 CMDB 系统对接问题,解决应用,人,资源关系。 Metrics:暴露标准 Metrics 数据,方便与三方监控系统打通。 Trace:暴露标准 Trace,方便与 SLA 中,系统中所有配置的存储、编辑、删除、灰度管理、历史版本管理、变更审计等所有 与配置相关的活动统称为配置管理。 配置服务 (Configuration Service) 在服务或者应用运行过程中,提供动态配置或者元数据以及配置管理的服务提供者。 23 > Nacos 架构 配置项(Configuration Item) ⼀个具体的可配置的参数与其值域,通常以 param-key = param-value0 码力 | 326 页 | 12.83 MB | 9 月前3
新一代分布式高性能图数据库的构建 - 沈游人图原生存储 索引 LSM-Tree 容灾保障 ( BR ) 元数据层 事务管理 MVOCC 计算层 Cypher AST 优化器 图计算 内存加速引 擎 服务接口 HTTP/RPC Spark 连接器 Python UDF 执行器 索引管理 一致性存储 RAFT 分片管理 元数据 集群管理 用户权限 GNN 应用层 Atlas 测试、集成测试、基准测试等 02 03 和文档系统以及 CI/CD 工具的良 好集成 完整的断言系统 异步协程 零成本抽象 强大的测试框架 REPL 命令行客户端 WebUI 面向分析师,提供图模型定义、数据管理、图查询分析、服务状态监控、用户管理能力 免代码,可视化定义实体、 边,设计图模型。 【亮点】 • 支持模型导入导出 • 拖拽式关系构建 • 丰富的样式配置 • 实时图结构预览 •0 码力 | 38 页 | 24.68 MB | 1 年前3
2022年美团技术年货 合辑迪更多的工程师与研究员在实际工作中取得更优结果。未来,我们团队将持续关注国 际算法竞赛,积极进行比赛思路与工业方案结合的尝试,同时也欢迎大家加入我们团 队,文末附有招聘信息,期待你的邮件。 算法 < 63 作者简介 胡可、兴元、明健、坚强,均来自美团广告平台质量预估团队。 参考文献 [1] Juan Y , Zhuang Y , Chin W S , et al. Field-aware Factorization Machines 描述了超图在 外卖 LBS 场景化建模的应用;对比普通 GNN 方法都取得了 SOTA 的效果。 针对美团外卖的场景化建模特点,我们在图算法上也进行了一系列探索,分别在场 景特征交叉、子图拓展感知、元路径场景图三个方面,围绕着在不同场景下的用 户 -POI 建模的目标,进行了多方面的探索,在离线评估、线上业务上均取得了不错 的效果。 2.1 基于特征图的场景特征交叉建模 2.1.1 场景特征交叉 卷积。通过子图感知卷积,使卷积的过程中,POI 的向量表示与上下文信息产生关 联,从而使 POI 的嵌入表示融合了更精确的兴趣信息。 92 > 2022年美团技术年货 2.3 基于元路径的场景图建模 2.3.1 从业务特点出发 - 元路径建模的初衷 我们对用户决策过程进行抽象,将用户 User 与商户 POI 在给定 Context 环境下 的一次交互定义为一个事件(Event),多个用户和 POI0 码力 | 1356 页 | 45.90 MB | 1 年前3
FISCO BCOS 1.3 中文文档理员、管理员可以发公告,普通群员就没有这些权限。黑名单就类似发现某个 群员被盗号了,经常发三俗广告,这个时候管理员就要踢人了。 脱敏 接下来我们说脱敏。高度敏感的数据,转换成伪码上链或者考虑不上链。也可 以是用hash摘要或者少量元数据的方式上链。你比如说我用户的身份证不上 链,我把他转成一个伪码,但是依旧可以完成身份验证。 其实我们在日常生活中很多数据脱敏的例子,比如买火车票,身份证号码那一 栏部分数字会打上星号;点个外卖,外卖单上的手机号也会有部分数字打上星 大数据和区块链的结合,或者放心大胆的开展各种业务,用户对自己的数据也 拥有了绝对的控制权,隐私得到了保护,仿佛不需要再做什么。 区块链的数据安全是个辩证的问题,是有前提的,机构使用区块链技术,结合 原有的数据管理策略,对数据的安全需要达成读写保护的基本目标: 1: 可见性安全: 帐户信息和交易明细数据可控性共享,只发送给交易相关的 机构,且能对隐私进行精细的保护。 2: 动账安全:机构或用户使用私钥控制自己的资产,有私钥重置或找回的途 的 特性,像普通业务逻辑一样去写if…else就可以进行多种多样的控制了。比如控 制某个用户或某个机构只能访问和自己相关的订单,不能访问其他人的等等。 更底层一点的权限控制,可以面向区块链的基础数据管理、网络层、存储层起 作用,比如,控制某些节点或某些帐号是否能同步区块数据,控制是否能向其 他节点广播消息,还是只能默默的从网络接受数据。总而言之,控制无极限, 只要在安全和业务上有足够的必要性。0 码力 | 491 页 | 5.72 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档FISCO-BCOS/deps/src/ 编译选项介绍 TESTS,默认off,单元测试编译开关。通过cmake -DTESTS=on ..打开单 元测试开关。 DEMO,默认off,测试程序编译开关。通过cmake -DDEMO=on ..打开单 元测试开关。 TOOL,默认off,工具程序编译开关。通过cmake -DTOOL=on ..打开工具 开关,提供FISCO节点的rocksdb读取工具。 机器能够访问githubusercontent.com 4. 编译选项介绍 TESTS,默认off,单元测试编译开关。通过cmake -DTESTS=on ..打开单 元测试开关。 DEMO,默认off,测试程序编译开关。通过cmake -DDEMO=on ..打开单 元测试开关。 TOOL,默认off,工具程序编译开关。通过cmake -DTOOL=on ..打开工具 开关,提供FISCO节点的rocksdb读取工具。 区块配置文件group_genesis.ini和生成节点配置文件node_deployment.ini。 用户通过对conf文件夹下文件的操作,配置生成节点配置文件夹的具体信 息。 元数据文件夹meta FISCO BCOS generator的meta文件夹为元数据文件夹,需要存放fisco bcos 二进制文件、链证书ca.crt、本机构机构证书agency.crt、机构私钥节点证 书、群组创世区块文件等。 证书0 码力 | 2649 页 | 201.08 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档FISCO-BCOS/deps/src/ 编译选项介绍 TESTS,默认off,单元测试编译开关。通过cmake -DTESTS=on ..打开单 元测试开关。 DEMO,默认off,测试程序编译开关。通过cmake -DDEMO=on ..打开单 元测试开关。 TOOL,默认off,工具程序编译开关。通过cmake -DTOOL=on ..打开工具 开关,提供FISCO节点的rocksdb读取工具。 机器能够访问githubusercontent.com 4. 编译选项介绍 TESTS,默认off,单元测试编译开关。通过cmake -DTESTS=on ..打开单 元测试开关。 DEMO,默认off,测试程序编译开关。通过cmake -DDEMO=on ..打开单 元测试开关。 TOOL,默认off,工具程序编译开关。通过cmake -DTOOL=on ..打开工具 开关,提供FISCO节点的rocksdb读取工具。 区块配置文件group_genesis.ini和生成节点配置文件node_deployment.ini。 用户通过对conf文件夹下文件的操作,配置生成节点配置文件夹的具体信 息。 元数据文件夹meta FISCO BCOS generator的meta文件夹为元数据文件夹,需要存放fisco bcos 二进制文件、链证书ca.crt、本机构机构证书agency.crt、机构私钥节点证 书、群组创世区块文件等。 证书0 码力 | 2649 页 | 201.08 MB | 1 年前3
FISCO BCOS 2.0 中文文档FISCO-BCOS/deps/src/ 编译选项介绍 TESTS,默认off,单元测试编译开关。通过cmake -DTESTS=on ..打开单 元测试开关。 DEMO,默认off,测试程序编译开关。通过cmake -DDEMO=on ..打开单 元测试开关。 TOOL,默认off,工具程序编译开关。通过cmake -DTOOL=on ..打开工具 开关,提供FISCO节点的rocksdb读取工具。 机器能够访问githubusercontent.com 4. 编译选项介绍 TESTS,默认off,单元测试编译开关。通过cmake -DTESTS=on ..打开单 元测试开关。 DEMO,默认off,测试程序编译开关。通过cmake -DDEMO=on ..打开单 元测试开关。 TOOL,默认off,工具程序编译开关。通过cmake -DTOOL=on ..打开工具 开关,提供FISCO节点的rocksdb读取工具。 区块配置文件group_genesis.ini和生成节点配置文件node_deployment.ini。 用户通过对conf文件夹下文件的操作,配置生成节点配置文件夹的具体信 息。 元数据文件夹meta FISCO BCOS generator的meta文件夹为元数据文件夹,需要存放fisco bcos 二进制文件、链证书ca.crt、本机构机构证书agency.crt、机构私钥节点证 书、群组创世区块文件等。 证书0 码力 | 2649 页 | 201.08 MB | 1 年前3
共 281 条
- 1
- 2
- 3
- 4
- 5
- 6
- 29













