RAIS Architecture

RAIS Architecture

RAIS arrays are comprised of four primary system components:

  • an array of x86 servers,  two or more physical servers
  • a RAIS Controller which interconnects  and controls physical servers in the array, 
  • RAIS virtualization software, that provides an application abstraction layer,
  • RAIS Virtual Appliances, packages that contain the applications and software to be executed.



RAIS Controller
Like a RAID Controller for a RAID Array, a RAIS Controller manages communications and interaction among the physical servers, and presents them to applications, developers, and users as logical unit (virtual system). 

Playing no part in the actual execution of application code, the RAIS Controller is a passive management element that centralizes array management and administration tasks, including server addition and removal, server failover. It also performs all management and administration tasks for the RAIS Virtualization software.

RAIS Virtualization Software
RAIS virtualization software incorporates a highly specialized ‘RAIS hypervisor’. It initializes each server node, and aggregates its CPU and memory resources with that of all the other server nodes in the array. 

Unlike any other hypervisor or virtualization software, RAIS hypervisor software performs just-in-time (runtime) binary recompilation of normally pre-compiled application software to become operable on a RAIS array. 

This recompilation process is automatic, seamless, and transparent to programmers, administrators, end-users, and the application software itself.  The result is a virtual machine with globally shared memory that spans multiple independent servers which is binary compatible to a symmetric multi-CPU server of the same CPU and memory configuration.

Virtual Appliance packages for RAIS
Virtual appliances packages are virtual machine images designed to run on a virtualization platform such as those produced by Waratek or VMware. The virtual appliance packaging model has rapidly grown in popularity with rising adoption of resource virtualization technologies like VMware and Xen, all but eliminating the installation, configuration and maintenance costs historically associated with running complex stacks of application software.

Unlike regular application packages, virtual appliance packages are optimized to execute a single specific pre-installed application and are packaged with ‘just enough operating system’ (JeOS) to optimize execution of specific single application.  RAIS virtualization software is compatible with the industry-standard Open Virtualization Format for virtual appliance images also used by VMware, Xen, and others.

Waratek is working with application vendors to release a range of virtual appliance images specifically certified for RAIS.  

Deploying virtual appliance images on RAIS is straightforward – the administrator provisions (defines) a virtual machine instance on the RAIS array and selects the desired virtual appliance image to be executed.  RAIS Virtualization Software takes care of everything else from that point on, from loading and executing application code to scaling a virtual appliance image across multiple independent servers. RAIS Virtualization Software is designed to work transparently and without the need for human intervention.

An entirely new memory model
RAIS represents a fundamental departure from the shared-memory, multi-processing computing systems of the past and the commodity cluster computing systems of today.   The development of RAIS was only made possible with the invention of an entirely new class of shared-memory architecture for cluster computing systems; this breakthrough RAIS memory architecture makes it possible to implement the functional equivalents of RAID striping, RAID mirroring, and RAID parity for executing code and memory.

RAIS shared-memory architecture delivers scalable and fault-tolerant shared-memory over high-latency general-purpose interconnects (i.e. gigabit Ethernet); application programs written and compiled for regular SMP memory architectures are seamlessly recompiled on-the-fly by the RAIS virtualization software to use the RAIS memory architecture instead.  As a result, application software to be loaded on a RAIS array does not need to be modified or re-written in any way.

Copyright©2010 Waratek Ltd. All Rights Reserved