This is True®
by Randy Cassingham

Randy Cassingham's Bonzer Web Sites of the Week: Recognizing Interesting Sites that are Beyond the Microsoft/AOL-Time Warner/Media Megalith

World Community Grid

SETI (the Search for Extraterrestrial Intelligence) was the first popular distributed computing scheme, letting "just anyone" help do the massive crunching of data to help solve a big problem. Pretty cool, but these days the idea has been greatly expanded. The mission of the World Community Grid is to tackle other big data projects that benefit humanity, such as helping to cure Muscular Dystrophy and cancer. You load a piece of software on your computer and register it. The WCG then feeds out some data that needs processing to your computer, which works on the problem when it would otherwise be idle (for example: do you leave your computer on all day -- or all night?) Maybe your computer will be the one that finds a breakthrough that defeats AIDS. Cooooooooool.

From This is True for 25 March 2007

Suggestions for further reading:

Programming Erlang: Software for a Concurrent World
By: Joe Armstrong
List Price: $36.95
Amazon Price: $24.39
Editorial Review:
Erlang solves one of the most pressing problems facing developers today: how to write reliable, concurrent, high-performance systems. It's used worldwide by companies who need to produce reliable, efficient, and scalable applications. Invest in learning Erlang now.

Moore's Law is the observation that the amount you can do on a single chip doubles every two years. But Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow.

Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures.

Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a 4 core processor than on a single core processor, all without you having to change a line of code.

Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future.

This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang.

It includes example code you'll be able to build upon. In addition, the book contains the full source code for two interesting applications:

A SHOUTcast server which you can use to stream music to every computer in your house, and a full-text indexing and search engine that can index gigabytes of data.

Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language.


 
Java Concurrency in Practice
By: Brian Goetz
List Price: $35.99
Amazon Price: $28.79
Editorial Review:
Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice, the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them. However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant. This book covers:

Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model
 
Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Eng...
By: Barbara ChapmanGabriele JostRuud van der Pas
List Price: $35.00
Amazon Price: $31.50
Editorial Review:
"I hope that readers will learn to use the full expressibility and power of OpenMP. This book should provide an excellent introduction to beginners, and the performance section should help those with some experience who want to push OpenMP to its limits."
--from the foreword by David J. Kuck, Intel Fellow, Software and Solutions Group, and Director, Parallel and Distributed Solutions, Intel Corporation

OpenMP, a portable programming interface for shared memory parallel computers, was adopted as an informal standard in 1997 by computer scientists who wanted a unified model on which to base programs for shared memory systems. OpenMP is now used by many software developers; it offers significant advantages over both hand-threading and MPI. Using OpenMP offers a comprehensive introduction to parallel programming concepts and a detailed overview of OpenMP.

Using OpenMP discusses hardware developments, describes where OpenMP is applicable, and compares OpenMP to other programming interfaces for shared and distributed memory parallel architectures. It introduces the individual features of OpenMP, provides many source code examples that demonstrate the use and functionality of the language constructs, and offers tips on writing an efficient OpenMP program. It describes how to use OpenMP in full-scale applications to achieve high performance on large-scale architectures, discussing several case studies in detail, and offers in-depth troubleshooting advice. It explains how OpenMP is translated into explicitly multithreaded code, providing a valuable behind-the-scenes account of OpenMP program performance. Finally, Using OpenMP considers trends likely to influence OpenMP development, offering a glimpse of the possibilities of a future OpenMP 3.0 from the vantage point of the current OpenMP 2.5.

With multicore computer use increasing, the need for a comprehensive introduction and overview of the standard interface is clear. Using OpenMP provides an essential reference not only for students at both undergraduate and graduate levels but also for professionals who intend to parallelize existing codes or develop new parallel programs for shared memory computer architectures.
 
Linux Enterprise Cluster: Build a Highly Available Cluster with Commodity Har...
By: Karl Kopper
List Price: $49.95
Amazon Price: $32.97
Editorial Review:
The Linux Enterprise Cluster explains how to take a number of inexpensive computers with limited resources, place them on a normal computer network, and install free software so that the computers act together like one powerful server. This makes it possible to build a very inexpensive and reliable business system for a small business or a large corporation. The book includes information on how to build a high-availability server pair using the Heartbeat package, how to use the Linux Virtual Server load balancing software, how to configure a reliable printing system in a Linux cluster environment, and how to build a job scheduling system in Linux with no single point of failure. The book also includes information on high availability techniques that can be used with or without a cluster, making it helpful for System Administrators even if they are not building a cluster. Anyone interested in deploying Linux in an environment where low cost computer reliability is important will find this book useful. The CD-ROM includes all of the software needed to build a Linux Enterprise Cluster, including the Linux kernel, rsync, the SystemImager package, the Heartbeat package, the Linux Virtual Server package, the Mon monitoring package, and the Ganglia package. All figures in the book are also included on the CD-ROM.
 
Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel...
By: George Em KarniadakisRobert M. Kirby II
List Price: $72.00
Amazon Price: $62.70
Editorial Review:
This book provides a seamless approach to numerical algorithms, modern programming techniques and parallel computing. These concepts and tools are usually taught serially across different courses and different textbooks, thus observing the connection between them. The necessity of integrating these subjects usually comes after such courses are concluded (e.g., during a first job or a thesis project), thus forcing the student to synthesize what is perceived to be three independent subfields into one in order to produce a solution. The book includes both basic and advanced topics and places equal emphasis on the discretization of partial differential equations and on solvers. Advanced topics include wavelets, high-order methods, non-symmetric systems and parallelization of sparse systems. A CD-ROM accompanies the text.This book provides a seamless approach to numerical algorithms, modern programming techniques, and parallel computing. Such concepts and tools are often taught serially across different courses and different textbooks, and hence the interconnection between them is not immediately apparent.The book includes both basic as well as advanced topics and places equal emphasis on the discretization of partial differential equations and on solvers. Some of the advanced topics include wavelets, high-order methods, non-symmetric systems, and parallelization of sparse systems.
 
About the Site
About This is True
About the Authors

Subscribe Free
to This is True
and see the Sites
when they're issued!
Your e-mail:



Find by keyword:

Prev: Firefox Add-Ons

Next: THE Darwin Awards

Complete Name List

Copyright 1999-2008 ThisisTrue.Inc, all rights reserved. May not be copied or archived without express, prior, written permission. "This is True" is a registered trademark of ThisisTrue.Inc, Ridgway Colorado. 9396