File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Threads and Synchronization and the fly likes Question for Sergey... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Threads and Synchronization
Bookmark "Question for Sergey..." Watch "Question for Sergey..." New topic
Author

Question for Sergey...

Loreto E Torres
Greenhorn

Joined: Feb 11, 2010
Posts: 3
You mentioned in your preface that:
To fully learn the parallel programming, you need three books: a book on the theory of parallelism and the partitioning of the computations, a book on a particular API you plan to use, and this one.


What will you recomend as the best book(s) on "on the theory of parallelism and the partitioning of the computation". Of course, I plan to use parallel programming on Java.

Thanks,

Loreto E Torres


-------------------------------------------------------
( 11:11 )
"Caminante, no hay camino, se hace camino al andar..."
[Traveller, there is no path, you create the path as you move forward...]
Antonio Machado (1875-1939)
Sergey Babkin
author
Ranch Hand

Joined: Apr 05, 2010
Posts: 50
Loreto E Torres wrote:You mentioned in your preface that:
To fully learn the parallel programming, you need three books: a book on the theory of parallelism and the partitioning of the computations, a book on a particular API you plan to use, and this one.


What will you recomend as the best book(s) on "on the theory of parallelism and the partitioning of the computation". Of course, I plan to use parallel programming on Java.


"The Art of Multiprocessor Programming" seems to be a good book, and Java-oriented. I didn't read it completely, just paged through it, and it seemed to be good. "Patterns for parallel programming" has the examples in Java too. It goes very extensively through different ways of data decomposition. There should also be some books that describe the Java-specific APIs, "Java(tm) Programming Language" has a chpter on that too.

Overall the principles are about the same in any language, and Java and POSIX APIs have a lot of similarities, growing out of the Unix in-kernel synchronization mechanism. That's why quite a few books on my bibliography list are about the Unix kernels. And I think the typical servers and business applications have the synchronization problems similar to the OS kernels. When the data becomes embarassingly parallel, the supercomputing paradigm becomes a more suitable one.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Question for Sergey...