Wiley - IEEE
2 total works
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.
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.
A lucid and up-to-date introduction to the fundamentals of distributed computing systems. As distributed systems become increasingly available, the need for a fundamental discussion of the subject has grown. Designed for first-year graduate students and advanced undergraduates as well as practicing computer engineers seeking a solid grounding in the subject, this well-organized text covers the fundamental concepts in distributed computing systems such as time, state, simultaneity, order, knowledge, failure, and agreement in distributed systems. Departing from the focus on shared memory and synchronous systems commonly taken by other texts, this is the first useful reference based on an asynchronous model of distributed computing, the most widely used in academia and industry. The emphasis of the book is on developing general mechanisms that can be applied to a variety of problems. Its examples - clocks, locks, cameras, sensors, controllers, slicers, and synchronizers - have been carefully chosen so that they are fundamental and yet useful in practical contexts.
The text's advantages include: it emphasizes general mechanisms that can be applied to a variety of problems; it uses a simple induction-based technique to prove correctness of all algorithms; it includes a variety of exercises at the end of each chapter; it contains material that has been extensively class tested; it gives instructor flexibility in choosing appropriate balance between practice and theory of distributed computing.
The text's advantages include: it emphasizes general mechanisms that can be applied to a variety of problems; it uses a simple induction-based technique to prove correctness of all algorithms; it includes a variety of exercises at the end of each chapter; it contains material that has been extensively class tested; it gives instructor flexibility in choosing appropriate balance between practice and theory of distributed computing.