Sharing of thoughts and information is what blogging is all about. This way we can learn from each other. Post A Comment!These postings are provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use.
Anthony Bartolo Twitter | LinkedIn
Pierre Roman Twitter | LinkedIn
No it is not the end of August yet (sorry all you parents) but it is time to go back to school. I am heading off to Redmond for some in depth training and hands-on labs on Windows Compute Cluster Server, also know as HPC or high performance computing. HPC is a bit of a niche but it is huge in the academic and financial areas. Microsoft is also relatively new to HPC although CCS has been out for a while.
I attended an internal CCS training day here in Mississauga last September and it was interesting. It was very cool to see a four node HPC cluster running on standard hardware...
This peaked my interest enough to grab some spare HW at home and build a "supercomputer" but the problem was I really didn't know what to do with it once it was set up.
So back to school I go. I will be in Building 20 on the Redmond campus next week finding out how to use it once it is set up and filling you in via the blog as I make my way through the labs.
In case you are interested the lab outline is below (uh oh, I see developer stuff!), feel free to shoot me any questions during the week on HPC as I'll have the experts on hand to ask!
1. HPC concepts:
a. What is HPC?
b. Fields of use
c. Parallelization, speedup, efficiency
d. Problem decomposition
e. Parallel programming models, architectures
2. Deploying, managing and tuning Compute Cluster Server
a. out of the box
b. with WDS
c. MOM management pack
d. Tuning for performance with particular attention to Infiniband links
3. The HPC scheduler
a. Job lifecycle
b. Scheduling policies
c. Submitting and managing jobs (gui, command line, programmatically)
4. Development concepts:
a. OpenMP multithread model
b. MPI message-passing model.
c. Porting to CCS & x64
d. Compiling and debugging with VS2005
Just one word...
So this would be like what "Distributed Net" was but on a newer level. Leveraging several computers together as one.
Well I guess for a computation test. You could have it work out say the value of Pi and compare the results. There has to be something ridiculous to compute.
This sounds like an odd idea, Could you have all four linked together in a gaming setup? Or a real simulation that does say a TRUE photographic representation of a human (vs a cartoon looking one). It'a giant machine so it should be able to do something ludicrous... :) I would expect you'd hit a bottle neck over the lan. Unless maybe you have some nice 10gb cards and switches to float about?
There's a much more cost-effective solution. http://www.beowulf.org/
Yep, Beowulf is a very popular HPC offering for Linux. Unfortunately there are some HPC applications that don't run on Linux HPC clusters (and vice-versa). Again it is all about choice and the right tool for the job.
IT Pro Advisor
<i>Again it is all about choice and the right tool for the job.</i>
<p>Well, that's the party line, but actually it's all about Freedom.
I disagree, it is all about choice. If you, or the company you work for has made the choice to use Excel, as many financial institutions have done, HPC is out of the question with Linux based clusters without a lot of work.
If you are tasked with deploying an HPC cluster and have no experience with Linux, Windows based HPC clusters are very easy to deploy. The same could be said for someone with no Windows experience, they would probably have a much easier time setting up a Linux HPC cluster. Again the choice is available.
IT Pro Advisor
*snort* Sorry, mentioning "Excel" and "HPC" in the same sentence is pretty funny.
"If you are tasked with deploying an HPC cluster and have no experience with Linux, Windows based HPC clusters are very easy to deploy."
I see. So you would have someone who knows about gene sequencing or other HPC apps use Windows because it's easier to set up? You want to shield Ph.D's from the horrors of the command-line? The mind boggles...
Let me give you a practical example of why Freedom is important to the computing community: As you (may) know, we are being hit by a storm of PDF spams. I fight spam for a living, and something is very interesting about these PDF spams: Many have security bits set to disallow printing, copy/pasting, etc. Adobe has leaned heavily on software vendors to respect the PDF security bits. As a result, all of the available libraries for analyzing PDF files won't give you the textual content of the locked-down PDFs. So as a spam fighter, you have to break the PDF protection, running the risk of falling afould of the DMCA in the US.
This is an example of emergent behaviour: The DMCA authors and Adobe had no idea how criminals could (would!) subvert the system, in spite of the warnings of many in the open-source community.
It's the same with all computing. MSFT may be (relatively) benevolent now, and may be applying for privacy-intrusive ad-serving patents with good motivations, but you'd better avoid being locked in when the emergent behaviour happens. For example, it occurs to me that a Windows HPC cluster would make an attractive target for zombie spammers, who already 0wn hundreds of thousands of Windows PCs worldwide. The HPC cluster would have tons of CPU power and likely quite a good connection to the Internet...
BTW, with respect to Excel: I've never met an Excel spreadsheet OpenOffice couldn't open (barring macros, of course, but you're hardly likely to code your HPC apps in ExcelBasic or whatever it's called nowadays.)
" So you would have someone who knows about gene sequencing or other HPC apps use Windows because it's easier to set up? You want to shield Ph.D's from the horrors of the command-line?"
Heck no! But there are more possibilities for HPC than gene sequencing. When I was working in the manufacturing sector I had a user who was running fluid simulations to determine shrinkage/expansion of liquified metal during cooling. This was a Windows only application and required massive horsepower and even then still took days to compute. A Windows HPC cluster (and support for HPC from the ISV) could have cut this down.
Day traders running simulations on stock trends is another possibility. A rocket scientist is, well a rocket scientist and would be more likely to have the skills to implement and manage a Beowulf cluster. Our HPC offereing is not going to replace Beowulf or ROCKS, it is going to expand the HPC market
Now the freedom discussion? Well that I will save for an upcoming post.......
"This was a Windows only application and required massive horsepower and even then still took days to compute. A Windows HPC cluster (and support for HPC from the ISV) could have cut this down."
Ay, there's the rub: "Support for HPC from the ISV."
My experience with vendors of proprietary software that runs on Windows is that they are very unlikely to be open to adding a feature like "support for HPC." I would venture to guess that most HPC apps are either open-source or written by the people running them. Because HPC is still somewhat of a black art, I don't think you see many shrink-wrap proprietary HPC apps.
Given that reality, there's no advantage (and lots of disadvantages) to a Windows HPC cluster vs. Linux HPC cluster.
Oh, and regarding the "Windows-only" application: Hi, guys. Welcome to vendor lock-in. Hope you enjoy your stay. It's gonna be a long one.
You are correct, there are not a lot of shrink-wrapped turnkey HPC apps. That is changing and MatLab is one that a lot of academic institutions run that supports Windows HPC. Hopefully this changes as Windows HPC opens up the market and makes HPC computing less of a "black art" and more common place.
Expanding the HPC market into non-traditional areas will do nothing but good for HPC in general. This just might be what ISVs need to support it with their applications.
<i>Hopefully this changes as Windows HPC opens up the market and makes HPC computing less of a "black art" and more common place.</i>
How is Windows "opening up" the market? It's far cheaper to do it on Linux, and you don't need a "25+ minute video" explaining the ins and outs of Linux licensing.
The simple fact is that MSFT perceives the HPC market (which Linux opened up!) as becoming worthwhile, and sees it as a great vehicle for raking in the $$$ by selling lots of Windows licenses. There's nothing wrong with that -- MSFT is in business to make money -- but lets not kid ourselves about MSFTs motivations and the hidden costs of Windows, from licensing complexity to malware infestations.
UNIX created the HPC market, Linux made it cheaper to implement, Windows will open it up from a niche to the broader market. How? Simple integration into exisiting Windows enviroments (there are a couple of those :) ) is what is going to expand the market. ISVs are getting on board and integration with exisiting Microsoft software such as AD, OpsMgr, Excel Server much it much easier to deploy and manage.
Of course Microsoft got into the market to make money! Your company is in business to make money as well. That is what companies do (or try to do).
I admire your persistance David and love to see you display your passion for Linux and open source software. Freedom of choice is a good thing and I always welcome your comments!
"I admire your persistance David and love to see you display your passion for Linux and open source software."
No comment on the licensing complexity issue or malware, then?
"Windows will open it up from a niche to the broader market."
I doubt it. HPC is by definition a niche market. Very few apps (in the grand schemet of things) actually need HPC.
No comment on the licensing, it can be difficult to understand, but it is getting better. Malware is another story and all about impact. Whether the malware author is doing it for bragging rights, or for profit, they will always go after the biggest target. Today that is Windows. Look how more and more OSX exploits are being found as it gains popularity.
I agree that HPC is (currently) a niche market with very few applications needing HPC. But then again, computers in general used to be a niche market :)
One last thing.....
Check out this podcast if you want to know more on how HP and Microsoft plan to expand the HPC market beyond the niche it is today.