[openbeos] Re: MIPS32 port for GSoC

  • From: Nicholas Blachford <nicholas@xxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Thu, 22 Mar 2007 01:07:18 +0000

Hello all,

I've been following Haiku from afar for quite some time as I can see big potential for it. I'm also very interested in the PS3 tech and developing for it (I've just set up a website for PS3 / Cell developers at www.ps3coderz.com ).

I recently began lurking on this list because I wanted to find out about progress and if any there was any interest in a PS3 port - I think the two could go very well together, I think it could prove to be a good, more friendly alternative to linux.

Regarding porting to Cell:
The initial port should not be that difficult as it is just a port to Power something which was started years ago (BTW did it ever get anywhere?).

The next stage is to add support for the SPEs, that will take more work but there is IBM's reference implementation to look at. If it can be made compatible with the existing implementation it'll be able to make use of the existing IBM libs and other software now being written.

The term DSP is often applied to the SPEs but this isn't correct, they may be similar to DSPs in some respects but unlike DSPs they are capable of anything you throw at them. You could probably run 99% of an OS on them, it's not a very good idea* but it could be done. I like to think of them as more like "tuned" general purpose processors.

*Actually that's not quite true - there are quite a few things in an OS which would benefit from vectorisation.

As for developing on the Cell, I don't think it's nearly as difficult as some seem to suggest - but I'll be finding this out for myself shortly!

What my be difficult is the change in mind set, Cell doesn't work the same way as other processors and involves a lot more "manual control" in order to get the best performance. As has now been shown on numerous occasions the additional work is rewarded with additional performance, in some cases much higher than you might expect - even for supposedly Cell unfriendly tasks. However only a tiny proportion of most apps needs high performance so this only applies to a relatively small proportion of code.

I have some ideas floating around for a PS3 Haiku distro, in the mean time I'll keep following developments...




On 20 Mar 2007, at 7:58 AM, FreeLists Mailing List Manager wrote:


Date: Mon, 19 Mar 2007 16:50:30 -0500
From: "Ben Allen" <ben.allen@xxxxxxxxx>
Subject: [openbeos] Re: MIPS32 port for GSoC

On 3/18/07, Jonas Sundström <jonas@xxxxxxxxxxx> wrote:

But I'd rather have resources spent on the Playstation3,
which is available, fascinating and potentially very powerful,
and also not that expensive if you can truly use its full potential.


As an electrical engineering grad student, we have talked about and studied the PS3's cell processor and system architecture, and the sheer power behind
it will make you drool.  The downside is that you can't really "port"
software to the cell processor in the same way that you can to a Sparc, ARM,
or MIPS architecture.

The cell processor has nine cores: one master core (derivative of a PowerPC chip) and eight specialized slave cores (with limited memory access and
functionality, for number crunching only).  If you can port Haiku to a
PowerPC architecture, you can get it working on a PS3 (Sony has a
development kit available that provides some drivers too), but you lose the true power of the cell processor. To really use the cell processor's power, you need to rewrite your code with the nine-core architecture in mind, which
is a programming paradigm shift that very few companies (and PS3 game
makers) fully comprehend. However, if some people wanted to re- write some of the media-oriented parts of Haiku (specifically encoders, decoders, and parts of the GameKit) to take advantage of the cell processor (and have the Haiku core running on just the PowerPC master core, which has been done with Linux), Haiku could easily be the "MediaOS" in a way that the Be developers only dreamed of. (Imagine being able to encode/decode multiple audio and video streams in near-real time with almost no load on the processor, encode a wav file to multiple compressed formats simultaneously and near- instantly, or have multiple processors dedicated to intensive gaming tasks such as
collision detection and particle motion calculation)

-Ben

--


Nicholas Blachford
www.ps3coderz.com
www.blachford.info
"Do not fear death, fear having not lived."



Other related posts: