Wolfgang Gentzsch founded Gridware that was snapped up by Sun in 1999. After the acquisition,Gentzsch went on to lead Sun's grid offering that, after several name changes, is referred to today as Sun's N1 Grid Engine. Gentzsch says, "there are basically four different types of applications that can run on grids":Excerpts with edits and comments:
- The first and perhaps simplest type of grid application is the one that most closely resembles dynamic provisioning, where you dynamically realign system configurations based on the priorities of certain business objectives. For example, a retail giant might deprioritize certain jobs to make room for the holiday transaction crunch. This is mostly a dating service. With today's grid software, you can match user requirements to underlying available resources. The broker will look around and find the machine that's best suited to the job. In this first type of grid application, the jobs are independent. For example, jobs aren't interacting with another or waiting for other jobs to complete before they can get on with their tasks.
- The second type of application concerns array jobs. Multiple machines are working on the same problem, but with independently processable chunks of data. The individual results aren't nearly as meaningful as the bigger picture to which they're contributing. "Let's say you want to run crash simulations and for each simulation, you want to run with a slightly modified car geometry," says Gentzsch. "Altering a car's geometry could involve changing one or more of the thousands of individual parameters that ultimately affect how that car responds to an impact. An applicable enterprise application for this type of grid might be Web serving. Web servers such as Apache respond to increased workloads isn't all that different from the way this second type of grid application responds. As the load of simultaneous transactions (such as an HTTP requests) goes up, the server spawns more processes (known as daemons) to keep up with the load.whereas a dedicated cluster is often designed to match a peak load (which in turn can translate into wasteful underutilization), grids are more suited to the idea that increasing loads should be serviced in on-demand style - much the same way we get our electricity on the electric grid.
- The third type of grid application is very similar to the second except for the fact that timing and interdependency enter the equation- one where a cloud of systems on the network looks to application like one massive processor that can change in size in order to guarantee quick response. Not only might processes depend on each other to complete in a certain amount of time, but their completion might very well depend on some mid-process sharing of information with each other. "The ways that some climate simulations work,are examples of this type of grid application. A weather model or climate model of the earth might get cut into 360 pieces and the simulation for each piece has to talk to its neighbors. Weather is moving over the planet and as certain data is gathered and goes through your process #37, the results go to process #38, and process #38 is working with its neighbor process #39 that has some information about the earth's surface that's relevant to process #37. You cut your problem into 360 pieces on 360 processors.
- The fourth type of grid application actually isn't a grid application yet. Like the PC application that hasn't been rewritten to take advantages of the parallelism offered by today's processors and operating systems, these are the massively giant applications that have to run on big vector processors like the Fujitsu's VP500 supercomputer, but that haven't yet been rewritten to take advantage of the third type of grid type discussed. Researchers are trying to run these applications on grids, and the applications are breaking because they're just not well-enabled for that sort of distributed processing.
What does this stratification of grid types mean for enterprises? It will be very long time before you have no more than a handful of Dell servers running your entire business and, every time they need more gas for the applications they're running, they can just magically go out to the Internet and find it. Even less likely is the scenario where the Internet will serve as a sort of open exchange whereby enterprises can trade computing cycles like commodities on a public grid.