O'Reilly logo

Concurrent and Distributed Computing in Java by Vijay K. Garg

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Contents

List of Figures

Preface

1   Introduction

1.1 Introduction

1.2 Distributed Systems versus Parallel Systems

1.3 Overview of the Book

1.4 Characteristics of Parallel and Distributed Systems

1.5 Design Goals

1.6 Specification of Processes and Tasks

1.6.1 Runnable Interface

1.6.2 Join Construct in Java

1.6.3 Thread Scheduling

1.7 Problems

1.8 Bibliographic Remarks

2   Mutual Exclusion Problem

2.1 Introduction

2.2 Peterson’s Algorithm

2.3 Lamport’s Bakery Algorithm

2.4 Hardware Solutions

2.4.1 Disabling Interrupts

2.4.2 Instructions with Higher Atomicity

2.5 Problems

2.6 Bibliographic Remarks

3   Synchronization Primitives

3.1 Introduction

3.2 Semaphores

3.2.1 The Producer-Consumer Problem

3.2.2 The Reader-Writer Problem

3.2.3 The Dining Philosopher Problem

3.3 Monitors

3.4 Other Examples

3.5 Dangers of Deadlocks

3.6 Problems

3.7 Bibliographic Remarks

4   Consistency Conditions

4.1 Introduction

4.2 System Model

4.3 Sequential Consistency

4.4 Linearizability

4.5 Other Consistency Conditions

4.6 Problems

4.7 Bibliographic Remarks

5   Wait-Free Synchronization

5.1  Introduction

5.2  Safe, Regular, and Atomic Registers

5.3  Regular SRSW Register

5.4  SRSW Multivalued Register

5.5  MRSW Register

5.6  MRMW Register

5.7  Atomic Snapshots

5.8  Consensus

5.9  Universal Constructions

5.10 Problems

5.11 Bibliographic Remarks

6   Distributed Programming

6.1 Introduction

6.2 InetAddress Class

6.3 Sockets based on UDP

6.3.1 Datagram Sockets

6.3.2 Datagram Packet Class

6.3.3 Example Using ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required