Item description for Introduction to Reliable Distributed Programming by Rachid Guerraoui...
In modern computing a program is usually distributed among several processes. The fundamental challenge when developing reliable distributed programs is to support the cooperation of processes required to execute a common task, even when some of these processes fail.
Guerraoui and Rodrigues present an introductory description of fundamental reliable distributed programming abstractions as well as algorithms to implement these abstractions. The authors follow an incremental approach by first introducing basic abstractions in simple distributed environments, before moving to more sophisticated abstractions and more challenging environments. Each core chapter is devoted to one specific class of abstractions, covering reliable delivery, shared memory, consensus and various forms of agreement.
This textbook comes with a companion set of running examples implemented in Java. These can be used by students to get a better understanding of how reliable distributed programming abstractions can be implemented and used in practice. Combined, the chapters deliver a full course on reliable distributed programming. The book can also be used as a complete reference on the basic elements required to build reliable distributed applications.
Promise Angels is dedicated to bringing you great books at great prices. Whether you read for entertainment, to learn, or for literacy - you will find what you want at promiseangels.com!
Est. Packaging Dimensions: Length: 9.37" Width: 6.38" Height: 0.87" Weight: 1.32 lbs.
Release Date Apr 11, 2006
ISBN 3540288457 ISBN13 9783540288459
Reviews - What do customers think about Introduction to Reliable Distributed Programming?
abstractions and algorithms Jun 20, 2006
The book is about abstractions and algorithms for distributed programming. Arguably, the abstractions are considered to be at least as important as the algorithms. The abstractions effectively are assumptions that let you push down certain details into lower level code. A very modular approach that allows for a solid object oriented design.
Notably, you should not have to worry about the semantics of pushing bytes from one machine to another. Network programming is now so well established that you won't have to write code to move a byte set. So there is a stable, debugged network protocol stack. (Not necessarily TCP/IP, to be sure.)
The algorithms in the book can then focus on such matters as how to distribute data and collect results across a network of machines. Very importantly, to also detect when a machine might have timed out or otherwise generated a failure.