Practical Parallel and Concurrent Programming

  •        0

Eight two-week units of courseware (slides, lecture notes, samples, tools) for teaching how to program parallel/concurrent applications at a high-level using Microsoft’s Parallel Extensions to the .NET Framework.



Related Projects

JCTools - Java Concurrency Tools for the JVM

Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK.

Parallel Runtime Library

Parallel Runtime Library is optimized library that provide Easy to use and High Performance Parallelism Computing. Parallel Runtime Library provide: Effective Parallel Runtime, Concurrent Data Structure, Task and Data Parallel, Producer and Consumer and Agent Model.

Concurrent Programming Library

Concurrent Programming Library provides an opportunity to develop a parallel programs using .net framework 2.0 and above. It includes an implementation of various parallel algorithms, thread-safe collections and patterns.

Eta - A powerful language for building scalable systems on the JVM

Eta is a pure, lazy, strongly typed functional programming language on the JVM. It is a dialect of Haskell on the JVM. It is pure by default which means that calling a function with the same arguments will yield the same results every time. It is lazy by default which means that data stays in unevaluated state until a function needs to peek inside.

Concurrency - Concurrency and Parallel Programming.

Concurrency and Parallel Programming.

CHESS: Systematic Concurrency Testing

CHESS is a tool for systematic and disciplined concurrency testing. Given a concurrent test, CHESS systematically enumerates the possible thread schedules to find hard-to-find concurrency errors, including assertion violations, deadlocks, data-races, and atomicity violations.

concurrent-lab-2012 - Concurrent and Parallel Programming Lab at MIMUW

Concurrent and Parallel Programming Lab at MIMUW


Concurrence is a framework for creating massively concurrent network applications in Python. It takes a Lightweight-tasks-with-message-passing approach to concurrency. The goal of Concurrence is to provide an easier programming model for writing high performance network applications than existing solutions (Multi-threading, Twisted, asyncore etc).

MSCC-CPP-Workbook1 - Griffith College - 2012 Concurrent & Parallel Programming Module - Workbook 1

Griffith College - 2012 Concurrent & Parallel Programming Module - Workbook 1

cs343-ass - CS343 Concurrent and Parallel Programming: Assignments

CS343 Concurrent and Parallel Programming: Assignments

ParExc1 - Coursework for Parallel and Concurrent programming

Coursework for Parallel and Concurrent programming

status - status of various projects hosted on GitHub

Personal----These are released, but are geared towards personal use; as such, they may be buggy or be of very limited use.* [exceptionpp]( -- personal C++ exception library* [django_iin_lookup]( -- look up credit card brand and stuff, given the first six digits of a credit cardIn Progress----Very buggy, currently in active development.* [spp]( -- C++ scheduling engine* [courses](

Concurrent Extensions Library (CEL)

Concurrent Extensions Library (CEL) provides functionality and implementations commonly useful in concurrent programming.

SCOOP: Simple Concurrent OO Programming

The Simple Concurrent Object-Oriented Programming (SCOOP) mechanism introduces inter-object concurrency to the Eiffel language, via addition of one new keyword, ''separate''. We describe a general tool that takes an Eiffel program that makes use of SCOOP


Concurrency Kit provides a plethora of concurrency primitives, safe memory reclamation mechanisms and lock-less and lock-free data structures designed to aid in the design and implementation of high performance concurrent systems.

MPJ Express - Parallel Programming in Java

MPJ Express is an open source Java message passing library that allows application developers to write and execute parallel applications for multicore processors and compute clusters/clouds. It allows writing parallel Java applications using an MPI-like API.

Colt - Scientific and Technical Computing in Java

Colt distribution consists of several free Java libraries bundled under one single uniform umbrella. Namely the Colt library, the Jet library, the CoreJava library, and the Concurrent library. It provides support for resizable arrays, dense, sparse matrices, histogramming functionality, Random Number Generators etc.

concurrent-utils - Classes useful in concurrent programming for C#.

Provides classes and methods useful in concurrent programming.Executes an asynchronous method n number of times, limiting the amount of operations in parallel without blocking.


C library of concurrent hash tables with high performance for parallel model checking