In The Works: Windows For Supercomputers
Robert Accettura writes "According to ZDNet, Microsoft may be feeling threatened by Linux gaining ground in the High Performance Computing (HPC) arena. As a result, they have formed a HPC group to bring windows to these systems. It makes a mention of how clustered computing may be a target. I guess the only thing better than crashing 1 computer at a time is crashing an entire room full at once."
Is it just me or does the notion of a GUI on high performance computers sound at bit pointless. I thought the point of HPC was to crunch masses of numbers - not something joe average will want to do any time soon. So what's the point of a pretty (and resource hungry) windows interface?
Coincidence? Of course not, this has been a strategy since the days of BASIC. Microsoft copies all the good ideas. Of course, it makes a bad and buggy copy, but, hey, that's what a marketing dept is here for, right?
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
All we need now is a BSOD joke and I'd swear that everytime I read Slashdot it induces a timewarp back to 1998.
Avantslash - View Slashdot cleanly on your mobile phone.
This action from Microsoft is proof positive that they are taking notice of the recent accomplishments of Linux and are trying to counter them with strides of their own in areas that are not their specialty. If nothing else then this is positive for everyone because not only will Linux continue to improve and develop on its own but now both MS and Linux will develop to compete with one another making the overall user computer using experience better for everyone involved. I know everything MS does is looked down upon by the /. majority but this really should be seen as "a good thing".
Please do not let scientific accuracy interfere with the intended humourous/interesting/insightful value of this comment
The same as ever - whenever Windows is mentioned, lots of wisecracks about crashing is posted. Did you imagine they'd port Win95 or Win3.11 to HPC? Duh. They'll port something like WinXP or W2K3, and guess what - those are quite stable OS'es. Of course you CAN make them unstable, but that goes for PenguinWare as well...
Ah well, I better put on my flamesafe suit - I forgot to criticize Microsoft...
Black holes are where God divided by zero
Why in the world would someone want to run a bloated GUI based operating system on hardwared designed specifically to provide services (servers) to it's customers? Unix is great in this aspect as (at least for the most part) running xdm and serving up a graphical interface was intended primarily for end users requiring execution of applications in multiple windows. Unix servers used to NOT run xdm (or any graphical engine) for the purpose of streamlining and providing efficiency and better utilization of system resources. Windows (even in the current Win2003) is far too large for use in a high performance computing environment. Bill my man ... get a clue ... windows isn't for everything!
If you run Windows on a 1000-node supercomputer, do you need a volume license? Also, MS will probably ask for a per-user license for running Office...
I find it naturally that MS tries its luck in the HPC world, but windows surely does not fit the bill.
Thomas S. Iversen
That's what industry standards are for.
You could just as easily make the argument, 'Standard Oil was good for the world because it standardised the chemical mix of oil, so everyone can expect the same lead content etc'. But of course, in every industry which is not monopolistic (while it may be oligopolistic) the way to solve this problem is not through dictation from one company to everyone, but through consensus on industry standards.
That was the whole point of the Open Group and the (1 year too late) advent of CDE--you agree on a system of library interfaces, protocols, file formats that will form the basis of your open systems desktop, then you can have as many implementations by as many vendors (or open source people) as you want, and they're all compatible. What's more, they can all LOOK completely different if you want--but they all play the same way with the same software. So, you have competition and alternatives, but compatibility at the same time.
NEITHER Microsoft NOR open source people are doing this of course. It requires a commitment to following published standards, and a consensus around them in the industry. THAT is the way to achieve consistent desktops--not stifling competition and making everyone accept your particular implementation, but agreeing on ground rules for compatibility and following them.
Most supercomputer users aren't going to want to plonk down literally millions of dollars in software licences to Microsoft - they'd rather be spending this money on either plugging in more hardware or on building and refining their analysis engine.
What could MS conceivably offer that would counter this?
these numbers aren't surprising. seti is a volunteer project. with something like 85% of pcs in the world running windows (correct my figures if i'm wrong) you'd expect to see windows results dominating. as a side note, i'm not sure that seti is the best example of a /clustering/ application. as i recall, it's a grid application -- a different computation model.
Please man -
;)
get your facts straight.
First off, the whole GUI environment didn't originally come from Apple (Lisa, or anything else) - it came from Xerox PARC.
your second statement, is nothing but a very good business strategy. Give the users what they want.
your third statement - is unsupported. Do you really think that they JUST NOW started working on this?
and finally - your last statement - simple rebut: Oh yeah, I've never EVER come across any buggy Macintosh/Unix/Linux,(insert OS name here) etc. code. Bugs are natural - we are human, and make mistakes. But at least they do make efforts at patching/new version more often then not.
Ya know, nothings perfect. But no worries here. Your points are typical.
If I had a penny for everyone that bitched about the problems in the world, or in software and did anything about fixing them, I'd totally be a billionaire.
On the other hand, if I had a dollar for every time I saw someone go after a bug and try and fix it, I'd be near broke.
Thanks for the penny.
Well, I guess it's time for everybody else to abandon this space, because Microsoft has it all covered.
Well I agree with you. I do think it more likely that Microsoft would at the very least turn off the graphical part of Windows, remove it completely, or possibly re-write it from scratch.
What I really don't understand is why it would be necessary or smart to brand such a product as Windows at all. Windows means graphical user interface, and the way it's presented ties quite closely to desktop use. It definitely doesn't mean the remote administration that's likely to be required for an HPC, and trying to remotely administer a Windows box is usually quite clumsy compared with a unix box unless you drop a lot of the traditional Windows UI stuff that's often so tied into its operation.
When I think of Windows, and I don't think I'm alone, one of the first impressions that comes to mind is a relatively klunky monolithic GUI-dependant operating system that spends a lot of time drawing pretty front-end pictures. This almost certainly isn't an accurate picture of what's actually happening all the time and it's not to say that Windows couldn't be adjusted to work in other ways. But it's a first impression.
You can at least argue that the graphical side of things is good for usability on the desktop (even though usability realistically takes a lot more than pretty pictures), but why on earth would Microsoft want to continue that image into an HPC market? Surely they have completely different customers in that market with different goals that likely don't include chewing processor time on pretty pictures for the UI.
To me at least, it'd make much more sense for Microsoft to simply create a new operating system here from scratch (or buy a company or whatever they do), and call it something that's not Windows. It could be Microsoft HPC Server, for instance, and be completely independent from Windows. Microsoft can then claim that their new OS specialises in HPC tasks, and it'll also give them an independent OS product to push in the future if either it or MS Windows collapses.
The kernel doesn't necessarily need a GUI. However, as it stands, there's an awful lot on Windows that cannot be done on the command line and must be done on the GUI. For example, with the standard Windows install, it is not possible to change the computer name from the command line without downloading a utility to allow you to do it. It is not possible to kill a process from the command line without getting a Resource Kit utility from Microsoft. It is not possible to add or remove a network service (not a system service - I'm talking about the services you add in the network connection control panel, things like file and print sharing services) and after days of Googling I've still not found a way of installing or uninstalling one of these services using the command line.
Windows is fine as a desktop OS (even if issues like this make automated rollouts a bear) but is inappropriate for the server since there are so many things that can only be done trivially through the GUI.
Oolite: Elite-like game. For Mac, Linux and Windows
Or minesweeper for that matter? Honestly, I wondered when this day would come. I knew Microsoft was embarrassed that Linux is taking HPC by storm and ruling the roost in clustering. Meanwhile, Microsoft makes no showing at all in HPC and a relatively poor one in clustering.
Now, does it make sense for Microsoft to try to be first in everything? No. Will they try like some sort of neurotic overachiever? Yes. They can't win this one on merit, though, unless they open the source code, eliminate licensing fees, and ditch the GUI and tons of other crap they force into every installation. Only bribery, PHBs or sheer Microsoft cheerleading would get someone to pay to load Windows Server 2003 on a HPC cluster. There are people that dumb, but few of them are scientists.
Windows has come a long way since you knew you'd see the blue screen of death twice before lunch. On decent hardware it's very stable.
Denying the current stability of Windows is no different than Bill and Co. denying the stability and power of Linux. It's pointless and it makes you look out of touch.
Agile Artisans
I've seen several /.ers mention that a GUI O/S is not the right front end for an HPC platform. And that HPC platforms are custom-built for specific data crunching applications. I agree.
Unfortunately, as monolithic as Microsoft is, they can't possibly have the resources to implement custom operating systems and applications in the HPC arena and create a monopoly as they did in the retail world. Microsoft is good as the "one size fits all, weekend-warrior, x86" computer installations. (Kinda like McDonalds gives you a nice, unoffensive, generic burger.)
IMO - these non-MS-dominated platforms are where Linux and other OSS initiatives have a real opportunity. Linux can be tailored exactly for the application at hand. If you have the source code and a savvy coder and sysadmin, you can custom build your environment, not waste $$ or CPU cycles.
It's become obvious to me that Microsoft represents commercialized retail-sector computing. The good thing for us is that custom implementations are still required and may in fact be making a comeback. Maybe people are starting to realize that Microsoft is not a be all end all. And in fact, are hindering innovation as much or more than they seem to promote it.
The pendulum swings in both directions people, I for one am holding my breath for it to swing back to decentralized, custom implementations.
Works for me, and hundreds of thousands of others.
Looks can be deceiving. Or CAN they?
A lot of people seem to be concentrating on the "windows crashes a lot" idea. That's not quite a fair judgement of windows anymore. The only time I've had problems with Windows 2000 and above is poorly written drivers, or anti-virus software. As long as you choose hardware with proven drivers and don't run anti-virus software (firewall it and run minimal services and no IE) Windows should be very stable.
With that said, I think there's other problems with windows as a supercomputing cluster. The first I can think of is lack of a low-bandwidth interface. Linux you can ssh into and get results, control processes, etc. Windows requires a high bandwidth terminal services. In other words it's harder to control remotely.
Other people have brought up the licensing costs, but I'm sure MS would offer huge deals just to get their foot in the door.
I think the biggest problem is just historical and cultural though. The scientific community has a 30 year history with Unix, is familiar with programming in that environment, and has a lot of legacy code that's written for it. They just aren't going to take to a windows environment easily at all.
AccountKiller
Somebody tell this guys that millions of computers transformed to spam relays doesn't cout as HPC.
Mods, remember the guidelines! Try to be positive! Don't go on powertrips and using all your points to mod people down. If you don't feel like modding someone up, just don't mod them. You're destroying the community! There's too much negativity here!
The problem is this. Some people, like yourself, have no problems with Windows, and it works great. Some people, like my girlfriend, have Windows installations that crash all the time. So yes, Windows can be perfectly stable, if you're lucky. (I should also point out that shutting the machine down at night shouldn't count; decent computers have sleep modes and never have to be rebooted just to make them stop using electricity.)
With Linux or OS X or whatever, you don't have this kind of inconsistency. Basically everybody who uses them, ignoring people who run experimental kernels or unsupported drivers, never has them crash, even when the computers are up for months at a time. You don't have to be lucky or do anything special. Yes, Windows is better, but it still has a long way to go. When my girlfriend's PC stops crashing a couple of times a week (running XP) then I'll reconsider.
Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
It seems that most people here don't know the following:
There is already a kind of high performance Windows server - it's called Windows 2000 Datacentre, it runs on boxes like the HP superdome mainly for bigassed databases. In general these servers are treated like mainframes - they aren't rebooted - they don't need to be!
You don't need to have direct access to the GUI of a windows box in order to use it. Usually you connect using an RDP client, a la X server.
Even mainframes have a local console and these are offen GUI in nature, it doesn't mean that the machines are slow.
Please stop this mindless microsoft bashing - bash them if they deserve it, but as this product isn't available yet, it seems a bit premature to slag it off.
...I install HPC Windows. We run a few SGIs, our biggest being the SGI Origin 3000. We'll probably shift to either a Linux Beowulf cluster or Apple G5 Xserve cluster in the future, since the type of problems we need to solve don't typically need a single image machine using ccNUMA. I doubt Microsoft will be coming up with anything that will be able to run as a large single image for some time now and by then the competition would have moved forward even more. This is Windows HPC Vaporware so competitors will waste time and divide their resources trying to be Windows HPC compatible on their hardware. They did it with Windows NT in the beginning when they supported MIPS, PowerPC, Alpha.... The best strategy would be to ignore Windows HPC, but I know there is a gullible hardware manufacturer born everyday that will buy into Microsoft's sales pitch.
Sure, there are x86 clusters. But there are also an awful lot of IBM supercomputers using Power chips, HP supercomputers using PA-RISC, heck even Apple clusters using PowerPC, SGI machines, Sun supercomputer nodes, and so on. There are a large number of strange and mysterious chips built explicitly for supercomputing that would never be seen in any other kind of use. There are also a large number o different interconnect technologies.
Since Windows is a closed source operating system, are Microsoft volunteering to port Windows HPC to whatever architecture you happen to come up with? What about the bugs that occur when they write this port? How long is it going to take to get Windows stable on an unusual architecture if only Microsoft can change the source but only you can do the testing?
At least with a custom kernel or Linux you can work on the system yourself until it's up and running, and if you're in the business of installing and running clusters/supercomputer, you can probably afford to pay programmers to write an operating system for nodes in that cluster/supercomputer.
Last I heard, the Windows NT 5.x kernel (2000, XP, 2003) was not even endian-clean any more, let alone portable to RISC or VLIW architectures. Why do you think it's has taken Microsoft so long to port to x86-64 and Itanium?
Or are Microsoft going to "mandate" that we use x86 processors for all our cluster needs in the future?
Not to fan the flames, but get real. I run a homebrew GNU/Linux box (still a 2.4 kernel, I'm lazy) at home, and XP at work. At work I can get almost a week out of a boot before Windows chokes on itself and needs to restart. At home, the local power grid and my lack of a UPS determines how often I restart.
Sure, Win2000 and XP are more stable than 95/98 or the travesty that was ME. So it has "come a long way". But let's not be silly and try to call it as stable as GNU/Linux. One crash a week, hell, even if it were once every six months, still seems pretty unstable to me. If that's an "out of touch" point of view, so be it. An OS shouldn't just decide it's had enough and flake out; I don't care how long it's been running.
Anywho, clustering something even the tiniest bit unstable just seems like a funny idea to me. We've all seen Windows behavior when too much stuff is open or a flaky driver has impaired its ability to operate, things gradually failing, the cursor suddenly trapped in just a portion of the screen, swap thrashing as though it were a sign of the apocolypse... The mental picture of racks and racks full of convulsing, imploding Windows boxen when somebody fires up the wrong version of Quicktime is just priceless.
OK, I stand corrected on the tasklist.exe/taskkill.exe utilities. The main thrust of my point still stands - there are many things that are trivial to do on an SSH session on many non-Windows operating systems that can only be done via the GUI on Windows, such as the aforementioned network service installation/configuration (netsh won't do it, unfortunately - I thought I was onto a solution by using netsh dump to save the settings in a text file, but it's about the only part of the configuration it seems *unable* to be able to manipulate).
For changing the computer name you must either write your own program to do it in C or VB, or download a utility to do it. Same goes for adding things like new network adapters - you need to use separate tools that come with a Microsoft resource kit. These are things that should be trivially possible from the command line in a default install, but they don't even come with Windows Server 2003 let alone XP Pro.
Then, another issue for servers. If you're writing a program that takes input from multiple sources - let's say, a socket, a named pipe, and a serial port, and some weird USB device. To process data on these three streams you must have different code to handle and dispatch input on each one - select() for sockets, PeekNamedPipe for named pipes, WaitCommEvent for serial ports, and probably some vendor specific thingy if you've got some custom USB device. On proper server operating systems, the API is consistent enough that all this input is presented in the same way and you can use select() for all four streams, reducing the complexity of your server program and therefore the possibility of bugs, and cutting out the need for four threads (and the potential race conditions if you make a programming error) and only needing a single thread to look for stuff happening. It's as if the people writing different parts of Windows didn't talk to each other when doing it, and each had to independently come up with a new way of doing it. There are other examples where the API could have been made much simpler and more consistent.
Since the original version of NT was incompatible with DOS anyway, and DOS had to be emulated, Microsoft could have swept away all the cruft when they made NT - but instead they insisted on making something even more kludgy. Don't even get me started on the NT GINA (I had to write one) and the appalling lack of documentation. We had a very expensive (ca. $40,000 US) support contract with Microsoft so we could get support when writing our GINA (we had to write a total replacement due to the nature of the system we were contracted to build). We ended up talking one to one with NT developers - but guess what, the person who'd written this stuff had since left and it was more or less undocumented even inside Microsoft. We ended up having to almost reverse-engineer the MS GINA to find out what was going on to make our GINA set the right stuff on login.
I'm sorry, but when faced with stuff like this, all I can conclude is Windows isn't designed or meant to be a server OS, regardless of how Microsoft markets it. It's fine as a desktop OS (I use it on the desktop daily) but that's where it should stay. A Macintosh, the quintessential desktop system, has an OS more suitable for servers these days.
Oolite: Elite-like game. For Mac, Linux and Windows
Perhaps Microsoft should form a group of people to work on changes necessary to Windows to get it to run on HPC?
Oh, right... that's what this fucking slashdot article is about.
Ironically, the word ironically is often used incorrectly.
The problem is this. Some people, like yourself, have no problems with Windows, and it works great. Some people, like my girlfriend, have Windows installations that crash all the time. So yes, Windows can be perfectly stable, if you're lucky. (I should also point out that shutting the machine down at night shouldn't count; decent computers have sleep modes and never have to be rebooted just to make them stop using electricity.)
With Linux or OS X or whatever, you don't have this kind of inconsistency. Basically everybody who uses them, ignoring people who run experimental kernels or unsupported drivers, never has them crash, even when the computers are up for months at a time. You don't have to be lucky or do anything special. Yes, Windows is better, but it still has a long way to go. When my girlfriend's PC stops crashing a couple of times a week (running XP) then I'll reconsider.
I think it has more to do with the quality of the hardware than windows itself. On my old compaq computer, windows crashed all the time. On the machine that I built, windows is very stable. The difference is that I know what hardware is in the case and I trusted the hardware before I put it in.
Both XFree86 and KDE were unstable on my old compaq machine as well. I had no problems with the kernal though.
OS X is built to run on Apple's hardware so they don't have to worry as much about 3rd party hardware. Most all Linux users that I know build their own machines and know what hardware is supported by linux and what is not.
I may be off here but that is my take on it.
Not everything is analogous to cars. Car analogies rarely work.
Whenever MS makes something it tends to become commonplace and easy to use. If they make windows able to run as a beowulf-like cluster, there'll be thousands of new developers with a reason and platform to make clustered applications for.
Imagine getting a bunch of windows applications behaving like Apples X-code, automatically offloading heavy work to available units on the net - you could give that third overspecced laptop in two years to the PHB, not with a tear in the eye but a grin, knowing that it will spend 80% of its cycles compiling your code instead of running a screensaver.
Imagine being able to share CPU resources from a machine like you share a folder, and being able to immediately use that power for your compiler, database, renderer or whatever?
That would just rock IMHO, no matter who makes it happen.
It is a bit sad, to see all of you slashdotters bashing MS.
;)
Haven't you learned it yet.
Rule#1 NEVER, BUT NEVER underestimate your enemy!
Rule#2 Know your enemy!
MS actualy won most of the ground against Novell in the user access resource sharing space
MS actualy won lots of gound against the formal SQL servers
whereas they had a shaky beginging, they nearly killed all their competitors.
think about it!
1. they laught at us
2. they fear us
3. they fight us
4. and then the victory is complete.
it doesn't just apply to Linux or the opensource community. so stop laughting and get your keyboard cracking to make HPC possible that with a few clicks.
Then you can laught for a while that MS wasted lots of money to develope something to slow.
Klanglor
PS: if you read the zdnet article, MS is plaing to use the unharnest capacity from its desktop with one server to load balance it.
PPS: equaly, MS can win the server, OS can win the client.
PPPS: get your keyboard cracking!
You boot up in the morning and shutdown at night. Hence you don't notice any of the problems Windows has when running for longer periods of time. Super-computer applications run for months -- you don't get to boot the super-computer every morning. Try not turning your machine off for a whole month and see how stable Windows is.
Yeah, and supercomputing facilties tend to have a lot of it.
Especially if you have old or weird hardware, e.g. an Aureal sound card.
I have had entire clusters go down due to OS error.
As a Linux advocate I would appreciate it if we could all just focus on promoting Linux rather than putting down other operating systems. Constant attacks against Windows are completely unnecessary; attacks against Linux from MS are necessary for them because that is SOP for MS, but two evils do not make a good. We don't have to be like them. We don't have to use FUD as a tactic.
I don't even understand why this article has been posted here in the first place. The only possible reactions it could have drawn given the context are fear and loathing. If the audience response is predictably going to be overwhelmingly negative, why post in the first place? Is the posting of this sort of article equivalent to an Orwellian "2 minutes hate" session? Was any constructive discussion expected?
The plural of "anecdotal" is not "data".
Umm.. uh. Where did I get into the whole rant about the failings of linux? I'm talking about the possibility of building a supercomputer that runs Windows, not about linux vs windows. Try to keep your criticisms based upon what is said, not on what you imagine.
AccountKiller
Windows could be *much* better than it is, but Linux is not exactly a stirring alternative. I've always found it clunky and unstable (if the application you want to use is throwing segfaults all over the place but doesn't crash the OS that really doesn't make me feel any better - "oh, well. I can't run KDevelop but at least I can sit here and admire the desktop! Linux rocks!")
The problem is that most people who praise Linux as a superior choice are mostly looking at things that the average user (and indeed, most people who use computers) could care less about.
I hope Linux gains more market share in the desktop. If nothing else it will pressure Microsoft to make Windows even better than it is today.