Computer Science BooksConcurrent Programming Books

Concurrent Programming Class Notes

Concurrent Programming Class Notes

Concurrent Programming Class Notes

This note focuses on Concurrent Programming, Parallel Programming, Multi-Processing and Multi-Threading. Topics covered includes: Thread, Properties of a Thread, Lifecycle of a process, Concurrent Hardware, Basic Uniprocessor, Multiprocessors, Basic Hardware, Kessel’s Algorithm, Java Threads Scheduling Model, Compiler Optimization and Mutlithreading, Ticket Algorithm, Bakery Algorithm, Semaphores, Concurrency Problems with Deadlock, Speculative Multithreading (SpMT),Lifecycle of a process, Achieving good performances, Concurrent Hardware,  Granularity,  Atomicity,  Race Conditions,  Mutual Exclusion,  Brief Interruption to Introduce Java and PThreads, Java Threads Scheduling Model, Compiler Optimization and Mutlithreading, PThreads, Execution Scheduling Policies, Contention Scope,  Properties of Mutual Exclusion algorithms, Ticket Algorithm, Bakery Algorithm, Hardware Support for Concurrency, Splitter, Practical Lock Design, Tasuki Locks, Barrier, Semaphores, Condition Variables, Broadcasting, Building Semaphores using Monitors, Using Multiple Condition Variables, Readers and Writers Problem, Concurrency Problems with Deadlock, Dining Philosophers, Deadlock Solution, Scheduling and Priorities, Scheduling Guarantees, Priorities, Termination and Suspension, Miscellanous Issues,Memory Consistency, Relaxed Models,  Building Correctly Synchronized Programs,  Java Concurrency API, Condition Variable, Concurrent Data Structures, Message Passing, Process Algebra, Homogenous actors, Irregular Actors

Author(s):

s110 Pages
Similar Books
Concurrent Programming in ERLANG

Concurrent Programming in ERLANG

This comprehensive note is an introduction to concurrent programming using the ERLANG language, well suited for developing robust applications. It starts with a tutorial on ERLANG basics, introducing the reader to sequential programming concepts and use of lists and tuples. Concurrent and distributed programming is at the very core, detailing strategies for managing multiple processes effectively. It is underlined that good error handling should be achieved and best programming practice performed to create a more robust application, and therefore developers can gracefully handle their problems. This note also puts emphasis on functions and standard libraries that are built in and enhanced the functionality of ERLANG. This resource is invaluable for any programmer who needs to take advantage of the best features of ERLANG in concurrent programming through the presentation of different applications and discussion on common errors in ERLANG.

s205 Pages
Concepts of Concurrent Programming

Concepts of Concurrent Programming

This resource is aimed primarily at explicit concurrency, where a programmer explicitly declares the concurrent behavior within the code. It explains the nature and properties of concurrent programs as well as the issues that arise during execution and how to build such programs efficiently. The text also considers performance-oriented concurrency-that is, the way to exploit a certain capability of hardware in order to realize an increase of efficiency of a program. This material, by taking common applications as a look and common problems present in concurrent programming, acts as a basic guide for anyone interested in knowing the design and implementation of robust concurrent systems.

s51 Pages