Persistent Memory Technology - Introduction and Deployment (Coursera)

Offered by EDUCBA,
Persistent Memory Technology - Introduction and Deployment (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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.

What you'll learn

  • Grasp in-depth knowledge of persistent memory and seamless integration with memory and storage, supported by the operating system.
  • Learn transaction concepts, differentiate volatile and persistent libraries, and master file mapping in the context of Persistent Memory
  • Understand libpmemobj's purpose and memory pool concepts

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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Foundations of Data Science: K-Means Clustering in Python (Coursera) Coursera
University of London,Goldsmiths, University of London

Foundations of Data Science: K-Means Clustering in Python (Coursera)

This MOOC, designed by an academic team from Goldsmiths, University of London, will quickly introduce you to the core concepts of Data Science to prepare you for intermediate and advanced Data Science courses. It focuses on the basic mathematics, statistics and programming skills that are necessary for typical data analysis tasks.

Sep 7th 2026
5-12 Weeks
Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera)

Decía Steve Jobs que “todo el mundo debería aprender a programar un ordenador porque esto te ayuda a pensar”. Hoy en día la programación es una herramienta fundamental para el desarrollo de la tecnología moderna. Este curso te introduce en el mundo de la programación en el lenguaje Python.

Sep 7th 2026
5-12 Weeks
Ajax Basics (Coursera) Coursera
Board Infinity

Ajax Basics (Coursera)

This Ajax Basics course is designed for beginners who want to learn how to build web applications that dynamically update content without reloading the entire page. In this course, you will learn the fundamentals of Ajax, including its features, advantages, and common usage scenarios.

Sep 7th 2026
3 Weeks
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Sep 7th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Sep 7th 2026
4 Weeks
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Aug 31st 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Sep 7th 2026
4 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Sep 7th 2026
5-12 Weeks
Introducción a UML (Coursera) Coursera
Universidad de los Andes

Introducción a UML (Coursera)

Bienvenidos a este curso de introducción al Lenguaje de Modelado Unificado, o UML por su sigla en inglés. Este curso surge como respuesta a la necesidad de los ingenieros de software de desarrollar la habilidad de abstraer y representar en un modelo problemas o soluciones. Esta habilidad es especialmente importante en el mundo del software donde las tecnologías son tan cambiantes. Un modelo te provee una forma de comunicar y validar un entendimiento, independiente de la tecnología en la que construirás una solución.

Aug 31st 2026
4 Weeks