[Cbe-oss-dev] MARS on Cell blades ? Cell image / video codecs?

Yuji Mano yuji.mano at am.sony.com
Fri May 29 05:02:49 EST 2009


Werner Armingeon wrote:
> - Are there more applications using MARS as a framework for Cell 
> accelerated algorithms?

Unfortunately none that I'm aware of.

> - Did someone use MARS on Cell blades with 2 Cell processors?

MARS has support for NUMA and can be used on Cell blades just like on PS3.
You can run the samples and test suite within MARS on the Cell blades just
as you would on the PS3.

> - Is MARS a good choice as a framework for applications targeted for 
> Cell blades?

I think one of the key benefits of MARS is that it provides APIs to easily
write SPE programs (tasks) that are scheduled on to available SPEs without
the user needing to manage the scheduling.

As the MARS documentation describes, it takes an SPE-centric approach of
scheduling, where each SPE has a resident scheduling micro-kernel pulling
in workloads from shared memory without the PPE's assistance.

Of course it is possible to create something similar by just using the
underlying libspe and creating your own spe_contexts and make it more
efficient by avoiding the overhead of MARS.

As noted in the documentation, MARS may only show benefits when you have
a system where you create many more spe_contexts than there are physical
SPUs available. The main point of MARS is that it avoids the spe_context
switching by using its own light-weight context switching.

> My special interest are applications / libraries with image / video 
> compression algorithms showing hopefully on Cell a significant 
> performance gain compared to standard CPUs. To find somewhere an Cell 
> optimized 10 bit JPEG lossless codec would be fantastic, but even 
> standard 8 bit JPEG would be nice.

The more applications/libraries there are making use of MARS, the more
apparent the benefits of MARS may become.

For example, consider a scenario on Cell Linux where you maybe using SPEs
for both audio/video. Without MARS, if you have an image library using 6 
SPEs and also a video library trying to use 6 SPEs, the constant
spe_context switches may hinder the performance.

If using MARS, it would avoid the heavy spe_context switches and the MARS
kernel will schedule in both image tasks or video tasks as they get added
to the workload queue.

Regards,
Yuji




More information about the cbe-oss-dev mailing list