/CSC5101

Advanced Programming of Multicore Architectures

Primary LanguageC

CSC5101 - Advanced Programming of Multicore Architectures

Set of exercises from CSC5101 course at Institut Polytechnique de Paris to perfect my C parallel programming skills and delve deeper into the following research topics :

  • Threads and synchronization: producer/consumer design pattern implementation
  • Lock algorithms: lock implementations and benchmarking for POSIX, spinlock, ticket and MCS locks
  • Non-blocking algorithms: implementing a lock-free queue while resolving the ABA problem when freeing nodes
  • Transactional memory: implementing a software transactional memory and hazard pattern to free memory
  • Non-uniform memory (NUMA) architecture: benchmarking memory reads in a NUMA architecture for different workloads
  • Non-volatile memory: simulating a NVMM mapping a persistent file into memory and implementing a write-cache

Remarks

The CF folders are previous exams trainings.