Parallel Computing: Why the Future Is Non-Algorithmic
rebelscience.blogspot.com
rebelscience.blogspot.com
Well, it's too bad that none of these pesky algorithms can be logically decomposed into independent processes and run all at once. Like, say, every matrix multiplication ever done by a multi-pipelined GPU in the past 20 years.
This is really the worst sort of trolling. Every time I looked up from studying today, I feel like I read something after which I was stupider than before. I mean, just look at what's become of my grammar, if nothing else...
I've found that bad engineers detest threads, but good ones like them when they're appropriate for the task at hand. This is further evidence of that.
My question would be, is parallelism really the more frequent case? I mean if we take all the instructions in a program and analyse which ones are just accidentially sequential and which ones have to be sequential to be correct, would we have more parallel pairs or more squential pairs of instructions?
I believe we have more sequential pairs and that it'd be very cumbersome to default to parallelism. But there may be special cases where defaulting to parallelism is beneficial.
There's also a bunch of work been done (with pure-functional computations or languages, for example, as well as some weirder research work with imperative languages), examining the writing of programs with automatic parallelism, with sequential ordering only when explicitly requested.
However, there's a big difference between actual work and the stuff this guy is spouting.
I'm extremely wary of anyone promoting the next silver bullet for writing software. The Project COSA, http://www.rebelscience.org/Cosas/COSA.htm, that the author mentions sounds very complex, and I have no idea how using such a system would simplify writing code.
Greater parallelism in hardware is a fine goal. But it's madness to write programs for processors. If humans can't read it, then your program is crap. There are no exceptions.
We have these many processors. The task is not to make parallelism fit on a single chip. The task is to develop practices and languages that allow humans to write code for other humans, in such a way that programs also incidentally take advantage of the many (threaded, algorithmic) von Neuman machines that we have wired together in modern computers.
In just a few years, 8 or 16 (or more!) cores won't be a big deal. When you have 50 single-threaded cores, you have a different kind of computer than what we're used to today. We already have languages that take advantage of these features pretty well. They're not hugely popular yet, but they're also not being taught at universities, and we're not yet at a point where they're terribly necessary.
The COSA project is imaginary yak shaving of the worst sort. If he was half the hacker he claimed to be, he'd be writing programs instead of crackpot papers. Where is all the useful error-free software that COSA makes it so easy to create? Where's the web server he built with it, or the word processor? Hell, I'd be impressed with a 4-function calculator! Show me the goods, and I'll take it seriously. I'll even join the beta and play around with the stuff.
Until then, in my view, Savain is on par with the muttering bum at the bus stop.
http://bp3.blogger.com/_BXJTG_K68fU/SB6ibLP3ExI/AAAAAAAAAE0/...
Money always talks and no chicken-shit cult of propeller heads can stop that. LOL.
This blog post is full of misconceptions and appears to be written by an individual who has not sufficiently delved into algorithms, parallel computing, or operations research. Similar problem has been around for decades, such as controlling the flow of tasks on parallel factory assembly lines. Guess what helps us find near-optimal flows? That's right: algorithms.