Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Are there any good books to learn about distributed computing ? I work on large scale java applications. Recently my colleagues started talking about things like distributed cache, load balancing, BigMemory (Terracotta thing),parallel processing etc.,

Is there any good book that gives an introduction to these concepts.

share|improve this question

3 Answers

up vote 2 down vote accepted

The latest edition of the book that was used in my distributed systems course is Distributed Systems: Concepts and Design, 5th Edition. I believe that the book used when I took the course was the 4th edition. The 5th edition appears to be more up-to-date with the latest technologies and techniques, such as mobile computing and web services. However, it does still contain some "legacy" topics, such as Java RMI and CORBA (which might be useful knowledge, but not necessarily applicable to new systems).

I can also recommend the Pattern Oriented Software Architecture series, especially Volume 2: Patterns for Concurrent and Networked Objects and Volume 4: A Pattern Language for Distributed Computing. These books are pattern catalogues, along the lines of the Gang of Four design patterns book, but with an emphasis on different types of systems.

share|improve this answer
I'd also recommend the POSA books, but be sure you look before you buy. Volumes 2 and 4 cover the same topics from very different perspectives. I'm in a similar environment, and I found Vol 4 was a much better fit for my needs (extending an OSGi-based ESB). – TMN Nov 21 '11 at 14:49
I second Distributed Systems, Concepts and Designs. I used it in graduate school. – Google Nov 22 '11 at 11:56

You gave a lot of keywords there. I don't know ny that cover all of them, but these served me well (and still do) as an introduction and reference for some aspects of parallel computing.

Using OpenMP: Portable Shared Memory Parallel Programming - OpenMP is easier to start with than MPI, which in turn is then easier to follow on, after you grasped the basic ideas.

Using MPI: Portable Parallel Programming with the Message-Passing Interface

Granted, these deal more with Fortran and C family of languages.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.