Parallel Computing Books
Related Subjects: Beowulf Vendors Programming Documentation Projects Conferences
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

Used price: $35.22

Good Performance on a Multicore Machine - Try OpenMP?Review Date: 2008-05-05

Used price: $10.00

Lots of experimental data, clear answersReview Date: 2007-04-02
1. Why use a thread pool and why not?
2. How expensive are synchronization, thread creation and concurrent collections?
It clears up a lot of myths and rumors I have heard.
review of first editionReview Date: 2006-06-01
Scott Oaks, the author, did a good job of describing the synchronization process and the various Object methods relating to threading protocol. There were plenty of good examples, and clarification on several minor technical points including: how the wait/notify methods release monitors, the determinability of prioritization, and the practical uses of threadgroups. If you have nagging questions, you may find them answered here.
O'Reilly books are small-sized, which makes for easy carrying and storage. Little if any of their content is redundant or inaccurate. Given how dry the material is, O'Reilly astounds me by consistently finding authors who can write well, have something to say, and whose works can be read in a sitting.
Of course, it's important to mention that some things have changed since the first edition of this book. Methods like resume(), suspend(), and stop() have been deprecated due to their unpredictablity; the JVM will now enable programmers to address multiple processes; and there are a variety of classes which facilitate thread administration. A newer edition will bring you up to speed on those details, but this first edition is still a valid reference in all other respects.
Possible second read on Java Threads.Review Date: 2005-03-07
A good reference book on Java Threads.Review Date: 2004-12-22
Please Rate the overall value of the book from 1-5 where
5=Well done! This book will be a valuable teaching and reference tool.
Please rate the instructional value of the book from 1-5 where
5=Excellent! An essential book on this topic.
Please rate the reference value of this book from 1-5 where
4=This book has earned a valued place on my reference shelf.
This is a book for Java programmers of all proficiency levels; the book also provides information for
advanced users of Java. the book uses J2se 5.0 version of the compiler - and explains the
improvements in the threads implementation in this version of java.
the book is a well written book with a gradual introduction to the various aspects of thread
implementation and a detail study of the subject. the authors delves into various of aspects of
thread implementation such as creation, management, data synchronization, notification, scheduling,
pooling, performance, parallelizing loops, and other IO functions.
there are sample codes through out the book and the codes make no assumption about the skill level of
the reader. this is a good thing. there are enough diagrams to explain the threading concepts.
overall, this is an excellent book for readers interested in concurrent programming. i will use it as
a reference when i need and i have no hesistation in recommending this book to other java programmers.
Comprehensive coverage of multithreading and Java 5 inclusions.Review Date: 2006-05-08
This book is written for developers who are targeting the second wave of java programs - Intermediate to advanced level programmers will be able to get best value out of this book. Developers who are already familiar with the basics of java may also be able to get some value, but if you are completely new to java, please look elsewhere.
Without any futher ado, i will dive right into the deep end of the pool. This book is partitioned into 4 logical sections, though it is not explicit in the TOC.
1. Important Threading Concepts:
In this section, the author prepares us with the fundamentals of creating and managing a thread, basic synchronization concepts, synchronized keyword, lock mechanism, thread communication using wait-notify and condition-variables, minimal synchronization using volatile keyword and atomic variables, advanced synchronization classes like Barrier, Semaphore, CountdownLatch, etc. Chapters 1 through 6 underwrite this section and this is by-far the best part of the book.
2. Thread Pools/Schedulers:
This section first lectures around how thread scheduling materializes in java and how it is related to the underlying Operating System. Next, you are guided through a tour of Thread Pools and Task Schedulers that will enlighten us with quite a few new classes in java 5. Chapters 9 through 11 cover this section.
3. Threading and other Java APIs:
This section details how the threading API plays with other inbuilt java APIs like Collections, IO and Swing. Chapters 7,8 and 12 cover this section.
4. Misc topics:
Some miscellaneous thread topics like ThreadGroup, Security, Class Loading, Exception Handling and Performance are addressed in this section. Chapters 13, 14, and 15 cover this section.
Though this book wasn't an easy read, i found it extremely encouraging to have ONE comprehensive manual to understand both the threading concepts and the new java 5 inclusions. I recommend this book to anyone who is in the middle of a complex multi-threaded system or wishes to create one.

Used price: $54.97

Parallel and Distributed Programming using C++Review Date: 2007-12-22
Wrong titleReview Date: 2007-06-09
However, this is the only book I know that introduces the biggest amount of tools in other to implement distributed applications in C++ (in case you do not want to start from sctach). Of course, there are missing thinks like web services, sockets, peer2peer middlewares, etc. However, the explained packages are the most used in the market.
Don't worth the moneyReview Date: 2004-09-29
Absolute disaster: the authors know neither parallel programming nor C++Review Date: 2007-01-15
Section 9.2 talks about using template functions for parallel programming. Their examples are of the sort: (if rank is 0, let us call the multiplies() fn that is templated on int; if rank is 1, let us call the multiplies() fn that is templated on double). What were these people smoking?
Section 9.3 overloads stream operators (<<,>>) to do MPI send/recv. This is bad design because the rank of the other process (for one) is an input to the MPI functions, so there is a stream class per other process - which is more messy than convenient. A better design would be to make a communicator class with send(), recv() fns taking the other rank as input. This would also support collective (gather, scatter) communication. Not to mention *unbuffered* MPI send/recv calls can be terribly slow, so there should be some buffering support.
This brings to my basic gripe about this book: it is incredibly shallow. Of course it is garbage to an expert, but even to the dullest of beginners it can be of little use. Just about anything that you can find on parallel programming or C++ is better than this.
Too shallow and wide-focusedReview Date: 2004-08-19
The main problem I see with this book is that it tries to cover too much ground, even with subjects that it should not touch upon: there are whole chapters (7 and 9, for example) that are more about C++ than parallel or distributed programming, and one chapter (10) is about UML. Although it is interesting to see C++ and UML techniques applied to parallel and distributed programming, this leaves little space left for the coverage of MPI, for example. PVM and pthreads are given somewhat more attention, but still not nearly enough.
Another problem is that the examples are mostly incomplete code fragments. There are few complete, running examples. I hoped to see bigger examples in the last chapters (they seem like case studies), but again they are made of too much "talk" and no code.
The chapters are mostly independent of one another; it can be good if all you need is a quick first read on one of the subjects, but it gets annoying if you try to read it sequentially. Exercise for the reader: count how many times the PRAM model is cited AND explained.
To say something good about it, the book has some nice general musings about the nature and fundamental problems of concurrent systems. But it is not a coherent whole and is not particularly good at explaining any of the myriad subjects it touches upon.
Bottomline: It's neither an applied book about specific technologies, nor a general treatment. I would not buy this book unless it were very cheap. Take a look at it at the bookstore or borrow from a library, but don't spend your money.
To people wanting a general treatment about concurrency, it's principles, problems and solution space, I recommend "Concepts, Techniques and Models of Computer Programming" by Peter van Roy and Seif Haridi. It's thoroughly educational, and half of it is about concurrency (but no specific treatment of pthreads, PVM or MPI).

Distributed Computing is like Childs PlayReview Date: 2000-05-04
Good intro to CORBA, but info on OLE is outdated.Review Date: 1997-02-25
Deceptively targeted and poorly written.Review Date: 1997-07-11
My apprehension was confirmed as I delved deeper and the mists of this cute but uselessly-cartooned book grew ever more thick.
I've no doubt that these guys know their business. There were more buzzwords flying around in the first few paragraphs than Martians have saucers. Unfortunately, like a few too self-absorbed college profs. I once knew, they don't know how to teach.
If you really want an ESSENTIAL guide, grope in the dark a little further for a better explanation. This book won't help very much.
The bible of distributed objectsReview Date: 1997-07-22
lots of jargon, poor explanationsReview Date: 1999-01-07

Used price: $0.40

A valuable toolReview Date: 1999-07-07
Good primer and referenceReview Date: 2000-05-17
This book is invaluable to me for it's section on troubleshooting. Believe me, when you have trouble with your cluster, this is likely the only place you will find an answer, or perhaps a glimmer of a clue, without calling Microsoft and getting their so called engineers (more like web-knowledge-base users) some more job security.
The section on clustering is good for a primer/refresher, and the installation section should ONLY be used as a guide in understanding why MSCS works. I would not recommend creating your first (or any) cluster with this section. You should KNOW how to create your cluster before doing so. DO NOT depend on a book to hold your hand on creating your cluster. LEARN this stuff any way you can, then when armed with sufficient understanding and skills, go for it.
The book was adequate, but with at least one serious error.Review Date: 1999-06-22
Poor source of referenceReview Date: 1999-09-23
Very Serious Errors contained in this book...Review Date: 1999-08-16
While there isn't room to detail every omission here, the most serious of blunders occurs during his step by step install procedure where he mistakenly tells the reader that the MS Cluster installer is asking for the IP address of the NT workstation that will administer this cluster. This is in fact the IP address of the Cluster itself. This is a serious mistake and will result in the reader giving the IP address of another NT workstation to the Cluster which will ultimately cause an IP conflict.
Personally, I would recommend reading the MS documentation several times rather than this book

Used price: $32.00

formal maths approachReview Date: 2006-12-25
The authors give a mathematically sophisticated analysis of various modes of distributed computing. Where the distribution might refer to separate CPUs in a multiprocessor architecture, or perhaps to separate computers inside a LAN, or to computers scattered across the Internet.
We see that issues of latency and reliability can [and will] arise. Coordinating a task across the processors gives rise to amazing complexity. What if some processors crash? A consensus problem occurs. How to solve it is explained.
There are also impossibilities in task solving that might occur, and these need to be treated carefully. The narrative has suggestions on how to diagnose if such events happen. The reader will see that fault tolerance can be awkward to handle.
The treatment may be too mathematical for some readers. You need a strong background in maths; preferably including discrete maths.
A good bookReview Date: 2006-01-30
Terse prose fraught with errors and omissionsReview Date: 1999-05-12
well-written, in-depth overview of distributed computingReview Date: 1999-07-05

Used price: $5.45

There is no better book than Michi Henning'sReview Date: 2002-01-28
like Michi's book is the best so far.
A text to adoptReview Date: 2001-09-30
The book has three parts. The first part covers the basic foundation concepts of distributed computing showing how different distributed technologies (eg RMI, DCOM, RPC) need to find solutions to the same issues.
Parts 2 and 3 give an in-depth look at distributed systems and CORBA with much to study. The role of object adaptors is explained and the POA architecture is compared to the better-known BOA. This is well diagrammed, again some POA code would help. This is where the book becomes more than a programming book and a serious study of CORBA features, such as Naming Service, Trading Service, Event Service and Query Service. Additionally there is a detailed discussion of performance and consistency issues with a CORBA Caching implementation. This for me was the most interesting part of the book. Object caching in a distributed environment gives you much to think about, and clearly much thought has been put into the issues, such as scalability, cache consistency, object eviction etc. Other issues such as distributed transaction services including 2PC and 3PC are well covered.
Detailed discussion of CORBA services and distributed systems is not trivial reading, but rather for serious study. I notice that Douglas Schmidt has written the foreword. His name is well known to anyone that reads CORBA research material, which gives confidence to the quality of material.
In Summary, this is not a simple programming book. There is no downloadable code or CD and apart from some early OrbixWeb examples is not specific to any ORB implementation. It is a serious look at issues of distributed object systems with a heavy emphasis on CORBA and would be recommended for anyone interested in further study of distributed object systems. There are exercises at the end of each chapter, but there are no answers found in the book, it would be helpful to have them available in a later version of the book or on a web site.
A reader from AjmanReview Date: 2001-09-24
Very mediocreReview Date: 2001-05-18
Unfortunately, there is a lot to criticise about this book.
On the editorial side, you get a shocking job: it is plain that no copy editor or proof reader has ever been near this work. Spelling and grammatical errors abound, as well as inconsistent use of fonts; the index is put together without any great care.
The writing style is mostly poor. The prose is often stilted or redundant, uses obtuse phrasing, and is full of vague descriptions. Terms such as "usually", "in general", and "typically" are used liberally and, more often than not, are followed by descriptions that are imprecise or vague, leaving the reader wondering whether the authors properly understand what they are trying to explain. More seriously, in many places, the authors are unable to take the reader step by step through a topic. Often, the discussion veers off to something that is completely irrelevant, making it difficult for the reader to develop a clear mental picture of how things hang together. The presentation of IDL is intermingled with (poor) explanations of language mapping issues, leaving a tangled and incomplete mess.
The book doesn't describe a particular version of CORBA but appears to be largely based on the authors' experience with OrbixWeb. This means that much of the book talks about a now obsolete and proprietary BOA implementation. (Given that POA implementations have been available for more than two years, it is beyond me why anyone would publish a book based on the BOA in 2001.) The POA is covered as well, but in such confused language that it is difficult to understand what the POA is or how it really works. Little or no guidance is provided as to how to use the POA effectively for a given a set of implementation requirements.
Much of the material has been provided in more correct and accessible form elsewhere, and little in this book is original. Of great concern is the authors' apparent lack of knowledge of CORBA; the book contains many errors. Some choice examples:
- CORBA has no support for late binding.
- CORBA [...] supports the types "Any" (for fixed type length) and "DynAny" (for variable type length).
- IDL identifiers must be declared in lower cases. [sic]
- An example of nested declaration is found in the module CORBA: module org { module omg { module CORBA { /* ... */ }; }; };
- enum ParamMode { IN, OUT, INOUT };
All these statements are plainly incorrect; the book contains many more such mistakes.
The coverage of CORBA services is equally disappointing, with incomplete, sloppy, and superficial explanations that are hard to follow.
The book was written as a textbook for use at universities; I pity the students who will have to answer exam questions based on this material.

Used price: $5.15

A High Level OverviewReview Date: 2001-04-26
High AvailabilityReview Date: 2001-05-07
Another building block in the Enterprise Computing SeriesReview Date: 2001-01-21
Like Hong Kong, where realities are in the eye and mind of the beholder, the book can be viewed as addressing either high availability or service level management. In fact, the book uses service level management as the driving force behind achieving high availability.
Included in the panoramic view of high availability are the many issues and factors that need to be understood in order to achieve high availability. It starts out with reasons why high availability is important, and quickly segues into factors, such as total cost of ownership (the treatment is pretty close to what GartnerGroup has been peddling since the early 90s). It does cause one to get back to basics and consider that a high availability solution has a lot of hidden costs.
The book goes through the process chain needed to develop a business case for high availability (one of the book's strong points, in my opinion), through implementation of the solution itself. If you are familiar with other books in this series you will recognize the pattern. Unlike the companion books, though, this one does not contain contradictions or have glaring gaps in the processes. The authors have thought this one through and have the writing skills to make it readable and understandable.
The treatment of service level management is highlighted by a chapter on user availability. If you are in IT you should read and take to heart this section. User availability is a key component of aligning IT to business. The complex and myraid political issues in Hong Kong sometimes seem trite compared to the political issues that surround aligning these two factions. The authors, like seasoned China watchers, provide insights about how to understand the seemingly inscrutable players and sage advice on hot to achieve consensus among the two opposing factions.
Another area that impressed me was the attention paid to facilities as a key component of high availability. Although this was a high level view, it can serve as a checklist of considerations as you are developing the business case for high availability. There was one missing fact that I wish the authors would have highlighted: compliance with fire and safety regulations and local building codes. I have seen cases where well designed solutions that were supported by excellent processes and sound management were compromised by failing a regulatory inspection. Imagine explaining to a CEO why the multimillion dollar investment in people, process and technology failed because an inspector shut down a mission critical data center because of a building code violation.
There is some token attention paid to the technology at the end of the book where high availability features are examined for specific products. Among the products covered are Windows 2000, Novell Netware, Solaris 8, AIX and OS/400. Also covered are various hardware platforms, such as S/390, AS/400, RS/6000 and Compaq Proliant server, and Oracle 8i availability features.
Bottom line: This book is about processes. It complements and augments Blueprints for High Avalability by wrapping a sound approach to making a case for, and implementing, high availability. It is also a great companion to Mission Critical Systems Management, again by providing complementary processes to the approach taken in that excellent book.
I wish the authors had summarized the issues and factors in an appendix of checklists, but other than that, this book is a solid addition to any service delivery library.
A High Level OverviewReview Date: 2001-04-26

Used price: $99.50

Misleading titleReview Date: 2003-05-29
Still the best analysis around.Review Date: 2004-06-23
I recommend this book wholeheartedly.
Thorough review and new resultsReview Date: 2001-07-28
The book has a lot of new theory that is easy to follow and gives recommendations to make parallel genetic algorithms work well in many circumstances. Although the theory makes many simplyfying assumptions, the examples in the book demonstrate that the models are very accurate and the recommendations made in the book seem very reasonable.

Used price: $1.33

good effort atlastReview Date: 1999-06-08
I am very happy and proud to say that this author is my classmate and very good friend of mine.
Sreekanth
An excellent source of information on cluster computingReview Date: 2000-07-16
Ø High-performance computing is essential to all branches of Engineering, and high-performance clustered computing on clusters of workstations/PCs makes a lot of economical sense.
Ø A course such as this is interesting because it is easy for the students to practice what is taught in such a class without too many infrastructures. This makes the course very exciting to students. When I taught parallel algorithms in my class, I could not ask my students to develop these algorithms for lack of good infrastructure. But a cluster of workstations and PCs is available in almost every University today.
Ø Distributed computing is highly popular with students. Students are eager to learn Java and network programming.
Rajkumar Buyya's edited volumes have arrived at the right time to provide the right kind of teaching material for the type of course which I have mentioned above. The first volume covers architectural and system-level issues of clustered computing systems. It has 36 chapters organized into 4 sections, spanning 811 pages. Section I develops the motivation for high-performance clustered computing. Section II introduces various networking protocols and I/O mechanisms that are useful in clustered computing. Section III covers OS issues such as process scheduling and load balancing. Section IV includes a number of case studies of existing systems. The editor has made a considerable effort in gathering learning material for the volume. I think that this volume could be an excellent text for an advanced course on Computer Architecture. In the course that I taught, I used parts of Section I and IV. To me, the second volume proved more useful.
The second volume concerns with applications of clustered computing and applications programming. It is divided into 3 sections. There are 29 chapters that span 604 pages. Both volumes have carefully prepared Glossaries and Indexes. The first section of the second volume is on various programming environments and development tools. Although I limited myself to the discussion of the Parallel Virtual Machine (PVM) and Message Passing Interface (MPI), the editor has also included entire chapters on linking of these two environments, active objects, component-based approach, LiPS, and WebOS. There is a chapter of debugging parallelized code that can be highly valuable for students and developers of applications. The second section is on Java for high-performance computing. These topics raised a lot of interest among students when I taught the course. The third section is on specific algorithms and applications such as parallel genetic algorithms, parallel simulation, distributed database systems, graphics and image processing. The authors who have contributed to the two volumes are all known experts in the areas of Computer Architecture, Computer Networks, Distributed Computing, and Operating Systems. The authors and the editor must be congratulated on this extraordinary effort to compile so much useful material under one place. The books can not only serve as reference material to professional programmers in the modern IT industry, it can also serve as excellent teaching material for courses related to Computer Architecture, Distributed Computing, and Operating Systems. The web page that the editor has created for the book is also a wonderful repository of learning material available on the web. I recommend these volumes wholeheartedly to all serious researchers and students interested in the areas of high-performance computing in general and clustered computing in particular.
C.P. Ravikumar Professor, Department of Electrical Engineering, Indian Institute of Technology, Delhi
The worst you can think of...Review Date: 2005-03-06
Rajkumar buyya has written ONLY the first introductory chapter, so his knowledge about the subject is seriously questionable.
On the top of that in the entire book, there's no coherence or focus at all. It simply wanders from one author to another researcher.
I am teaching at a university in Master's program, and I regret having purchased the book.
If you're not sure of what I've written, simply go thru' the index and you'd find different authors.
Related Subjects: Beowulf Vendors Programming Documentation Projects Conferences
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117