Microsoft Finally up for Distributed Computing?
ReeprFlame writes "eWeek has reported overhearing Microsoft's plans to finally get into the distributed computing market. Considering that the Windows platform has never had the ability to parallel compute in the past, it leaves great potential to the company's operating system development. From current *nix systems we have today, such a grid proves very useful, especially in the serving arena. However, we are unsure of Microsoft's target for the software. Would it be an addition to home users computers as well as the server versions of Windows? As of now it is unclear, but Microsoft probably will bring this situation to life in the near future since it does hold alot of power for them over other platforms."
i always wondered why there's not an easy way to utilize all of the computers in a network to perform a task. Most of the computers on corporate networks are windows machines, and most of those are sitting idle 99% of the time. If there was a way to harness that power for something useful, like an oracle database, web hosting, mail hosting, etc, the whole network would not be bottlenecked by one overloaded server. Mosix kinda solves that problem, but on the linux-side only.
If someone wanted to make millions of dollars, build something like that for windows and charge minimally for it. Better do it before Microsoft does.
Why read the article when I can just make up a snap judgement?
While you're probably aware of grid computing from a perspective of "huge server farm at research organization X", I think the more practical use is corporations that often have 10s of thousands of extremely powerful workstations. These PCs are extraordinarily underused, and if there was some secure, reliable method of distribution processing across them (transaction calculations, actuarial processing, whatever) then that would be extremely valuable.
I have no idea what you are talking about when it comes to networking and security in NT, sure the WIN32 part is troublesome to keep secure, but NT in itself has no such problems.
Sow's ears and silk purses, etc.
Looking at the MSFT definition or clustering, they describe two kinds of clusters:
- network load balancing clusters ("[the type
..] that distributes and load balances network connections among servers, providing high availability and scalability for stateless TCP/IP applications and services.").
- server clusters ("[the type..] that the Cluster service implements. Server clusters are characterized by high availability.)
ObJoke: MSFT renamed "Wolfpack" to "Server Cluster API", probably because they were sick of people describing it as "two dogs fucking" (As in: two beasts stuck together, pulling in opposite directions and howling in pain).Note the explicit restriction to "stateless".
Note they mention availability but not performance.
Last time I checked, Windows in all its multifarious versions has no way to run a program in a sandbox, such that this program is incapable of DOS'ng the PC by opening tons of windows, file handles, memory blocks, processes, etc.... If the system isnt designed fromt he ground up to be compartmentalized, stable, and secure, IMHO there's little change of grafting all these qualities on a decade down the road.
Their "Real Application Performance" section starts off talking about how many gigaflops they get per cpu on a 4-way SMP Itanium box. This is distributed? The rest of the applications covered are at least distributed, with respectable scalability for 12 p2-300's networked with Myrinet. (Odd that elsewhere, they talk about what kind of hardware to use, and say that fast ethernet scales to 16 nodes depending on the application, I guess whatever they ran to get that graph wasn't one of those applications. There also appears to be nothing on the site about channel bonding for scaling networking capability up)
It's interesting to see there are companies other than microsoft providing distributed computing services (these people seem to favor Verari Systems' MPI/Pro, which seems to have a pretty nice range of features and runs on several platforms). I wonder if Microsoft's built-in offering will make them squeal about antitrust lawsuits.
You CAN run MPI (and PVM) on Windows. You can even run a processes that share cycles between a Windows and a Linux machine. MPI and PVM are both capable of working on a heterogenius network (though MPI didn't start out that way).
Yeah, I thought that was odd. There already are several distributed apps that run on Windows. People just usually don't do that because they don't want to pay for licenses for each node.
I think the point is that the GUI is running on those remote systems, whether you use it or not. And those GUI processes eat up memory and processor resources that would be better used to run whatever tasks are assigned to the cluster.
My Linux cluster runs an OS that is trimmed to something less than 32M on each node, leaving the rest of 256M RAM space for processes running on the node. Windows simply cannot match that.
In my cluster, each node is diskless. They all load a copy of the OS upon power on and run self-contained in RAM. Disk activity is mapped to a central server. Aside from the difficulties of booting Windows diskless (is it even possible?), the insane amount of disk activity that Windows requires would tie up communication resources that, again, would be better used by the processes that run on each node.
Economically, Windows makes no sense in a cluster environment either. Microsoft's insane licensing arrangements would cost me almost as much as the cluster itself cost just to run a copy of Windows on each node.
Now, let me ask you: Do you know anything about Windows?