Integrating Linux Clusters into the Grid
Ian Lumb and Chris Smith
Linux clustering is pervasive. Next to the attractive price/performance of
COTS components, smart system software plays a key role in this pervasiveness.
In the context of clustering, it is smart system software that allows a number
of distinct systems to appear as one -- even though each runs its own instance
of the Linux operating system. Figure
1 illustrates the possibilities. At one extreme, the single-system environment
(SSE) is smart system software that runs in user space as a layered service.
Often referred to as middleware, there exist a number of open source and commercial
implementations of SSE solutions. At the other end, the single-system image
(SSI) is smart system software that spreads operating-system functions across
systems and involves modification of the Linux kernel. Such tightly coupled
integrations permit global process spaces (i.e., PIDs that span separate instances
of the Linux operating system, such as Beowulf BPROC), use of algorithms for
preemptive process migration (e.g., the MOSIX management package), etc. Though
presented as extremes, examples of SSI-SSE integration do exist. To varying
degrees, these solutions enable computing for capacity (i.e., throughput of
serial, parametric, and embarrassingly parallel applications) and/or capability
(i.e., multithreaded and distributed-memory parallel applications). However,
our purpose in this article is not to discuss Linux clustering in detail. Rather,
it is make a simple observation: Use of smart system software allows distinct
instances of the Linux operating system to be virtualized as a cluster; a natural
extension allows clusters to be virtualized into grids.
In the next section, we define "grid computing" and follow this definition
with examples of enterprise and partner grids.
|