Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS696 Independent Study - Concurrency

This repository contains the result of my Fall 2023 independent study with Stephen Chang focusing on concurrent programming. Here you will find a written report of what I've learned and several projects involving concurrent programming.

Repository Contents

Writeup

In the writeup folder you'll find the LaTeX source for a report detailing the things I've learned this semester.

C Quicksort

In the c-quicksort folder you'll find a parallel implementation of quicksort written in C. It uses POSIX threads and is an example of the shared memory concurrency model. This program reads in a list of random letters and prints them sorted alphabetically. Of note, even on large inputs (GB), this program does not run faster than a single threaded implementation. This is largely due to the overhead of thread creation. A better implementation may reduce the number of thread creations and deletions to achieve faster performance. On a slower computer the parallel implementation may be quicker.

Tic Tac Toe

In the tic-tac-toe folder you'll find a concurrent implementation of a Tic-Tac-Toe game server written in Erlang. This game server requires Erlang clients but may be used either by communicating Erlang processes on the same or different machines, or over the network.

Miniprojects

In the miniproject_* folders you'll find solutions to the mini projects offered as part of the Concurrent Programming in Java Coursera course. I went through this course's material during the semester, you can find it online here.

About

A broad survey of parallel programming concepts and their use in modern programming languages.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages