# Projects on Concurrent Programming & Distributed Computing #
## Concurrent Programming folder ##
- Folder "Concurrent-Programming-using-C" contains several projects that implement several concurrent programming mechanisms like Semaphores, Mutexes, Synchronization, Critical Code Sections (CSS).
- All of these are implemented in C language from scratch, using Linux P-threads, OpenMP and CUDA.
- The list of projects are the following:
* Circular read/write buffer (one thread writes and one thread reads, both asynchronously).
* Recursive, concurrent Mandelbrot pattern production.
* Recursive Quicksort.
* Multithreaded parsing, error checking and execution of AT-Command based instructions (pseudo script language).
## Distributed Computing folder ##
- Folder "Distributed-Computing-using-Python" contains several projects that implement fundamental distributed computing mechanisms like
- These are implemented in C language from scratch basic Concuree which implement distributed computing methodologies from scratch, using Python
- The list of projects are the following:
* Asynchronous Server/Client communication
* Decentralisated (fully distribitued) group communication with Total Order messaging
* Network File System (NFS)
* Remote runtimes that support live code migration and automatic load balancing.