[Cbe-oss-dev] gang scheduling

Arnd Bergmann arnd at arndb.de
Wed Feb 28 23:31:01 EST 2007


On Wednesday 28 February 2007, Eric Blossom wrote:
> Where does "gang scheduling" fit in all of this?
> 
> We're looking at using direct SPE -> SPE DMA for part of our GNU Radio
> port to the cell.  Is there something I have to do to ensure that when
> my code is scheduled, it's really scheduled across all of it's
> logically assigned SPEs?

Gang scheduling is something we have been planning to do for a long time,
but it's not in this code yet. The interfaces for it are in the code
though. The idea is that you create a gang directory in spufs and then
have contexts created inside of it instead of the root of the spufs
mount point. When the gang scheduling code is in place, the kernel
will take care of scheduling them all simultaneously.

Note that the hope is that in many cases that won't even be necessary.
An application that simply accesses other SPEs as if they were there
should work the same without gang scheduling, but some operations
obviously will be significantly slower. Accessing local store memory
of a sleeping thread has a higher latency because it resides in
main memory and accessing mailbox or signal notification registers
will block the current thread until the SPE you access becomes running.

	Arnd <><



More information about the cbe-oss-dev mailing list