The role of the data center is changing in the cloud-based world. Once the exclusive repository for an enterprise’s information, it has been widened to enable the storage and use of data that is physically located in other places. There is still a need for data to be controlled on-premises for security as well as operational reasons, but the elements that make up these data centers are changing.
It has long been an underlying principle in computing that CPUs perform better and are more expensive than input/output (I/O) devices. But in a new development, Storage Class Memories (SCM) — high-speed, nonvolatile storage devices — may change this long-held assumption.
The Standard I/O Ways
Over the last 30 years, processors have improved their speeds faster than I/O devices such as disks. Processing power (like CPUs) has been fast, while disks were slow. This led to stratagems that kept the processor issuing many I/O requests to disks and then waiting for the results to show up in cache.
There is a whole hierarchy of caching that depends on what level of processing is occurring. CPUs will cache the contents of RAM, operating systems will cache disk sectors to internal buffer caches and application-level architectures load back-end databases into storage caches. All have the goal of reducing data latency so that the data is available when needed for processing.
However, solid-state drives (and their up-and-coming cousins, nonvolatile DIMMs) interface with the CPU as if they were DRAM, not disks, according to McObject. As a result, they can provide a massive upgrade in performance; and the technology is only improving with regard to capacity and overall performance. This upsets the apple cart.
A paper published in the Journal of the ACM looked at the implications of this change in the architecture of a data center. The authors enumerated differing systems that can take advantage of SCM characteristics to do more beyond just throwing faster memory at the problem.
How to Balance I/O
One of the first options is balanced systems. They address capacity shortfalls and other bottlenecks caused by the presence of SCMs. This would mean that sufficient CPU cores should be present, and the network needs to provide enough connectivity between CPUs and storage for the data to be served out of that storage at full capacity.
By replacing a slow disk with faster SCMs, the performance bottleneck is just shifted. Eliminating the bottlenecks with balance deals with the logjams wherever they may occur. TritonSort is one example of this kind of system.
The second type of system is contention-free I/O-centric scheduling. It allows multiple CPUs to access a single SCM without serializing accesses across all the CPUs present in the data center. Recent research on mTCP described how this approach might be done.
Horizontal scaling and placement awareness distributes data across the cluster and proactively moves it for better load balancing. Higher-speed SCM can cache data from lower-speed sources, changing as the workflow progresses. While distributed storage systems have dealt with the same issues, SCM makes it more acute.
Organizations may also use workload-aware storage tiering, which works with accesses done locally to balance performance, capacity and cost requirements.
It Comes Down to the Storage Mix
All these techniques share the common goal of rebalancing workloads from the older timing models. SCMs are here to stay, and experts believe it will only increase in performance in the future.
The challenge of rethinking how a data center functions is inextricably bound to the use of new technologies that aim to improve how real-world computing gets done.