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

Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Sep 14th 2026
5-12 Weeks
C++程序设计 (Coursera) Coursera
Peking University

C++程序设计 (Coursera)

讲授C++语言中和面向对象有关的概念和语法,如类和对象、运算符重载、继承和多态、类模板和算法模板、标准模板库等。目标是使得学生能够用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序,初步领会面向对象程序设计方法的优势所在。

Sep 21st 2026
5-12 Weeks
Programming with Cloud IoT Platforms (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Programming with Cloud IoT Platforms (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data.

Sep 21st 2026
5-12 Weeks
Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Sep 14th 2026
5-12 Weeks
Introduction to Open Source Application Development (Coursera) Coursera
Illinois Tech

Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Sep 14th 2026
5-12 Weeks
Problem Solving, Python Programming, and Video Games (Coursera) Coursera
University of Alberta

Problem Solving, Python Programming, and Video Games (Coursera)

This course is an introduction to computer science and programming in Python. Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. However, a learner can take the knowledge and skills from this course and apply them to non-game problems, other programming languages, and other computer science courses.

Sep 21st 2026
5-12 Weeks
¡A Programar! Una introducción a la programación (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

¡A Programar! Una introducción a la programación (Coursera)

¿Alguna vez pensaste en crear tus propios juegos de computadora, pero no tenías idea cómo hacerlo o por dónde comenzar? Este curso te enseñará a programar utilizando Scratch, un lenguaje de programación visual muy fácil de usar, y más importante aún, aprenderás los principios fundamentales de la computación para que comiences a pensar como ingeniero/a de software.

Sep 21st 2026
5-12 Weeks
VLSI CAD Part I: Logic (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part I: Logic (Coursera)

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Sep 21st 2026
5-12 Weeks