0% found this document useful (0 votes)
25 views2 pages

Concurrent and Distributed Computing in Java

good

Uploaded by

loveumona1970
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
25 views2 pages

Concurrent and Distributed Computing in Java

good

Uploaded by

loveumona1970
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 2

Concurrent and distributed computing in Java / Vijay K. Garg.

Garg, Vijay K. (Vijay Kumar),

Distributed Systems versus Parallel Systems -- Characteristics of Parallel and Distributed


Systems -- Design Goals -- Specification of Processes and Tasks -- Runnable Interface -- Join
Construct in Java -- Thread Scheduling -- Mutual Exclusion Problem -- Peterson's Algorithm --
Lamport's Bakery Algorithm -- Hardware Solutions -- Disabling Interrupts -- Instructions with
Higher Atomicity -- Synchronization Primitives -- Semaphores -- The Producer-Consumer
Problem -- The Reader-Writer Problem -- The Dining Philosopher Problem -- Monitors --
Dangers of Deadlocks -- Consistency Conditions -- System Model -- Sequential Consistency --
Linearizability -- Other Consistency Conditions -- Wait-Free Synchronization -- Safe, Regular,
and Atomic Registers -- Regular SRSW Register -- SRSW Multivalued Register -- MRSW
Register -- MRMW Register -- Atomic Snapshots -- Consensus -- Universal Constructions --
Distributed Programming -- InetAddress Class -- Sockets based on UDP -- Datagram Sockets --
DatagramPacket Class -- Example Using Datagrams -- Sockets Based on TCP -- Server
Sockets -- Example 1: A Name Server -- Example 2: A Linker -- Remote Method Invocations --
Remote Objects -- Parameter Passing -- Dealing with Failures -- Client Program -- Other Useful
Classes -- Models and Clocks -- Model of a Distributed System -- Model of a Distributed
Computation -- Interleaving Model -- Happened-Before Model -- Logical Clocks -- Vector Clocks
-- Direct-Dependency Clocks -- Matrix Clocks -- Resource Allocation -- Specification of the
Mutual Exclusion Problem -- Centralized Algorithm -- Lamport's Algorithm -- Ricart and
Agrawala's Algorithm -- Dining Philosopher Algorithm -- Token-Based Algorithms -- Quorum-
Based Algorithms -- Global Snapshot -- Chandy and Lamport's Global Snapshot Algorithm --
Global Snapshots for non-FIFO Channels -- Channel Recording by the Sender -- Application:
Checkpointing a Distributed Application -- Global Properties -- Unstable Predicate Detection --
Application: Distributed Debugging -- A Token-Based Algorithm for Detecting Predicates --
Detecting Termination and Deadlocks -- Diffusing Computation -- Dijkstra and Scholten's
Algorithm -- An Optimization -- Termination Detection without Acknowledgment Messages --
Locally Stable Predicates -- Application: Deadlock Detection -- Message Ordering -- Causal
Ordering -- Application: Causal Chat -- Synchronous Ordering -- Total Order for Multicast
Messages -- Centralized Algorithm -- Lamport's Algorithm for Total Order -- Skeen's Algorithm --
Application: Replicated State Machines -- Leader Election -- Ring-Based Algorithms -- Chang-
Roberts Algorithm -- Hirschberg-Sinclair Algorithm -- Election on General Graphs -- Spanning
Tree Construction -- Application: Computing Global Functions -- Synchronizers -- A Simple
Synchronizer -- Application: BFS Tree Construction -- Synchronizer [alpha] -- Synchronizer
[beta] -- Synchronizer [gamma] -- Agreement -- Consensus in Asynchronous Systems
(Impossibility) -- Application: Terminating Reliable Broadcast -- Consensus in Synchronous
Systems -- Consensus under Crash Failures -- Consensus under Byzantine Faults --
Knowledge and Common Knowledge -- Application: Two-General Problem -- Transactions --
ACID Properties -- Concurrency Control -- Dealing with Failures -- Distributed Commit --
Recovery -- Zigzag Relation -- Communication-Induced Checkpointing -- Optimistic Message
Logging: Main Ideas -- Model -- Fault-Tolerant Vector Clock -- Version End Table -- An
Asynchronous Recovery Protocol -- Message Receive -- On Restart after a Failure -- On
Receiving a Token -- On Rollback -- Self-Stabilization -- Mutual Exclusion with K-State
Machines -- Self-Stabilizing Spanning Tree Construction -- Various Utility Classes.

You might also like