• Partnership for Advanced Computing in Europe (PRACE)

One-Sided Communication and the MPI Shared Memory Interface

Learn how to make the most of the new shared memory interface within the MPI application.

366 enrolled on this course

Supercomputer at HLRS
  • Duration

    4 weeks
  • Weekly study

    4 hours

Get to grips with the new interface of MPI-3 and its practical use

Since MPI-3.0, the Message Passing Interface has two new features that enable you to share memory windows.

On this four-week course from Partnership for Advanced Computing in Europe (PRACE), you’ll learn how to use these new methods to maximise your use of the application.

Refresh your knowledge of MPI one-sided communication

One-sided communication, compared to two-sided communication, can help to improve performance by reducing synchronisation, having no delay in sending data, and increasing functionality and scalability.

You’ll begin by getting an introduction to MPI one-sided communication to refresh your knowledge and skills. You’ll learn how to use the new interface, examining case-use studies in the real world to further cement your learning.

Discover the principles of MPI shared memory and how to use it

You’ll explore how to split a communicator in shared memory islands and how to synchronise load and store operations. By the end of the course, you’ll understand restrictions and advanced options when using MPI-3 shared memory.

Learn from the experts at PRACE

The mission of PRACE is to enable high-impact scientific discovery and engineering research and development across all disciplines. By offering world-class computing and data management resources and services, they aim to enhance European competitiveness for the benefit of society.

Download video: standard or HD

Skip to 0 minutes and 8 seconds Hello, nice to have you drop in. I’m Lucienne Dettki, one of the educators of this MOOC on MPI One-sided communication and Shared Memory Interface. I hope you are quite familiar with MPI and know two-sided-communication models. In our MOOC, we will first explain the concept of one-sided communication. Building on this, you will then learn everything you need to know about the MPI interface for shared memory. This MOOC was developed jointly by ASTRON, HLRS, IUCC, and SURF, and is based on an MPI course at HLRS. During this course, all concepts are explained in detail. In addition, there are many exercises with code snippets that illustrate the possibilities of programming and also help to overcome stumbling blocks.

Skip to 1 minute and 1 second There are several quizzes to review the learning material and see if you have understood everything. In the quizzes you will be asked details about MPI communication in the form of multiple choice questions. If you answer incorrectly, you will receive hints. In addition, there is always the possibility to discuss details among each other and with us educators. Now we hope to welcome you soon in our MOOC!

What topics will you cover?

  • MPI one-sided communication
  • Window creation and allocation
  • Remote Memory Access (RMA) routines
  • Synchronization calls
  • Shared memory within MPI (programming model and usage)
  • Memory models and fast synchronization for MPI shared memory
  • Examples and exercises

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Apply MPI one-sided communication to your communication patterns in your MPI applications
  • Explain the main advantages and disadvantages of MPI one-sided communication and MPI shared memory
  • Design your program using methods of MPI communication that prevent deadlocks and ensure a correct program
  • Improve scalability by substituting non-scalable solutions with scalable one-sided approaches

Who is the course for?

This course is designed for anyone familiar with MPI that wants to learn to program using the new interface.

What software or tools do you need?

To take part in this course you don’t need a supercomputer, just an MPI environment on your laptop or computer.

Who will you learn with?

I'm head of Parallel Computing – Training and Application Services at HLRS and member of the MPI forum. In workshops & summer schools I teach parallel programming models in many universities and labs.

I work at HLRS Parallel Computing - Training and Application Services. I develop the conceptual design and contents for our courses together with my colleagues and I organize PRACE and HLRS trainings.

I work as a software engineer for HPC applications at ASTRON in The Netherlands. I spend most of my time developing software, giving trainings on HPC related topics, and developing training materials.

I work as supercomputing advisor and coordinator of trainings at SURF in the Netherlands. I give support to researchers in their daily work and contribute to provide training on different HPC topics.

Who developed the course?

Partnership for Advanced Computing in Europe (PRACE)

The Partnership for Advanced Computing in Europe (PRACE) is an international non-profit association with its seat in Brussels.

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Get a taste of this course

Find out what this course is like by previewing some of the course steps before you join:

Do you know someone who'd love this course? Tell them about it...

You can use the hashtag #MPI3shm to talk about this course on social media.