Take the 2-minute tour ×
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

closed as off-topic by gnat, Bart van Ingen Schenau, Morons, GlenH7, Robert Harvey Dec 25 '13 at 18:12

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, Bart van Ingen Schenau, Morons, GlenH7, Robert Harvey
If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

3 Answers

up vote 6 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
add comment

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
add comment

I read the first, but not the second:
Principles of Concurrent and Distributed Programming (2nd Edition)

Programming Massively Parallel Processors

share|improve this answer
1  
Care to elaborate? Right now, this is hardly an answer. –  back2dos Dec 25 '13 at 13:26
add comment

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