0% found this document useful (0 votes)
34 views

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
0% found this document useful (0 votes)
34 views

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
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