An augmented reality application and instructional approach for learning parallel programming scheduling concepts

Published as:

M. Abernethy, O. Sinnen, J. Adams, G. De Ruvo, N. Giacaman. "Visual analogy videos for understanding fundamental parallel scheduling policies". In IEEE Workshop on Parallel and Distributed Computing Education held in conjunction with 32nd IEEE International Parallel and Distributed Processing Symposium, Vancouver, May 2018.

N. Giacaman, O. Sinnen, J. Adams. "ParallelAR: An augmented reality app and instructional approach for learning parallel programming scheduling concepts". Journal of Parallel and Distributed Computing, Volume 153, 2021.

The Analogy

The analogy is programming language agnostic and can be used to help turn the abstract parallel programming concepts into concrete mental models. At a high level, the execution of a parallelized program is represented by an office with employees working towards a goal. You can download the full description below.

Download PDF

Collaborative Flashcards

Collaborative Learning refers to knowledge construction via social interaction, and has the support of many years of research. Students work together in small groups toward a common goal, which promotes critical thinking skills, longer information retainment, and reduced anxiety associated with problem-solving. With this in mind, a set of flashcards have been designed to assist these goals.

Recommended Workflow

Using the Collaborative Flashcards, students discuss the anticipated performance of a parallel system given a combination of workload and scheduling policy. The intended learning outcomes are attained through comparison between different configurations. This Recommended Workflow has been prepared to guide the learning process with the flashcards. Download a sample below.

Download PDF

The App

An augmented reality (AR) application, ParallelAR, takes advantage of the accessibility of mobile technology in the classroom and uses the flashcards to bring the analogy to life. The aim of the app is to reinforce the anticipated performance resulting from the Collaborative Learning discussions. A more detailed description of the app appears below.

The Collaborative Flashcards

Traditional flashcards have been shown to engage active recall. Combining this with a social environment, where students must discuss their reasons for their guess, makes for an even better learning activity. Flashcards are traditionally two-sided, where one side has the prompt and the other side has the solution. However, these flashcards only have one real side. The “solution side” comes in one of two forms: virtual animations enabled by the ParallelAR application, or the solution discussions provided by a teacher. The card in the center below (with the ParallelAR logo) is the main flashcard, prompting for a pairing of one scheduling policy (to its left) and the nature of the workload (to its right). Once selected, the performance of the system can be compared between different configurations. There is a total of 12 possible configurations to explore. You can download these as 12 cards to cut individually, or as pre-configured strips for convenience.

Individual Cards
Pre-configured strips
Pre-configured strips (smaller)

The ParallelAR app

AR applications can detect and track image targets, and augment the printed media or real-world. The flashcards act as these targets and are used as a learning resource to aid in collaboration. Instead of passively being told the pros and cons of different scheduling policies, the student experiences the different combinations in real-time.

Accessibility in the classroom

The application was built using low poly 3D assets, a technique that shows a reduction in file sizes, mesh-density and loading time on Android devices. Therefore, most smartphones can handle the animations without a problem. Once the flashcards are printed, you only need a phone/tablet running Android (version 4.1.x+) to participate.

Analogy comes to life

After the flashcards have been successfully recognized by the app, a 3D model of an office will be superimposed onto the main flashcard in the device's camera view. The virtual office is animated by employees getting hired, working and switching desks, all depending on the configuration selected by the student. The office has four desks, thereby mimicing a quad-core processor.

Performance metrics

The time taken to complete the work by the single employee will be about 4x longer than a parallel program. The students should be able to feel the difference in time, as it mirrors real-world time for the animation to play out. To emphasize these performance measures, a summary screen of the statistics will be displayed after every run through. Comparing the core utilization and timing disparities between different scheduling policies and workloads will reinforce the desirable learning outcomes.

Watch the videos!

For your convenience, we have made screen recordings of the app in action for some of the activities. You can watch these on our YouTube channel.

Parallel AR is available on the Google Play store

Android version 4.1.X+ is supported


The Creators

ParallelAR and the instructional framework were created for a University of Auckland Master of Software Engineering Studies project.

Student: Marin Abernethy

Advisor: Dr. Nasser Giacaman


Also, a big thanks to Oliver Sinnen, Giuseppe De Ruvo, and Joel Adams!