GPUs have become more and more general purpose over the last decade. There has been a fair amount of recent research that has successfully ported unstructured and pointer-based algorithms (Breadth-first search and Andersen's points-to analysis are good examples) to GPU environments as well. Soon enough we should see more and more graph algorithms used in adaptive mesh refinement and social networking executed in a GPU environment as well.
Another step in this trend would involve even more complicated code structures such as compilers or even Operating Systems. To my knowledge there hasn't been much work done in this area (yet). Conventional wisdom tells us that lots of Operating System code (at least, the way things currently stand) is not suitable for a parallel environment because it is inherently serial, pointer-based, etc; however, we would have wrongly used a similar argument for an algorithm like BFS years ago.
I'm more interested as to whether or not implementing an Operating System or compiler is currently possible given the tools we currently have as opposed to why or why not it hasn't been (or won't be) done. I'd like to think it could be done, but would take tremendous algorithmic changes. Hopefully this generates a good discussion.
An extra, somewhat related, thought: Would support for precise exceptions be a particularly difficult roadblock for the operating system case?