|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/persistent-memory-pmem-architecture-to-advanced-development/
课程评论:没有评论
课程名称:持久性内存 PMEM:架构到高级开发 课程概述:深入了解持久性内存(PMEM),这项革命性技术弥合了传统内存与存储之间的差距。本课程旨在为您提供掌握PMEM所需的知识和实践技能,使您能够开发高性能应用程序。无论您是开发人员、系统架构师还是技术爱好者,都将探讨PMEM的架构、开发工具包和高级编程技术,推动数据管理的界限。 第一部分:持久性内存的基础 本部分奠定基础,介绍持久性内存的架构、独特特性以及支持其的硬件和软件生态系统。 - 课程欢迎与介绍:课程目标与学习成果概述。 - 持久性内存是什么:理解PMEM的基本概念及其与传统内存和存储的区别。 - 持久性内存的重要性:探索PMEM在现代计算中的关键角色及其硬件和软件要求。 - 内存与存储的区别:深入了解两者的技术差异及PMEM如何模糊这些界限。 - 持久性内存的核心特征:学习PMEM的低延迟、高耐久性和数据持久性等独特特性。 - 支持PMEM的硬件平台:识别支持PMEM的设备与系统配置。 - 操作系统级别的支持:发现操作系统如何与PMEM互动及其性能优化。 - 将PMEM视为块存储:理解PMEM如何作为块存储使用及其对数据性能和可靠性的影响。 第二部分:掌握PMEM开发工具包 本部分从理论转向实践,介绍PMEM开发工具包并指导您掌握高级开发概念。 - 原子更新基础:学习原子更新在PMEM中的重要性。 - 持久性内存中的事务:探讨在失败中确保数据完整性的事务管理技术。 - 易失性库的作用:理解易失性库及其在PMEM应用中的重要性。 - 持久性库的结构与应用:深入持久性库的结构,以构建可靠的PMEM系统。 - 持久性库的实际应用:在真实场景中应用持久性库的知识。 - 映射文件到持久性内存:学习如何高效地将文件映射到PMEM以优化性能。 - 将数据复制到持久性内存:掌握安全地将数据复制到PMEM的技术。 - 刷新的艺术:理解PMEM的刷新机制及其优化方法。 第三部分:使用libpmemobj、libpmemobj-cpp和pmemkv进行高级PMEM编程 在这一高级部分,我们将深入专用库和框架,聚焦于PMEM开发的实际应用和性能优化。 - libpmemobj简介:了解一个核心库的管理持久性对象在内存中的作用。 - 内存池解析:理解内存池在高效PMEM资源管理中的关键角色。 - 使用内存池集进行扩展:探索内存池集如何支持可扩展和灵活的PMEM应用。 - 利用元编程优化性能:发现元编程技术如何提升PMEM应用性能。 - 应对C++标准局限:学习在PMEM开发中克服C++标准限制的方法。 - PMEMKV架构概述:深入研究为持久性内存优化的键值存储架构。 - 利用PMEMKV构建电话簿应用:应用所学知识,创建实际电话簿应用。 - PMEM在云中的未来:探索PMEM在云计算环境中的潜力及其未来发展。 - 总结与课程收获:反思学习成果,重温关键概念,并发现如何在课程结束后继续探索PMEM。 本课程通过理论与实践相结合的方式,帮助学员全面掌握持久性内存的关键知识与技能,为高性能应用的开发提供坚实的基础。
Course Introduction:Dive deep into the world of Persistent Memory (PMEM), a revolutionary technology that bridges the gap between traditional memory and storage. This course is designed to equip you with the knowledge and practical skills needed to harness PMEM for high-performance applications. Whether you're a developer, systems architect, or tech enthusiast, you'll explore PMEM's architecture, development kits, and advanced programming techniques to push the boundaries of data management.Section 1: Foundations of Persistent MemorySection Overview:This section lays the groundwork, introducing Persistent Memory's architecture, its unique characteristics, and the hardware and software ecosystems that support it.Lecture 1: Welcome to the World of Persistent MemoryGet an overview of the course objectives, learning outcomes, and what you can expect in the coming modules.Lecture 2: What Is Persistent Memory?Understand the fundamental concept of PMEM, how it differs from traditional memory and storage, and why it's a game-changer.Lecture 3: The Significance of Persistent MemoryExplore the critical role PMEM plays in modern computing, its hardware requirements, and the software ecosystem that supports it.Lecture 4: Memory vs. Storage: Understanding the DivideDelve into the technical differences between memory and storage, and how PMEM blurs these lines to offer the best of both worlds.Lecture 5: Core Characteristics of Persistent MemoryLearn about the unique features of PMEM, such as low latency, high endurance, and data persistence, which make it ideal for specific applications.Lecture 6: Hardware Platforms That Support PMEMIdentify the hardware that enables PMEM, including supported devices and system configurations.Lecture 7: OS-Level Support for Memory and StorageDiscover how operating systems interact with PMEM, including support mechanisms and performance optimizations.Lecture 8: PMEM as Block Storage: A New PerspectiveUnderstand how PMEM can be utilized as block storage, and its impact on data performance and reliability.Section 2: Mastering PMEM Development KitSection Overview:This section transitions from theory to hands-on practice, introducing you to the PMEM Development Kit and guiding you through advanced development concepts.Lecture 9: The Basics of Atomic UpdatesLearn how atomic updates work in PMEM and their importance for data consistency.Lecture 10: Transactions in Persistent MemoryExplore transaction management techniques in PMEM to ensure data integrity during failures.Lecture 11: Volatile Libraries: What They Are and Why They MatterUnderstand volatile libraries and their role in PMEM applications.Lecture 12: Persistent Libraries for Robust ApplicationsDive into the structure and use of persistent libraries to build reliable PMEM-based systems.Lecture 13: Practical Use of Persistent LibrariesApply your knowledge in real-world scenarios by working with persistent libraries.Lecture 14: Mapping Files to Persistent MemoryLearn how to efficiently map files to PMEM for optimal performance.Lecture 15: Copying Data to Persistent MemoryMaster techniques for safely copying data into PMEM with minimal performance overhead.Lecture 16: The Art of Flushing: Separating Steps for EfficiencyUnderstand the flushing mechanism in PMEM and how to optimize it for better data reliability.Section 3: Advanced PMEM Programming with libpmemobj, libpmemobj-cpp, and pmemkvSection Overview:In this advanced section, we'll dive into specialized libraries and frameworks for PMEM development, focusing on practical applications and performance optimization.Lecture 17: Demystifying libpmemobjGet to know libpmemobj, a core library for managing persistent objects in memory.Lecture 18: Memory Pools ExplainedUnderstand memory pools and their critical role in efficient PMEM resource management.Lecture 19: Scaling with Memory PoolsetsExplore how memory poolsets allow for scalable and flexible PMEM applications.Lecture 20: Leveraging Metaprogramming in PMEMDiscover how metaprogramming techniques can enhance PMEM application performance.Lecture 21: Navigating C++ Standard Limitations with PMEMLearn to overcome C++ standard limitations when working with PMEM.Lecture 22: Inside PMEMKV ArchitectureDelve into the architecture of pmemkv, a key-value store optimized for persistent memory.Lecture 23: Building a Phonebook App with PMEMKVApply your knowledge to create a practical phonebook application using pmemkv.Lecture 24: The Future of PMEM in the CloudExplore the exciting potential of PMEM in cloud computing environments and how it's shaping the future.Lecture 25: Wrapping Up: Course Conclusion and Key TakeawaysReflect on what you've learned, review key concepts, and discover how to continue your PMEM journey beyond this course.