Startup Coho Data’s DataStream product takes a novel, converged approach to building a next-generation scale-out storage system. The folks at Coho have taken advantage not only of recent advances in the storage arena like PCIe SSDs and hybrid storage but also used a software-defined network to tie the whole cluster, and the hosts that connect to it, together.
Like most storage systems today, DataStream is built out of the OEM supplier parts bin. The DataStream appliance is based on a 2u dual server chassis -- much like SuperMicro’s 2U Twin -- that holds two of what Coho’s dubbed "microarrays." Each microarray has a pair of Xeon processors, two Intel 910 PCIe SSDs and six 3TB, 7200RPM disk drives. A DataStream cluster also includes an Arista 10Gbps Ethernet switch, dual connected to each microserver, that’s managed by the DataStream’s OpenFlow controller.
Traditionally, scale-out system designers have chosen just a few architectures for interconnecting the nodes of their designs. Some, like EMC’s XtremeIO use a dedicated back-end network over Infiniband or some other high bandwidth, low-latency network. When a host requests data from node A that resides on node K, node A forwards the request across the back-end network to K, which sends the data back to A. Even with a low-latency network, the back and forth chews up controller CPU cycles and adds some latency to every request.
The other common technique, used by Dell’s EqualLogic arrays and others, is to have the nodes in a cluster respond to a virtual IP address. If the node that receives a request doesn’t have the data locally, it issues an IP redirect to the node that holds the data. Again, cluster management -- in this case IP redirects -- takes CPU cycles and introduces latency.
Coho’s approach shifts the whole process from the storage nodes in the cluster out to the Arista 10Gbps switch that’s key to the whole DataStream architecture. The DataStream’s built-in OpenFlow controller instructs the switch to direct requests to the node in the cluster that holds the data object the host wants to access. By moving this process -- as well as load balancing and data placement -- out to the switch, Coho’s found a way to minimize the latency and CPU impact.
[Read how companies like Exablox are reducing the cost and complexity of scale-out storage in "Scale-Out Storage Scales Down For SMBs."]
This means that DataStream has the potential to come closer to the holy grail of linear scalability that scale-out storage vendors have been promising since time immemorial. With each microserver providing 90,000 IOPS, even a modest-size cluster of a dozen servers could break the Dr. Evil barrier and deliver 1 million IOPS.
Of course, the secret sauce is in the software. Like some other next-generation storage systems, such as SolidFire and Exablox, the DataStream stores data on the backend as objects. Unlike overt object stores like Amazon’s S3, the objects in the DataStream data store don’t represent user files, but instead blocks or chunks of the file. DataStream protects data by replicating duplicate objects on other microarrays in the cluster.
This object storage model also allows the DataStream to manage the flash and spinning disk as a single repository continuously managing data placement. The high CPU capacity of the microarray allows Coho to keep more metadata and make better placement decisions than conventional arrays performing sub-LUN tiering, which, frankly, rarely delivers the performance it promises.
Initially, Coho’s chosen to present its datastore via NFS for vSphere server hosting. The company has talked about future versions supporting Hadoop Distributed File System (HDFS) and key/value object APIs.