DAG-Analyzer

DAG-Analyzer is a a compiler that can be used describe, analyze and generate the source code for a set of parallel real-time tasks that can be modeled using HPC dag or Digraph task models.

It is authored and actively maintained by Houssam-Eddine Zahaf. We acknowledge the participation of Lug Lemaitre, Damien Amara and Ikram senoussaoui for their participation in writing some modules in this tool. This tool is under GPL Licence. If you want to cite this work, please use the following citation:

Houssam-Eddine ZAHAF, Nicola Capodieci, Roberto Cavicchioli, Giuseppe Lipari, Marko Bertogna: "The HPC-DAG Task Model for Heterogeneous Real-Time Systems".


Used Technologies : C++, Flex, Bison (Yacc), Linux, C (for the generated code)

PRUDA

PRUDA is a set of programming tools and mechanisms to control scheduling within the GPU. It also provides the implementation the following real-time scheduling policies:

  • Fixed Priority (FP): preemptive and non-preemptive single core
  • Earliest Deadline First (EDF) : preemptif and non preemptive
  • Gang scheduling techniques : preemptive and non preemptive GANG using the GPU as a multiprocessor architecture.

Additionally PRUDA aims to not modify CUDA-user programming style. Therefore, the PRUDA user can use already developped CUDA kernels. To keep the user-free of kernel signatures, PRUDA must be compiled at the same time with the user source kernel code. Neverless, PRUDA also provides a dynamic configuration possibilities with fixed kernel signature (int , int *, int *, int *, int *); PRUDA can handle implicitly memory copy operations, and also cuda unified memory.


Used Technologies : C++(std17), C, CUDA, Linux, Assembly, Jetson TX2

LITUUS

It is a large framework to manage cows monitoring using IoT and cyber physical systems. The fog computing model has been adopted for LITUUS monitoring, that is processing sensors data and actuating make be triggered at sensor level, farm level, or globally at the cloud servers.

The cloud part of the framework can be consulted on website: www.lituus.fr

Used Technologies : JAVA, SCALA, JEE, Pyhton, SQL, C

Thesis projects

During my thesis I have develloped several small tools to validate my theoritical approaches. This tools include linux modules, drivers as well as simulators in JAVA and Scala.