Sunday, November 9, 2014

Johnny needs a fast car ... and NonStop rocks, again!

In the Chris Rea song, Johnny Needs a Fast Car, the lyrics are self-explanatory. “Johnny needs a fast one Johnny needs it now. You got to give him something to let him show you how.”  And just sometimes, we need to give developers something to show us how …

Over the past couple of years I have written posts that featured different cars Margo and I have owned at one time or another. However, what has lurked in the back of the garage (and rarely featured in any blog posts) is the car affectionately known within the auto trade as Godzilla – a Nissan GT-R. Left in a parking station it attracts glances only from 20-something individuals who each give it a respectful nod and yet, it’s rare to come across any other vehicle on the road with equivalent capabilities – it just goes fast. While we have essentially tracked all the cars we have owned, Godzilla has not seen the track and for a very good reason. Yes, it’s fast, but we like it far too much to risk damaging it, but when it comes to fast cars, then this is the car Johnny really needs.

Along similar lines as the words of the Chris Rea song is the better known line uttered in the movie Top Gun, “I feel the need … the need for speed”. Unlike references to Godzilla, this line was featured in a post to this blog. In the post of July 6, 2014, I feel the need for speed … I observed that should you accept that speed is of paramount importance to stock exchanges, for example, it would seem logical to consider having the order processing system partially handled by a plethora of optimized front-end processors. Furthermore, I noted in that post, for NonStop to keep up it would depend upon the overall design and the middleware chosen, but there are steps that can be taken, I added at that time, to reinstate the viability of NonStop and it’s something I know several sales folks at NonStop are seriously considering.

At the time of writing, less than six months ago, I had become aware of work being done by NonStop community consultant, Dean Malone.  Over the course of this year I have had a number of telephone exchanges with Dean and then, during CTUG, I was able to sit down with him and discuss in more detail his own plans for NonStop. You see, what Dean is championing is the potential of a very fast NonStop system now that HP NonStop development is well-advanced in its endeavors to have NonStop support the Intel x86 architecture, along with the replacement of ServerNet with industry standard InfiniBand (IB). His vision is to introduce blazingly fast new capabilities for NonStop that will make it a serious contender again in lost verticals like stock exchanges as well as new verticals where extreme throughput plus the exclusive linear scalability and fault-tolerance of NonStop are valued; but without having to significantly re-engineer those existing SMP solutions.

While Dean is known to some of the NonStop development community, as yet he is not a household name across the entire community. For the most part, Dean has worked deep down, “in the weeds”, so as to speak, where he’s been cutting code close to the metal. While not a part of NonStop development per se, he has had numerous NonStop professional services engagements at the likes of Tandem, Compaq, HP, IBM, Target, Logica/CGI, DirecTV, etc. as a solutions architect or product development /integration / deployment specialist. To say Dean has excellent credentials when it comes to NonStop is an understatement – these engagements have spanned multiple decades.

As we head to the 2014 NonStop Technical Boot Camp I have become aware that Dean will be attending as well and will be in discussions with numerous members of the NonStop community. Fortunately, for those who would like a little more insight or who may simply not have the good fortune to attend Boot Camp, I have recently enjoyed a lively exchange with Dean that picked up on a number of points raised over that dinner during CTUG. For me, the most important component here was speed, and just how much additional speed could be extracted from NonStop on x86 / IB solely from middleware.

“When AMSYS North America was engaged jointly by IBM and Tandem Computers to do a deep port of MQ Series on NonStop,” said Dean, “I was engaged as the Chief Architect because of my prior MOM credentials, chairing panels at COMDEX and porting Momentum Software’s XIPC product to NonStop.” However, Dean’s experience doesn’t stop there. He explained how he “produced a verified design for a massively scalable message switch for ORBCOMM - a leading provider of global machine-to-machine (M2M) solutions with the only commercial satellite network 100% dedicated to M2M - that is predicated on a hybrid environment, although this was not on NonStop.”

He is also particularly proud of his role “as telecommunications infrastructure architect in 1993 for the Government of Ontario where we implemented the world’s first wireless WAN under the Mobile Workstation project that brought police, carrier enforcement and health ambulance mobile workstations with direct access to computer-aided dispatch, federal, provincial and regional criminal offences databases, an electronic ticketing application and more.”

It is with these experiences behind him that Dean has been increasingly concerned about NonStop remaining relevant, especially in those instances where applications depend upon the overall performance of the platform. This is particularly interesting as the NonStop community looks for more solutions to be ported to NonStop – indeed, even the word “port” generates a cringe among developers like Dean because of the incongruence of SMP versus MPP.  In reviews of Godzilla, trade publication MotorAuthority observed, “The (Nissan) GT-R doesn't look like the voluptuous exotics it competes with either, though it does cut a unique and instantly recognizable profile.” Moreover, and something everyone knowledgeable of NonStop can appreciate, “the car is a Japanese performance machine that can outrace some of the world's top supercars … all of which add up to something greater than the sum of its parts.”

According to Dean, “NonStop has always been about more than the sum of its parts, but this doesn’t mean there isn’t more that can be done to improve some aspects of the NonStop architecture and clearly, performance has always been something where a little more TLC can be given.” With the announcement of NonStop support for the Intel x86 architecture, together with the introduction of InfiniBand (IB), Dean recognized that there was an opportunity to rethink the way applications can be put together in a manner that could outperform even the slickest of applications available today on commodity clusters. 

“Back in 1992, I was working on message switches for brokerages and EFT/POS networks, and I read about a new software product called Pipes Platform.  It was one of the first of a new breed of software now known as Message Oriented Middleware, or MOM. Momentum Software, who had a product called XIPC, asked that I port the product for them to NonStop after Sprint expressed interest. When completed, there were discussions with NonStop development, but at the time, with K-Series processors (and DynaBus), the product was terribly I/O bound on Guardian IPM. Although it was later to be installed on an Integrity (Itanium) server where it did over 15,000 shared memory operations per second (although only 1/5th of what the same code on an Itanium HP-UX server can do with shared memory), ServerNet made a huge difference.” Shared memory? Isn’t this flying in the face of one of the very basic of premises for NonStop - shared nothing?

“Within ServerNet, there is an RDMA capability that Tandem never exploited.” Dean said. RDMA is remote direct memory access from a process of one computer into the memory of another without involving either the sender’s or target memory’s operating systems. This permits high-throughput, low-latency networking, which is especially useful in massively parallel computer clusters. Given that the handprint of ServerNet is all over IB, Dean then told me that he “was pretty sure RDMA would be there too.  I went to the InfiniBand Trade Association’s web site and downloaded the Volume 1 software specification.  Sure enough, there it was.  IB RDMA is simply an awesome game-changing technology that is going to radically change the computer industry.”

Awareness that this very basic RDMA capability is a part of IB led Dean to make another key observation. “All SMP implementations, without exception, are housed on a single node with a single shared memory address space.  With RDMA, all of that changes because now any process can access the shared memory of another node at extremely low latency and at extremely high transfer rates.  On the new X86 platform, the OFED RDMA libraries can be implemented so that at least as a raw primitive, it is technically possible for Guardian and OSS processes to access the shared memory of another processor.  I am quite sure this will take a few releases to expose to customers and vendors, though.”

According to the OFED web site, The OpenFabrics Enterprise Distribution (OFED™) is open-source software for RDMA and kernel bypass applications. OFED is used in business, research, and scientific environments that require highly efficient networks, storage connectivity and parallel computing. This is why I am so interested in what Dean has been researching – any speed bumps that lie in the path of migrating new applications need to be removed. And one of the biggest has typically been the SMP nature of almost all modern applications; what would happen if this particular speed bump was removed, and what if, in doing so, the defining attributes of linear scalability and fault tolerance that make NonStop unique can be leveraged along the way?

Perhaps this shouldn’t be considered a panacea for all applications on NonStop, but what if by providing an additional MOM RDMA component new frameworks, platforms and even applications looking to support x86 were suddenly easy to port? Among the folks I contacted in preparation of this post there were comments from “Yes, if available we would leverage it” to “Wow, this indeed could change everything!”

Should you be wondering about what new platforms could be coming to NonStop then make sure you attend Keith Moore’s mid-morning Monday presentation at the NonStop Technical Boot Camp 2014 – about which I can reveal little at this point. There’s some possibility that “dots may be connected in time!” Returning to SMP – the point here is that high-speed/low-latency fabric to facilitate inter-CPU communication has been inside NonStop for a while and is the reason ServerNet radically out-performs DynaBus. With IB, the game changes yet again as RDMA and its other core capabilities reach new heights (or lows, depending on your axis).

“Plans are significantly advanced to provide a product capable of delivering UNIX IPC services (i.e. shared memory, semaphores and queue-based messaging) over IB to NonStop, Windows and Linux.  We have demonstrated these capabilities over TCP/IP on ATC NonStop and HP-UX servers.” said Dean.  “Every bit as importantly, we demonstrated that the NonStop’s IPC resources are fault-tolerant by using DIVER to bring down the CPU where the shared memory resided and all the transactions in flight recovered with no loss or duplication of data – even the HP-UX processes that were accessing these remote NonStop IPC resources.  We seek to deliver a product that will do all of this over InfiniBand with multiple orders-of-magnitude more throughput.”  

And there’s a lot more coming from Dean as well. “We have mapped out how to provide fine-grained user authentication and authorization security over individual IPC resources (i.e. a semaphore, a message queue or a range of shared memory) to thwart hackers from reading this shared memory.  We would also provide the ability to monitor these resources across a network for debugging and monitoring purposes and integrate metrics and statistics for products like Prognosis, Business Process Monitor, BPM Anywhere and AppPulse.  It has taken many man-years to produce what has already been built and we are not very far from the finish line.  I’d say we are second down, 5 and goal!”

Dean will be attending Boot Camp and will be only too happy to take up this topic with users and vendors alike. Delivering on his plans will require help and there’s already a steadily growing list of interested parties. Like Godzilla, hiding in the shadows (a supercar in disguise), NonStop has always been a sum of more than its parts but with the attention Dean is giving to critical components close to the metal, it will more than likely make NonStop of the future every bit as feared by the competition as the Nissan is today.  If the Apple turn-around of the last decade has taught us anything, it is that you shouldn’t count superior architectures out.  I see a Renaissance-in-the-making for NonStop here.

No comments: