TidalScale and inverted server virtualization

TidalScale
TidalScale

Nine-year-old startup TidalScale has developed a distributed hyperkernel which combines different nodes in a cluster of physical servers into a software-defined server. It enables inverse virtualization, combining a cluster of so-called worker nodes into a single large virtual machine with a big memory pool, and is based on the FreeBSD hypervisor bhyve. The hyperkernel virtualizes CPU, memory, and IO into vCPUS, vPages, and vI/O so that they can move around the cluster. The ebb and flow of these virtual components around the cluster is behind the name TidalScale.

Guest operating systems then run the software-defined server (SDServer), and Red Hat and Ubuntu have certified the hyperkernel through their hardware certification program. In order for this to work the hyperkernel has to guarantee distributed coherent shared memory (DCSM) and it does this without a single change to the guest operating systems. It hides the NUMA complexity, presenting a uniform memory architecture to the guest OS and enabling in-memory computing. 

Each node’s memory is like a level 4 cache for the entire software-defined server. The nodes are connected by a private Ethernet interconnect. Nodes can be added or taken away to right-size the cluster at any time. All worker nodes used in a single SDServer must have the same technical specifications in terms of motherboard and BIOS settings, CPUs, memory (DIMM size, speed, quantity), and network interfaces. Built-in, real-time machine learning technology dynamically optimizes both CPU and memory placement for best performance.

TidalScale can run Oracle Linux, CentOS, and SUSE. Windows Server support was coming in spring 2021. However, nothing has yet been announced. TidalScale runs on AWS, aggregating multiple bare-metal Amazon Elastic Compute Cloud (EC2) instances into a single virtual server, and also in the IBM cloud. It does not run in Azure or the Google Cloud platform.

Chief engineer Michael Berman discusses the hyperkernel in a video

With a TidalScale virtual server, cores and memory within the cluster are transparently moved and reallocated in microseconds to fit the target application and optimize performance.

A TidalGuard feature monitors the health of the physical servers, and enables them to be hot-swapped in minutes prior to a system failure. Applications continue to execute and require no  downtime. TidalScale claims this effectively adds two nines to the base server’s overall system uptime by detecting and avoiding over 90 percent of hardware failures. The feature also enables servers to be taken down for patching and maintenance.

You can get a TidalScale product sheet here.

History

TidalScale was started in 2013 by original CEO and now CTO Ike Nassi, lead software engineer Kleoni Ioannidou, and chief engineer Michael Berman. Nassi was EVP and chief scientist at SAP when the category of in-memory databases – think HANA – was established. Ioannidou left in 2018 to join C3.ai as a lead software engineer. 

TidalScale had $3 million in seed funding in 2013 and an $8 million A-round the next year, led by Bain Capital. Then there were what looked like two top-up funding events; a $1.5 million venture round in 2016 and another $1.5 million venture round in late 2018 followed a month or so later by a $27 million B-round, headed up by SK hynix.

There was another top-up-like venture round for $1.2 million in 2020. This pattern suggests it might need another funding round in a year or two.

Gary Smerdon joined as president and CEO in 2016, coming from being a senior advisor at SK Telecom Americas, acting CEO at Pavilion Data Systems for less than a year while the main CEO secured VC funding, and EVP, Chief Strategy and Product Officer at Fusion-io before that.

TidalScale and composable systems

TidalScale’s technology creates a virtual scale-up server with cores, memory, and Ethernet IO composed, as we might say, into its SDServer.

A composable system, such as Liqid’s, does the same but includes accelerators and directly attached storage. Its software composes dynamic virtual servers using pools of separate CPU+DRAM, GPU, Optane SSDs, FPGA, networking, and storage resources accessed over a PCIe fabric. Composed servers are deconstructed after use and their elements returned to the source pools for reuse.

In theory any PCIe-connected server component can be composed but Liqid does not deconstruct, as it were, CPU and DRAM separately; they are not connected by the PCIe bus. TidalScale can but its remit does not extend to having non-x86 server processors be part of its SDServer scheme, meaning no FPGAs, no GPUs, DPUs or SmartNICs.

Liqid can look forward to the CXL (computer express Link) world with externally connected CXL memory-sharing devices becoming part of its composable ecosystem. TidalScale is excluded from this unless it adopts PCIe and the CXL protocol to expand its SDServer scope beyond the limits of Ethernet-connected bare metal servers.