A Global Pool of Processors: A New Architecture For New Requirements
by Hu Yoshida on Nov 9, 2010
Until now, there have been two basic types of storage architectures - modular two controller storage systems with separate controller caches, and enterprise storage systems with multiple controllers and a global cache, which shared one cache image of data with multiple controllers. The modular storage system was designed for direct attach to open systems workstations. The enterprise storage system was designed to support mainframes with multiple channel processors, which required the global cache with one image of data that could be accessed through multiple controllers.
Over time, these storage systems were required to do more and more work. For the enterprise storage systems, they had to support more and more storage ports, then synchronous and asynchronous replication, multiple open systems with Fibre Channel networks, dynamic tiering, thin provisioning, and now sub LUN level tiering. The modular storage systems also added more work with Fibre Channel network attachment of multiple systems, replication, tiering, and thin provisioning. Since modular storage is limited to a two controller architecture, its ability to add functionality is limited in scale. In order to accommodate this increasing workload, both systems kept increasing the processor, cache, and internal bandwidth speeds. Some vendors have started to cluster multiple two controller systems together, but the basic internal architecture of these storage systems have not changed in the face of increasing demands for scalability and functionality.
Hitachi storage systems architecture has been constantly evolving. Back in the mid 1990’s, when open systems processors began to take over enterprise applications, Hitachi separated the control data from the global data cache so that the cache could be dynamically configured for different open systems and mainframe requirements. When Storage Area Networks (SANs) began to demand large consolidated storage systems, Hitachi introduced an internal switch architecture which enabled the Lightning 9900 to replace 6 to 8 competitive storage frames with higher performance and availability.
As storage systems became larger with multiple applications on each storage frame, the problem of migration to new storage frames without extended outages became a problem. That is when Hitachi introduced the Universal Storage Platform (USP) with external storage virtualization. This was followed by the USP V, which introduced a paging architecture that enabled the dynamic provisioning of new servers and application clusters, recovered the waste of over-allocation, and improved I/O performance with wide stripping.
So what is the next architectural change?
The next architectural change must be able to scale to meet the increasing demand of multiple virtual machines running on increasingly powerful multi-core servers and the increasing internal bandwidth and processing power that will be required to support page level tiering and application API’s that eliminate bottlenecks like SCSI reserves and software mirroring.
Hitachi is supporting this by separating the main processors from the port processors to create a global pool of processing power that can be assigned to different tasks while the port processors handle the I/O processing. The port processors are dual core processors that have been optimized to do host I/O command distribution and data transfer to cache on the Front End Directors and interface, control protocol, and RAID parity generation on the Back End Directors. The Virtual Storage Directors (VSDs) are quad core processors that run the microcode for I/O command processing, control of user data caching, overall control, managing any faults and executing software for all program products like page level tiering, in system copies, and replication. Like the global cache pool, the VSDs provide a global pool of processing power that can be leveraged across the entire system through the switch architecture of the Virtual Storage Platform (VSP). This is a major change from traditional systems where processors are locked to storage ports creating silos of processing power that cannot be shared across the system.
[...] wrote about the need for a global pool of processors in November, and focused on the new requirements for different architectures. This topic is a big one, and [...]