2.2 PLATFORM-LEVEL SOFTWARE
The basic software system image
running in WSC server nodes isn’t much different than what one would expect on
a regular enterprise server platform. Therefore we won’t go into detail on this
level of the software stack.
Firmware, device drivers, or
operating system modules in WSC servers can be simplified to a larger degree
than in a general purpose enterprise server. Given the higher degree of
homogeneity in the hardware configurations of WSC servers, we can streamline
firmware and device driver development and testing since fewer combinations of
devices will exist. In addition, a WSC server is deployed in a relatively well
known environment, leading to possible optimizations for increased performance.
For example, the majority of the networking connections from a WSC server will
be to other machines within the same building, and incur lower packet losses
than in long-distance internet connections. Thus, we can tune transport or
messaging parameters (timeouts, window sizes, and so on) for higher
communication efficiency.
Virtualization
first became popular for server consolidation in enterprises but now is also popular
in WSCs, especially for Infrastructure-as-a-Service (IaaS) cloud offerings
[VMware]. A virtual machine
provides a concise and portable interface to manage both the security and
performance isolation of a customer’s application, and allows multiple guest
operating systems to co-exist with limited additional complexity. The downside
of VMs has always been performance, particularly for I/O-intensive workloads.
In many cases today, those overheads are improving and the benefits of the VM
model outweigh their costs. The simplicity of VM encapsulation also makes it
easier to implement live migration (where a VM is moved to another server
without needing to bring down the VM instance). This then allows the hardware
or software infrastructure to be upgraded or repaired without impacting a
user’s computation. Containers are an alternate popular abstraction that allow
for isolation across multiple workloads on a single OS instance. Because each container
shares the host OS kernel and associated binaries and libraries, they are more
lightweight compared to VMs, smaller in size and much faster to start.
No comments:
Post a Comment