A simulator to analyze data locality in multicore architectures

NUMA (Non-uniform memory access) architectures offer large-scale parallel systems with interconnected nodes containing multicore chips. To take advantage of the computational power of these architectures, software applications should be carefully distributed.
Due to the complex interactions of these systems, it is very difficult for a programmer to have a clear picture of how these computational nodes interact with the data located in memory, which as a consequence can cause unnecessary delays due to remote access to data. 
Model-based analysis using logic-based techniques (formal methods) are particularly useful to analyze complex systems, because these techniques are very effective to abstractly model the behavior and interaction of such systems.
About the master project
This master topic focuses on the implementation of a simulator of parallel tasks executing on multicore architectures.  Here the starting point will be a formal specification in e.g., SOS or RL/Maude. Part of the challenge of this master topic lies on how to implement such specifications in a distributed and algorithmic way.
Learning Outcomes
While developing this master project, the student will gain analytical thinking using abstractions, and a deep understanding of synchronization of parallel tasks, task scheduling and data allocation.

Suggested coursework

    IN5170 - Models of concurrency.

    IN5440 - Selected topics in static analysis.

    IN5100 - Selected topics in rewriting logic.

    IN5110 - Specification and verification of parallel systems.



Publisert 17. sep. 2019 16:25 - Sist endret 18. sep. 2019 09:08

Omfang (studiepoeng)