There is simply some practical problems that can not be parallelied effectively, if algorithms depend on intermediate data you are SOL until that intermediate data is computed. It's not science fiction it's logicial impossibility. This whole parallel affliction
is one of the worst things to ever happen to the software industry. I don't think it's something that most software developers should have to worry about.