I'm pretty sure similar technologies are already used on Windows and Linux platforms. As I understand it, GCD creates ambiguity so a developer doesn't have to code for a specific number of processing cores or specific which core which thread runs on. They simply write a multi-threaded app and the OS decides which threads are executed by which core, and can move them from core to core as necessary. To my knowledge, this is already done in Windows and Linux and has been for some time.
Granted, I'm no expert and I haven't read about GCD in detail so I could be completely wrong.