Sun Grid Engine - Managing Thousands of Processors
The topic of Distributed Systems and Grid Computing have long been present in academia. Now, with the rise of so-called "Cloud Computing", companies are starting to get into the mix.
On January 28th, 2009, Curt Harpold came down and presented in front of the Association for Computing Machinery chapter at Virginia Tech. Curt's focus was on the implementation of Grid Computing, and how Sun Grid Engine could make many user's lives a lot easier.
The basic idea behind the Sun Grid Engine is providing abstractions. In a Grid Computing environment, many nodes are interconnected, forming a large pool of resources (CPUs, memory, etc.) for a program to use. However, in order for a program to successfully use all of the resources available on the Grid, the user must manage all of the resources by hand. This environment does not lend itself well to allowing for programs to run dynamically.
The Sun Grid Engine, on the other hand, abstracts and manages all of the resources of the Grid - thus allowing the user to be able to focus on writing programs. By invoking a certain command, the user easily puts his or her program "onto the Grid" and the SGE takes care of dynamically scheduling this program across all of its resources. Using some cool algorithms, it can even detect which node is likely to give it a faster response and dispatch it to that node.
The most amazing aspect, in my opinion (and in the opinion of a lot of the attendees), is the cross-platform nature of the SGE. Though the Master (Scheduler) daemon must be on either a Solaris or Linux system, all of the rest of the nodes can be running Windows, Linux, Solaris, HP-UX, AIX, and more! Where this could provide a huge benefit is on existing heterogeneous systems. All someone would have to do is set up SGE on all of the machines and just like that...they're on a Grid!
Here is a copy of his slides.
Here is a video of his presentation.
On January 28th, 2009, Curt Harpold came down and presented in front of the Association for Computing Machinery chapter at Virginia Tech. Curt's focus was on the implementation of Grid Computing, and how Sun Grid Engine could make many user's lives a lot easier.
The basic idea behind the Sun Grid Engine is providing abstractions. In a Grid Computing environment, many nodes are interconnected, forming a large pool of resources (CPUs, memory, etc.) for a program to use. However, in order for a program to successfully use all of the resources available on the Grid, the user must manage all of the resources by hand. This environment does not lend itself well to allowing for programs to run dynamically.
The Sun Grid Engine, on the other hand, abstracts and manages all of the resources of the Grid - thus allowing the user to be able to focus on writing programs. By invoking a certain command, the user easily puts his or her program "onto the Grid" and the SGE takes care of dynamically scheduling this program across all of its resources. Using some cool algorithms, it can even detect which node is likely to give it a faster response and dispatch it to that node.
The most amazing aspect, in my opinion (and in the opinion of a lot of the attendees), is the cross-platform nature of the SGE. Though the Master (Scheduler) daemon must be on either a Solaris or Linux system, all of the rest of the nodes can be running Windows, Linux, Solaris, HP-UX, AIX, and more! Where this could provide a huge benefit is on existing heterogeneous systems. All someone would have to do is set up SGE on all of the machines and just like that...they're on a Grid!
Here is a copy of his slides.
Here is a video of his presentation.