Forbes Magazine in its January 2006 issue ran its cover story titled “A Super Computer for your living room”. This discusses the IBM cell processor powered by eight co-processors with their own memory being used in multimedia. This helps providing realistic imaging by realtime rendering as it states
“Cell crunches through millions of lines of topographical and photographic data per second to paint topographically accurate, photo-quality pictures at a movie quality 30 frames per second. On a similar program a pentum take two minutes to sketch a single frame.” –Forbes, Jan 2006.
Beside the chip’s power whenever it comes to large scale parallel processing, Linux is usually the first name which comes to mind. Even though Microsoft is trying to catch up, it’s seems already a bit late in the OS/hardware game. However, while assisting a friend’s Masters thesis for “Grid computing with XML web services”, I came across several decent Microsoft application frameworks and services augmenting the grid computing. Grid computing is a form of distributed computing infrastructure “that provides the ability to perform higher throughput computing by taking advantage of many networked computers to model a virtual computer architecture that is able to distribute process execution across a parallel infrastructure.” (wikipedia). Microsoft’s early initiatives on Grid are explained in this Jim Gray’s talk and the future eScience workshops have augmented the blitz. This list of services and frameworks comprises of TerraService.net which is a poster child for both eGovernment and for .NET, SkyServer.sdss.org or SkyQuery.net, windows clustered version, Web services resource framework (WSRF.NET Webcast: Grid Computing Using .NET), and last but not least, Alchemi.
Alchemi is defined as “an open source software framework that allows you to painlessly aggregate the computing power of networked machines into a virtual supercomputer (computational grid) and to develop applications to run on the grid.”
Distributed Fractal Generator is an interesting example and with a little setup, programming for a grid can be as intuitive and simple as following sample taken from Alchemi’s user guide.
class MultiplierApplication
{
static GApplication ga;
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("[enter] to start grid application ...");
Console.ReadLine();
// create grid application
ga = new GApplication("localhost", 9099);
// add GridThread module (this executable) as a dependency
ga.Manifest.Add(new ModuleDependency(typeof(MultiplierThread).Module));
// create and add 10 threads to the application
for (int i=0; i<10; i++)
{
// create thread
MultiplierThread thread = new MultiplierThread(i, i+1);
// set the thread finish callback method
thread.FinishCallback = new GThreadFinish(ThreadFinished);
// add thread to application
ga.Threads.Add(thread);
}
// set the application finish callback method
ga.FinishCallback = new GApplicationFinish(ApplicationFinished);
// start application
ga.Start();
Console.ReadLine();
}
References & Further Reading
- TOP500 Supercomputer Sites
- Do it yourself Super Computer - Scientific American
- Supercomputer version of Windows nears release | CNET News.com
- Grid Computing and a .NET-based Alchemi Framework, High Performance Computing: Paradigm and Infrastructure, Laurence Yang and Minyi Guo (editors),ISBN: 0-471-65471-X, Wiley Press, New Jersey, USA, June 2005.
- What’s next in High Performance Computing – Communications of the ACM
- Using SQL Server For Large Databases and Microsoft Grid Computing – Microsoft Research
- How Web Services are Advancing Data-Intensive Grid – Microsoft Research
- The Microsoft Perspective on Where High Performance Computing is - – Microsoft Research
- WSRF.NET: Grid Computing on .NET supporting the Web Services Resource Framework
- Petabyte Scale Data Mining: Dream or Reality? Alexander S. Szalay; Jim Gray; Jan vandenBerg, SIPE Astronomy Telescopes and Instruments, 22-28 August 2002, Waikoloa, Hawaii,
- SciData'04 Workshop Resources
- NewsForge | Linux 'Supercomputer on a CD'
- Wired News: Linux Supercomputer Howls
- Linux Rules Supercomputers - Forbes.com
- Building a Linux supercomputer using SSH and PVM
- Microsoft and Grid Computing
- A do-it-yourself framework for grid computing
- Grid Computing Info Centre (GRID Infoware)
- What is Grid? How is it different from Clusters/P2P?
- IEEE Task Force on Cluster Computing
- Alchemi - Plug & Play Grid Computing
- GridFTP
- IEEE Distributed Systems Online
- Access Grid
- Condor Project Homepage
- SETI@home
- Artificial Intelligence techniques for distributed workflow management
- Webcast: Grid Computing Using .NET
- Webcast: Using .NET and Web Services to build an e-Science Application: Looking for White Dwarfs
- Jim Gray Microsoft Research summary home page
- Dmitri Ilkaev, Stephen Pearson, Analysis of grid computing as it applies to high volume document processing and OCR, Technical Report, Tier Technologies, USA, 2005.
- F# on virtual super computer, Understanding Grid Computing- .NET Developers Journal