Microsoft Files For 3 Parallel Processing Patents
theodp writes "Microsoft may have been a Johnny-come-lately when it comes to parallel programming, but that's not stopping the software giant from trying to patent it. This week, the USPTO revealed that Microsoft has three additional parallel-processing patents pending — 1. Partitioning and Repartitioning for Data Parallel Operations, 2. Data Parallel Searching, and 3. Data Parallel Production and Consumption. Informing the USPTO that 'Software programs have been written to run sequentially since the beginning days of software development,' Microsoft adds there's been a '[recent] shift away from sequential execution toward parallel execution.' Before they grant the patents, let's hope the USPTO gets a second opinion on the novelty of Microsoft's parallel-processing patent claims."
I can't imagine anyone making a living off of reading software patents. Every time I read them, I think to myself, "whoever those patent examiners are, they are not getting paid enough." The only way you could enjoy writing those things is if you liked giving people pain, and were dreaming of how much you actually were going to hurt the poor examiner.
After reading through the claims in the third patent, I honestly can't see how it is different than the producer/consumer program I wrote my Junior year. They seem to imply that it might be applied to a database, but I couldn't find where it actually specified it (of course the pain of what I was doing somewhat distracted me). Can anyone else see anything in there that is different?
The first patent looks kind of interesting, inasmuch as it seems like they are applying it to a database, and I know of no database that actually does a single query in parallel, but I'm not sure it would be any more efficient, because there is only one disk. Having two threads isn't going to speed anything up there, and might actually cause the disk to thrash.
Qxe4
"Try programming in linux for one day and then throw parallel processing into it. then throw in some data."
Funny, but I do this every day. Say, does Windows support zero-copy Infiniband links? How about MPI performance? How about fire&forget clustered processes?
Strange I was just researching MapReduce online when this slashdot posting appeared.
http://www.cs.vu.nl/~ralf/MapReduce/paper.pdf
http://cnx.org/content/m20644/latest/
http://en.wikipedia.org/wiki/MapReduce
http://en.wikipedia.org/wiki/Google_File_System
Patent examiners need to get their heads examined.
Patents, a strange concept anyhow to have a government imposed monopoly. Revoke your governments power to have patents. That should take care of the pesky problem. Prior art helps too.
PureMPI is _slow_, it's managed and it can't work with raw links.
Windows does _not_ support process migration, clustering services is a different beast (comparable to JBoss Clustering - http://www.jboss.org/jbossclustering/ ).
Also, Windows has no good clustered filesystems (like OCFS2 in Linux). And no analogs of DRBD.
So you can use Windows for parallel processing, but Linux is almost(?) always better for HPC.