[Cbe-oss-dev] Costs of the SPE Context Switch

Jeremy Kerr jk at ozlabs.org
Wed Jun 10 08:52:22 EST 2009


Hi Glenn,

> I have recently been familiarizing myself with the Cell architecture
> and I am interested the costs of SPE context switches on Linux.  The
> material I have found states that the cost of the context switch
> operation is relatively high (compared to a standard CPU) and is on
> the order of 20 microseconds.

I did some measurements last year and found that it was in the order of 
200us. However, that was a context switch for a basically idle SPE, so 
we didn't have to do some of the optional operations, like purge and 
save the DMA queue.

> The Cell BE Programming Handbook has a chapter (12) on the steps
> needed to carry out an SPE context switch.  I'd like to find
> benchmarks as fine-grained as possible (perhaps paralleling the
> Handbook's steps), but I would be happy with numbers characterizing
> the average costs of managing the SPE Local Store, Registers, and DMA
> queue.
>
> Does anyone know if such information is available?

I haven't heard of any numbers reported so far.

I wouldn't think this is too difficult; I'd suggest either:

 * running a context-switch-only workload and oprofiling the results; or
 * adding some trace points to switch.c and recording the hits

The best approach probably depends on what you're looking to do with the 
timing data.

Cheers,


Jeremy



More information about the cbe-oss-dev mailing list