RISC technology has been a staple of mobile devices for decades, but it is now finally poised to take on a serious role in data center servers and server virtualization. The latest RISC processors support virtualization and will change the way computing resources scale to meet workload demands.
Virtualization is tailor-made for complex instruction set computing (CISC), allowing x86 and other CISC processors to reach utilization levels that would have been almost impossible without a hypervisor. But reduced instruction set computing (RISC) and RISC chips now play a bigger role in servers, thanks in large part to the efforts of ARM and its reference architectures. The advent of 64-bit ARM processors means admins must adapt their virtualization strategies to maximize system utilization and scalability.
Support for virtualization in 64-bit ARM processors
For virtualization to provide businesses with the benefits of optimal resource and hardware performance, servers need to support several critical processor technologies.
First, processors must provide an instruction set that allows hypervisors to manage and allocate computing resources without overlapping resources in ways that would jeopardize workload security. Early deployments relied on software for this management and allocation, but that software actually impaired performance and seriously limited virtualization on older systems. Conventional x86 processors adopted virtualization extensions, and ARM has followed suit, introducing hardware acceleration for virtualization with ARMv7.
Second, memory is a major concern in virtualized environments. Conventional 32-bit processors can only address up to 4 GB of system RAM, limiting the total number of VMs the system can support. This limitation prompted the move to 64-bit processors, which can theoretically address 16 exabytes of memory, far more than you can practically implement in a current server system.
Older ARM processors overcame the 32-bit memory limitation by mapping the 32-bit address into a 40-bit address range, called the large physical address extension. But ARM processors must also move to 64-bit designs in order to support data center workloads and run enterprise-class operating systems (OSes). The ARMv8 architecture, such as ARM's Cortex-A50 series, is a true 64-bit design that should accommodate 64-bit addressing.
When to use ARM processors for server virtualization
Intel Xeon, AMD Opteron and other x86 processors evolved to handle a wide variety of instructions and can now contain billions of transistors operating at 2-3 GHz. This huge number of transistors processes the extensive set of complex instructions, but puts pressure on power demands and causes processing efficiency to suffer.
The goal of RISC technology -- via ARM processors -- is improved power and performance through a narrowed instruction set. RISC reduces the number of instructions and thereby reduces the total number of transistors. Fewer transistors demand less power and having shorter pathways through the processor can boost performance. This simpler processor can achieve better performance with clock speeds of 1 GHz or less.
RISC applications and the underlying OS tend to be simpler and more task-specific than workloads deployed on x86 servers. Web server workloads, for example, mainly exchange data and serve Web pages from storage to the network. Such tasks demand a relatively small suite of instructions, making them ideal candidates for RISC and complementary services such as Java and ActiveX. The performance boost from ARM can also speed Web page delivery and enhance the user experience.
By contrast, applications with heavy or diverse processing demands, or those with large or variable memory footprints, are generally not candidates for RISC deployment. This means businesses must match the server to the task.
A RISC server must use ARMv8 or similar processors that include virtualization extensions. The hardware then has the acceleration needed to make server virtualization efficient. The server also needs enough processors and memory to support the intended number of workloads. Major virtualization vendors provide hypervisor software that functions on ARM processors and OSes, such as Ubuntu Server and Desktop for ARM 12.04.
Considering the fledgling nature of RISC at the server level, any ARM server deployment and use of virtualization, such as an HP Moonshot platform, should only follow extensive lab testing and in-house proof-of-principle projects.
Allocating resources with 64-bit ARM processors
Virtualized resource allocation for 64-bit ARM systems works in a similar way to conventional x86 systems: You must adjust resources to optimize the workload's performance. The way computing resources are scaled, however, differs on each system.
In traditional x86 systems, processor scalability is limited because OSes and workloads are generally not designed to scale between multiple processors. A single x86 processor usually provides enough computing cycles that it's rare for a workload to scale across multiple cores or processors.
In RISC processor systems, on the other hand, individual RISC cores don't provide the sheer processing power of their x86 counterparts. Shaving speed and complexity help the processors save energy and run efficiently. Administrators will still need to change the way they perceive RISC processor cores, however. For example, an Intel Xeon may provide 10 cores, while a 64-bit Tilera TILEGx-8072 provides 72 cores. Tilera's S2Q multimode cloud server, a complete RISC server, provides eight 64-core processors totaling 512 cores in a 2U rack server package.
This paradigm shift means that RISC applications are designed to more readily scale across cores and processors than conventional x86 platforms. This opens the door for greater workload computing scalability and can be a suitable platform for some cloud-based applications where users demand large scalability.
Initiatives like HP's Project Moonshot underscore the growing importance of RISC and RISC processor architectures. The growth of RISC in server virtualization will take a firm adoption of 64-bit architecture and the careful deployment of virtualization for optimum workload flexibility and scalability.
Demystifying 64-bit ARM processors
ARM processors and servers: A complete guide
Comparing servers and processors for virtualization