Server Partitioning

Dynamic server partitioning lets administrators run different applications in different logical partitions on the same physical machine. Machine resources can be reallocated on the fly as required

Continuing our series on server technologies, this time we’ll explore the concept of server partitioning. Server partitioning involves dividing a single server into different entities or partitions, each assigned a different task, and running a different instance of the same operating system. This partitioning can be physical or logical, but most frequently involves a combination of both. Such a setup allows different applications to be allocated system resources as per requirements, with high-priority applications getting more resources. Partitioning is a mainframe technology that has since moved down to other servers, but still remains more or less confined to the higher end.

Benefits 
Before we get down to explaining how server partitioning is implemented, let’s look at how you can benefit from it. For starters, it allows systems administrators to have multiple applications into one physical server box without these applications contending for the same resources. This in turn helps to centralize management, save space, and potentially lower administrative and management costs. Partitioning technologies enable the hosting of applications that are often functionally divided across multiple desktop clients, application servers, and database servers on different partitions within a single server, thereby improving performance. Such a situation is common in multi-tier application environments such as enterprise resource planning and data warehousing. In simple terms, partitioning allows companies to replace multiple, independent servers, doing vastly different jobs by a single larger server, without any loss in productivity. Many enterprise-wide applications require separate servers for development, testing and deployment. These stages can be consolidated on to a single server, even while giving each of these stages a separate logical machine. Applications could need additional hardware resources during specific periods, like during peak e-mail periods. The standard way out, if you do not want your setup to choke, is to provide for the peak requirement. This investment stays idle for the rest of the time. Server partitioning allows you to dynamically reallocate more resources during such periods, without having to add more machines or stop and restart the server.

Implementation
Server partitioning can be implemented physically and/or logically or through a combination of both. Physical partitioning involves taking a large server system and splitting it up into multiple, smaller partitions each with its own processors, memory, input/output subsystem and network resources. Each partition runs its own copy of the operating system and acts as a physically independent, self-contained server.
Logical partitions are software based, that is, the partitions do not exist at the hardware level (as they do in physical partitioning) but at higher (operating system) levels. This means that processors can be divided amongst multiple logical partitions and resources such as memory and disks can be shared dynamically between them. Since the sharing of the system resources among the various partitions is no longer restricted by physical boundaries, a higher level of efficiency and productivity can be achieved.

Technologies and products
Let’s now take a look at the various server-partitioning technologies and products that major vendors are offering.
Sun Microsystems has been the major force behind server-partitioning technologies for Unix. Its E10000 line of servers, also known as Starfire, claims to be the first servers running Unix to have dynamic server-partitioning capabilities. Starfire provides for running up to 16 partitions on the same server. Dynamic System Domains (DSD) technology allows on-the-fly allocation of resources to various partitions, that is, you don’t need to reboot your server and/or your partition to implement these changes. These servers also include support for InterDomain Networking, a virtual ultra-high speed networking connection between the various partitions on the server. This allows the network administrators to use the same tools, which they would on a physical network, to link various networked applications on different partitions, even though the connection is a virtual one. It also supports a scripting language that allows system managers to write scripts that will automatically reallocate server resour- ces without administrator intervention. This way you can automatically transfer the surplus resour- ces of the mail server after the office hours to, say, The Web server so that it can handle the Web traffic from the other half of the world.
Compaq and IBM are not too far behind in server partitioning either. While Compaq offers dynamic hardware partitioning for workload management and server consolidation, IBM offers tools that enable administrators to run different operating systems on separate partitions in the same box, for example, Windows 2000 on one, and Unix on the other. This is not at all like in a desktop computer where you can boot off one of multiple operating systems. Extending this concept to a server is not as easy, as all the operating systems could be running at the same time, each seeing a separate machine. Here, one also needs to allocate network, system, and administrative resources as required.

Microsoft, in its quest to provide similar features to the Windows and Intel platform, has teamed up with Unisys, a vendor of high-end Intel-based servers. Their efforts have tasted a fair amount of success, a proof of which is the Windows 2000 Datacenter Server.

Kunal Dua