I don’t pre-write anything so stay with me here.
Now that the event is over and I go go back to booking more work related travel (Yay?) I decided to jot down some quick thoughts on what I thought the most important announcement today was.
To me that is MCx, which retires the FLARE driver which has been the base of the VNX RAID implementation since it was Clariion way back at Data General.
When they (As in Marketing and the Unified team) talk about scale up with the VNX what I think they’re talking about is NUMA, Non-Uniform Memory Access, and the new VNX is very much a NUMA design when you consider CPU core utilisation and the fact they haven’t come out with a clustered file system or a namespace layer.
NUMA is interesting but offers a number of challenges to the FLARE using systems of yesteryear (Or even yesterday) the largest challenge being that FLARE was a large chunk of single threaded code which did everything in the kernel, Steve Todd will know more specifics but I’d imagine not only was it responsible for RAID but also caching and the like.
The FLARE driver was designed in an era where you had one CPU core running incredibly fast, but that era ended the moment Intel shipped their final NetBurst microarchitecture CPUs and moved their entire development focus to the Core microarchitecture.
So the FLARE driver rapidly became hamstrung when x86 CPUs flipped from one hot and fast core doing everything, over to somewhat slower but with far more numerous cores. The result was the CPU workload across a CX/NX/VNX was always skewed with some cores running at full tilt while others only broke a sweat when you started running the layered applications, such as MirrorView or SnapView or whatever which run above the kernel in user space.
Enter MCx, which breaks out RAID and caching and auto tiering into unique software components with a modern implementation for high density multi-core designs.
So looking into my crystal ball and engaging entirely in speculation what’s the present & future of ‘scale up’ VNX?
They’ll package and use as many cores as they can inside as many sockets that are viable for a dual controller system.
Unless you’re willing to spend ten years bolting on scale out, a development nightmare and can lead to a very compromised design to not break all your existing software functionality, when VMAX & Isilon have had scale out designed in from top to bottom since day zero, why would you do anything else?