Concurrent and Distributed Computing in Java

ISBN-10: 047143230X

ISBN-13: 9780471432302

Edition: 2004

Authors: Vijay K. Garg

List price: $165.00 Buy it from $3.28 Rent it from $52.80
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description:

Concurrent and Distributed Computing in Java addresses fundamental concepts in concurrent computing with Java examples. The book consists of two parts. The first part deals with techniques for programming in shared-memory based systems. The book covers concepts in Java such as threads, synchronized methods, waits, and notify to expose students to basic concepts for multi-threaded programming. It also includes algorithms for mutual exclusion, consensus, atomic objects, and wait-free data structures. The second part of the book deals with programming in a message-passing system. This part covers resource allocation problems, logical clocks, global property detection, leader election, message ordering, agreement algorithms, checkpointing, and message logging. Primarily a textbook for upper-level undergraduates and graduate students, this thorough treatment will also be of interest to professional programmers.
Used Starting from $3.28
New Starting from $167.00
Rent Starting from $52.80
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!
Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Calculus 1 Online content $4.95 $1.99
Add to cart
Study Briefs
Algebra Online content $4.95 $1.99
Add to cart
Study Briefs
Introduction to Logic Online content $4.95 $1.99
Add to cart
Study Briefs
Business Math Formulas Online content $4.95 $1.99
Customers also bought
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $165.00
Copyright year: 2004
Publisher: John Wiley & Sons, Incorporated
Publication date: 2/4/2004
Binding: Hardcover
Pages: 336
Size: 6.50" wide x 9.50" long x 0.75" tall
Weight: 1.320
Language: English

List of Figures
Preface
Introduction
Introduction
Distributed Systems versus Parallel Systems
Overview of the Book
Characteristics of Parallel and Distributed Systems
Design Goals
Specification of Processes and Tasks
Runnable Interface
Join Construct in Java
Thread Scheduling
Problems
Bibliographic Remarks
Mutual Exclusion Problem
Introduction
Peterson's Algorithm
Lamport's Bakery Algorithm
Hardware Solutions
Disabling Interrupts
Instructions with Higher Atomicity
Problems
Bibliographic Remarks
Synchronization Primitives
Introduction
Semaphores
The Producer-Consumer Problem
The Reader-Writer Problem
The Dining Philosopher Problem
Monitors
Other Examples
Dangers of Deadlocks
Problems
Bibliographic Remarks
Consistency Conditions
Introduction
System Model
Sequential Consistency
Linearizability
Other Consistency Conditions
Problems
Bibliographic Remarks
Wait-Free Synchronization
Introduction
Safe, Regular, and Atomic Registers
Regular SRSW Register
SRSW Multivalued Register
MRSW Register
MRMW Register
Atomic Snapshots
Consensus
Universal Constructions
Problems
Bibliographic Remarks
Distributed Programming
Introduction
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
Problems
Bibliographic Remarks
Models and Clocks
Introduction
Model of a Distributed System
Model of a Distributed Computation
Interleaving Model
Happened-Before Model
Logical Clocks
Vector Clocks
Direct-Dependency Clocks
Matrix Clocks
Problems
Bibliographic Remarks
Resource Allocation
Introduction
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
Problems
Bibliographic Remarks
Global Snapshot
Introduction
Chandy and Lamport's Global Snapshot Algorithm
Global Snapshots for non-FIFO Channels
Channel Recording by the Sender
Application: Checkpointing a Distributed Application
Problems
Bibliographic Remarks
Global Properties
Introduction
Unstable Predicate Detection
Application: Distributed Debugging
A Token-Based Algorithm for Detecting Predicates
Problems
Bibliographic Remarks
Detecting Termination and Deadlocks
Introduction
Diffusing Computation
Dijkstra and Scholten's Algorithm
An Optimization
Termination Detection without Acknowledgment Messages
Locally Stable Predicates
Application: Deadlock Detection
Problems
Bibliographic Remarks
Message Ordering
Introduction
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
Problems
Bibliographic Remarks
Leader Election
Introduction
Ring-Based Algorithms
Chang-Roberts Algorithm
Hirschberg-Sinclair Algorithm
Election on General Graphs
Spanning Tree Construction
Application: Computing Global Functions
Problems
Bibliographic Remarks
Synchronizers
Introduction
A Simple Synchronizer
Application: BFS Tree Construction
Synchronizer [alpha]
Synchronizer [beta]
Synchronizer [gamma]
Problems
Bibliographic Remarks
Agreement
Introduction
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
Problems
Bibliographic Remarks
Transactions
Introduction
ACID Properties
Concurrency Control
Dealing with Failures
Distributed Commit
Problems
Bibliographic Remarks
Recovery
Introduction
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
Problems
Bibliographic Remarks
Self-Stabilization
Introduction
Mutual Exclusion with K-State Machines
Self-Stabilizing Spanning Tree Construction
Problems
Bibliographic Remarks
Various Utility Classes
Bibliography
Index
×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×