During SC10 in New Orleans this week, our editor spent an hour with Bill Hilf to discuss a wide range of topics, including Microsoft’s Azure cloud offering, both in terms of some recent newsworthy enhancements and the announcement of a certain other major public cloud that now boasts GPU capabilities. This led to discussions about performance, job scheduling requirements for hosting compute-intensive and HPC applications in a cloud environment and more general topics related to the company’s strategy as the “other” public cloud continues to evolve, albeit via a different course. We’ll be bringing more details from this chat as the week goes on…
Microsoft’s Technical Computing Group, which focuses on HPC, parallel and cloud computing has been evolving as of late, a fact that is due in large part to input from its General Manager, Bill Hilf and his belief that the only way to broaden HPC access is to focus on making simplicity of access to high-performance computing applications and resources as easy as filling in rectangles in an Excel spreadsheet.
Ultimate abstraction of complexity might strike some of you as unrealistic. The thought that your applications can somehow be negotiated and abstracted to such a high level that they require little more than data entry does seem far-fetched but clearly, for Microsoft, the effort make this reality is not simply a priority so they can better engage that elusive missing middle of HPC users—it’s the key to their survival in the HPC space.
In Hilf’s view, technical computing users are going to form the backbone of Azure, hence the focus on HPC applications in any number of the company’s cloud-related announcements.
This includes, for example, the news today that BLAST had been ported to their cloud and was being offered “free” (which is good since it’s really free to begin with) to users with Azure accounts. We’ll get to that item in a moment, but for now, back to how Bill Hilf wants to destroy HPC…or at least the weight of that acronym….in other words, by making it synonymous with computing in general.
“It goes far beyond building operating systems; it’s about building end user tools; it’s about making it all seamless like we did recently with BLAST. We ported it to Azure, which was good, but there was still a lot of this that was really difficult. Like, how do you go and distribute all of this across Azure? And what is Azure then exactly? And then how do you track progress when it’s thousands and thousands of cores and any of this could be anywhere since it’s a global OS. Really, your job could be running anywhere; in Shnghai or elsewhere—so how do you track it or get one answer back across thousands of machines?”
Easing into Old Models
As Bill Hilf noted, a couple of years ago it became clear that Microsoft’s efforts to become major parties in the HPC server space was not working as envisioned so a shift in ideology was necessary—that shift actually brought Microsoft right back to where it got its start in the first place so long ago—removing complexity and thereby taking vastly complicated programming and hiding it under a seamless veneer of usability.
That veneer has been so seamless that we can all too often forget completely what lies behind that Excel spreadsheet or, for that matter, the Word document that the first draft of this article was created on. Here’s the idea though, and it does go beyond removing complexity and adding the intuitive UI…By taking such steps to deliver complex applications to the masses via these smooth user interfaces and focusig on ease of use above all, what we consider to be a powerful applications (the “we” is loose and general here) no longer are perceived as powerful necessarily because they’ve become ubiquitous.
So more specifically, Hilf is saying, “we want to eventually make HPC, that acronym, meaningless” in the sense that users, even highly technical users, will no longer consider their applications in the context of high-performance or general purpose—or anything. It will all simply become computation. Plain and simple.
This can be a difficult idea to wrap the brain around, especially during a conference that is dedicated to that acronym but in some ways, the predominance of complexity—in fact, the celebration of it here in New Orleans this week—is actually exactly what Microsoft wants to be rid of. They want to open doors of access using that same tried and true model of delivering mainstream products, even high-end ones, to everyone who has enough computer savvy to click a few buttons. And you know, while some of it seems far off, there is something to be said for the old Microsoft simplification trick.
To give this some added context, our conversation actually began with a mild question about what he thought about their biggest public cloud competitor, Amazon Web Services, delivering its new Cluster GPU instance type—it didn’t start with the conversation about ease as central to Microsoft’s refreshed Technical Computing ambitions and strategy, but all of the above was necessary prefacing.
While I was leading up to a “yes, but when will you have a similar offering” at first, Hilf took another route and suggested that while the Amazon GPU announcement was “technically and academically interesting, on a theory level that is” it’s not much more than that since it’s essentially giving those relative few with the programming incentive and skill set. And this brings back his point yet again—what good is all the new cloud-delivered access to seemingly endless infrastructure if only some are able to use it?
This point is well taken. Most HPC users have depth of knowledge with one language but the researchers and users, on the other hand, want to focus on their research or development mission and minimize the time they need to take to become system admins if at all possible. With something like GPU computing capabilities being introduced in the public cloud, even if some of these potential users knew very well that they would be able to achieve significant performance increases via GPU acceleration, there is no layer of abstraction present to disguise the ugly CUDA barracuda behind it.
More generally speaking, Bill Hilf stated the following about GPUs in the cloud (or otherwise for that matter) and related this back to Microsoft’s “big picture” about how to make serious inroads back into HPC via the old “mainstreaming it” trick…
“If you look at the Top500, one of the most startling things is that most of them in the top ten are using GPUs; that general ideal of huge parallelism through 500 cores on one GPU versus four cores on CPU?—Well people are really starting to understand it and how to exploit it. So for this HPC group, they’re all asking, ‘how do we take advantage of the hardware and also, how do we make it easy?’
Having GPUs in a cloud is technically interesting but it doesn’t break any barriers because it’s still complex. Just offering them doesn’t make it more accessible; you still have to write a low-level CUDA program in a very specific hardware-oriented language for one specific GPU from one vendor. It’s all really technically complicated and therefore it’s still just a niche thing—it’s not like Visual basic or Word for instance where that complexity is abstracted—all of this is just technically interesting but it’s not easy and easy is the missing ingredient as we see it.”
“Mainstreaming” HPC Applications
Although the conversation didn’t hinge on GPUs specifically, that was a great frame for theme of the discussion, which all hinged on ease of use. Hilf held their porting of BLAST to Azure up to the light as an example of this pairing of “mainstreaming” HPC applications and providing greater ease as one in a coming series of announcements related to easy HPC.
What we are going to see from Microsoft in the next year is represented in their announcement about the BLAST case studies. Hilf says that this is the first of many coming examples that are set to show that the cloud can prove that which was otherwise thought to be impossible. The company worked with a major hospital that wanted to take advantage of BLAST by running what might be one of the most comprehensive BLAST-based searches to date. They wanted to search against the entire protein database—which is 10 million sequences, which then ends up being more than one hundred billion comparisons. This is a rather staggering project in terms of scope if yo’re reliant on NCBI and its strained resources, for example. Actually, it’s a staggering project no matter what you’re using.
Azure handled this request, however and Hilf claims that without any kind of special pricing, the cost was about $18,000 for this huge run that would have required millions in hardware and staffing investment. Oh, and with setup time included (one day) they ran the whole job in six days while keeping 4000 cores busy around the clock.
Hilf wants these case studies to show how Microsoft is recommitting to HPC; and thus carving out a slice of the arket for itself that might have seemed a little farther off not even a year ago.
Unleashing the Schedulers
Aside from a greater emphasis on ease of use and abstraction of complexity, we talked for quite some time about the role of providing automation and policies for governing how the cloud is used and what parameters users can work by. This is one area where Azure could have a leg up on Amazon.
One key to Microsoft’s success for HPC applications in the cloud (and there is no debate that it’s the embarrassingly parallel stuff we’re talking about here for the most part) hinges on its added ability to have some degree of automation to allow for scaling of resources for bursty needs.
The odd thing about this job scheduler for Azure is that it’s push-buttton, not fully automated to scale according to projected workloads or sudden spikes in need. Hilf seemed to be suggesting that while eventually greater automation would be a priority, for now during this proof of concept phase for a lot of technical computing users in their cloud, IT managers want full control over how the cloud experiment goes.
For instance, he used a traumatic tale from his personal life, noting that while in Asia recently, he used a number of features on his phone without realizing how the charges were mounting and arrived back in the states with a $700 bill. He sees how easily this can happen and knows that if a cloud experiment gets a little out of control and no one quite sees the full extent of how resources are being allocated and used, this could mean the death of the pending cloud test phase for that user—and probably the death of employment for the system admin who let this slip under his radar as well.
The topic of job schedulers in the cloud isn’t a sexy one but it is increasingly critical for users and for Microsoft, who again wants to add as many simplification features as possible, including the ability to see and manage resources.
We might take some of the interview segment about job schedulers to task in a more focused post as the din of SC dies down and we’ve had time to talk to one of the stars in the HPC scheduling show tomorrow, Platform Computing.
More to come from this lengthy interview later this week….