Persistent Memory Technology - Introduction and Deployment
Offered By: EDUCBA via Coursera
Course Description
Overview
Embark on a dynamic learning journey through this course. In the first module, explore the intricacies of Persistent Memory (PMEM), unraveling its fundamental concepts, characteristics, and operating system support. Transition seamlessly into the second module, mastering transactional concepts, optimizing hardware configurations, and discerning between volatile and persistent libraries. In the final module, dive into advanced programming with libpmemobj, overcoming C++ Standard limitations, and applying insights to real-world scenarios like building a phonebook.
Target Learners:
1. System architects and designers
2. Software developers and programmers may learn about programming models
3. Database administrators (DBAs)
4. IT managers and decision-makers
5. Data Scientists and Analysts
By the end of this course,
1) You will wield a comprehensive skill set for navigating PMEM landscapes, optimizing system performance, and crafting resilient applications with advanced programming tools.
Pre-Requisites:
1. Understanding of basic computer architecture
2. The Basics of Operating Systems
3. Storage and Memory Concepts
4. Programming Skills
5. Fundamental Algorithms and Data Structures
6. As the course may explore the performance consequences of employing PMEM, it is important to be aware of performance measures and factors in computer systems.
7. Linux is a popular platform for working with persistent memory; therefore, being able to use the Linux command line is frequently helpful.
Syllabus
- Introduction & Persistent Memory Architecture
- This module provides a comprehensive exploration of persistent memory (PMEM), covering fundamental concepts and functionalities. You will delve into the essential characteristics of PMEM, analyzing platform support and data visibility. The module extends to assessing operating system support for memory and storage, offering insights into persistent memory-aware file systems. By the end, you will possess a nuanced understanding of PMEM, equipping them with the knowledge to navigate its key attributes, assess system compatibility, and comprehend the role of PMEM in contemporary storage solutions.
- PMEM Development Kit
- This module immerses you in the nuanced realm of transactions, imparting a solid grasp of their concepts. You will showcase proficiency in fine-tuning hardware configurations for optimal performance. Additionally, the module distinguishes between volatile and persistent libraries, elucidating their principles and applications. You will gain insights into separating flush operations for enhanced performance. By the module's conclusion, you will be adept at leveraging transactions, discerning between library types, and optimizing system performance through strategic hardware configurations.
- libpmemobj, libpmemobj-cpp and pmemkv
- This module provides a comprehensive exploration of advanced programming concepts, delving into the purpose and intricacies of libpmemobj and the implementation of memory pools. You will uncover and overcome limitations imposed by the C++ Standard, gaining the skills to simplify persistence mechanisms in programming. The module culminates with an in-depth analysis of the pmemkv architecture. By the end, you will be well-versed in leveraging powerful programming tools and techniques for efficient and robust application development.
Taught by
EDUCBA
Related Courses
Intro to Computer ScienceUniversity of Virginia via Udacity Design of Computer Programs
Stanford University via Udacity Analytic Combinatorics, Part I
Princeton University via Coursera Algorithms, Part I
Princeton University via Coursera Algorithms, Part II
Princeton University via Coursera