1. A method for scheduling tasks to be processed by one of a plurality of non-coherent processing devices, at least two of said plurality of non-coherent processing devices being heterogeneous devices and at least some of said tasks being targeted to a specific one of said plurality of non-coherent processing devices, said non-coherent processing devices processing data that is stored in local storage and in a memory accessible by at least some of said plurality of non-coherent processing devices said method comprising: for each of a plurality of non-dependent tasks to be processed by one of said non-coherent processing devices determining consistency operations required to be performed prior to processing said non-dependent task; performing said consistency operations for one of said non-dependent tasks and on completion issuing said task to said one of said non-coherent processing device for processing; performing consistency operations for a further non-dependent task such that on completion of said consistency operations said non-coherent processing device can process said further task.