搜索

pdf文档 CppCon 2021: Persistent Data Structures

1.90 MB 56 页 0 下载 70 浏览 0 评论 0 收藏
所属分类: 后端开发 / C++
语言 格式 评分
英语
.pdf
3
摘要
The document discusses the design and implementation of persistent data structures, particularly focusing on concurrent systems. It introduces methods to add persistence to concurrent data structures, such as the 'flush-on-read' and 'link-and-persist' approaches. The document also presents experimental results using Intel's Xeon Scalable processors and Optane DC Persistent Memory, highlighting performance metrics and the effectiveness of the proposed methodologies. Key concepts include crash consistency, durable linearizability, and the use of persistent memory in high-performance computing scenarios.
AI总结
《CppCon 2021: Persistent Data Structures》主要探讨了持久化数据结构的设计与实现,特别是针对并发环境下的持久化哈希表和事务性数据结构。以下是文档的核心内容总结: 1. **持久化目标** - 在并发数据结构中添加持久化特性,同时利用现有的多线程同步保证。 - 避免不必要的写操作,通过高效的方法(如“链接与持久化”)减少开销。 2. **持久化方法** - **简单方法**:每次读取前进行刷新(flush-on-read),但这种方式开销较大。 - **优化方法**:通过“链接与持久化”技术,利用未使用的指针位标记脏位,仅在首次读取时刷新,减少刷新次数。 3. **正确性属性** - 持久化数据结构需满足崩溃一致性(crash consistency)和 durable 线性化(durable linearizability),确保在系统崩溃后数据的一致性和正确性。 4. **实验设置** - 使用 Intel Cascade Lake 处理器(48 核、96 线程)和 Intel Optane DC 持久内存(6TB)进行测试。 - 持久化数据结构部署在 DCPM 中,DRAM 用于存储其他数据(如代码)。 - 操作系统为 Ubuntu 18.04 LTS,编译工具为 gcc 7.4,优化级别为 -O3,使用 C++14 标准。 5. **持久化哈希表** - 设计目标:支持大规模图分析、并发操作和高性能共享内存访问。 - 当前高性能 NVM(非易失性存储)选项有限,持久化哈希表的实现需兼顾性能和持久性。 6. **事务性数据结构** - 通过 PETRA(持久化事务性内存)实现,结合事务性内存操作,确保数据结构的原子性和持久性。 7. **结论与展望** - 持久化数据结构在多线程和高并发场景下具有重要应用价值。 - 通过优化方法(如“链接与持久化”)和高效实验设置,可显著提升持久化数据结构的性能和可靠性。 总结来看,该文档重点介绍了持久化数据结构的设计理念、实现方法及其在并发环境下的应用,强调了在高性能计算和持久化存储中的重要性。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 44 页请下载阅读 -
文档评分
请文明评论,理性发言.