Data centers that use centralized storage, SANs or NAS, sometimes use servers to cache stored data and thus accelerate the average speed of storage. These caching servers sit on the network between the compute servers and storage, using a program called memcached to replicate a portion of the data stored in the data center’s centralized storage. Under this form of management more-frequently-used data presents itself faster since it has been copied into a very large DRAM in the memcached server.
Such systems have been offset over the past five or more years thanks to the growing availability of high-speed enterprise SSDs at an affordable price. Often direct-attached storage (DAS) in the form of an SSD within each server can be used to accelerate throughput. This can provide a considerable cost/performance benefit over the memcached approach since DRAM costs about 20 times as much as the flash in an SSD. Even though the DRAM chips within the memcached server run about three orders of magnitude faster than a flash SSD most of that speed is lost because the DRAM communicates over a slow LAN, so the DAS SSD’s performance is comparable to that of the memcached appliance.
There’ a catch to this approach, since the DAS SSD must be managed by virtualized storage software to prevent coherency issues: Does the server have a more current version of the data than the SAN, and, if so, how will that data be provided to another server that needs it? If this is a concern then there is still an argument to use an memcached-driven server to accelerate storage.
Researchers at IBM Zurich have taken a different approach by building an appliance they call the “Data Store for Memcache” that runs a memcached-like program on a server that caches stored data in SSDs instead of DRAM. This is provided as an online service to IBM’s cloud clients.
This approach reminds The SSD Guy of the flash-based memcached appliances introduced in 2009 by start-ups Virident, which was later acquired by Western Digital (WDC), and Schooner Information Technology, which was acquired by SanDisk (now also a part of WDC.) These systems, which have since been abandoned, ran standard memcached open-source software. Schooner’s system used standard flash SSDs, but Virident’s GreenCloud Server for Memcached was built using NOR flash on special modules on the server’s memory channel.
IBM’s new system provides SSDs with either flash or 3D XPoint Memory. IBM claims that the flash version costs 1/20th as much as its DRAM counterpart and the 3D XPoint model costs 1/4.5 times the cost of DRAM, “without sacrificing performance.” This makes sense if the performance of any of these systems is limited by the speed of the LAN.
IBM has added another “Little Something” to its Data Store for Memcache to address recent issues of DDoS (Distributed Denial of Service) attacks that infiltrated memcached servers in 2018. The company has added authentication and authorization measures to secure it against such attacks, and has added encryption in transit to provide an additional layer of security. The company is making an experimental version available for 30 days free.
It will be interesting to see where this experiment goes.
IBM Data Store for Memcache will be presented at the 17th USENIX Conference on File and Storage Technologies, February 25-28, 2019 in Boston. The paper will be soon made available https://www.usenix.org/conference/fast19/presentation/kourtis