Great article indeed. The author (John Rizzo) has outlined the difficulties along the possible Cell implementation by Apple, both from the Apple side ("porting" the software) and IBM side (customizing the chip). The point is:While the specs of the new chip are impressive, especially with its integrated support for virtualization and speedy video performance, analysts said differences between the Cell and the current PowerPC architectures will make any transition an unlikely prospect for the next few years.
It is hard to disagree with the arguments of the author. However, playing the optimist on this forum I would like to note that there is one week point there .
Let's assume that migration to the Cell requires 4-5 years. The author speculates that IBM may be trying to entice Apple to get involved. The reading of the article leaves the impression that this "convincing game" started around the time of the public introduction of the first Cell implementation this month. It is more logical to assume that the first round of it started 2-3 years ago. We don't know the outcome but it is safe to assume that Apple and IBM do have some definite short and medium term plans regarding Apple processors and some long term projections. We should be aware that the processor performance per clock cycle could be (or, to be more precise, IS) emulated long before the first silicon is ready. There is one BIG unknown at that point - the clock speed which will be achieved (well, and the challenges of the production process which contribute to the amount of the investments needed to get the processor out). So let's analyze the possibilities:
1. Apple was NOT
convinced (1.5 - 2 years ago). Steve decided to wait and see and stay with the G5 for the time being. Even if this is the case, Apple would make it's best to play safe (they had enough processor-related problems, didn't they?) and to keep an eye on the development of the project and to move the operating system in a way that will make it easier to adopt the Cell if needed (just in case). Even in this scenario it is not possible to answer the main question "Will Apple use Cell in future PowerMac". However, it puts the timeframe for the possible adoption at least 3-4 years away. Based on the information we have on Cell this is the safest bet. Under this scenario Apple will use the Cell ONLY
it gives a definite, measurable advantage over classic design. But Steve knows more about Cell than we do... IF the things we do not know are promising there are two more scenarios.
2. Apple was convinced and is preparing for the Cell. However, it is very unlikely tat Apple will use the version of the Cell which was presented this month. So let's move the 3rd scenario.
3. Apple was interested in the Cell's potential and discussed with IBM (1.5 - 2 years ago) the optimizations they need. Both companies started to work in this direction. The Apple version could include a Power Processor Element which is much more sophisticated than the one shown this month. It could be redesigned G5. The redesign most notably affected the bus and supplemental resources - the cache, registers etc. with the main core (with the instruction scheduling architecture) almost unaffected with multithreading and some power-saving enhancements added. Note that the size and transistor count of the current G5 suggests that to match the demonstrated version of Cell (in terms of size) you can add some 4 SPEs. This is much more effective solution (cost and performance) than use the Cell as a co-processor. The arrival of this new architecture is only 2 years away (tied to Longhorn release?).
So, we don't have internal information and we have to speculate on the publicly available information.
What we know:
1. Steve likes the idea of distributing OS tasks between different subsystems, and it looks like he likes it very much: NEXT boxes used DSPs, and now we have Quartz, Quartz Extreme, Core Image, Core Audio and Core Video - all capable to offload the main processor and to use other subsystem available. One specific aspect of Core Image implementation (may be it is similar in Core Audio and Core Video as well): When editing an image in Photoshop, all filters are applied to the entire image one after another. In Core Image different filters can be "chained" and to be applied to the image virtually "simultaniosly". This could be a good candidate for Cell's streaming capability. More on Core Data later.
2. Apple did NOTHING
to move Tiger to 64 bit architecture. Few low level patches, available in Panther as well, for those who need to use 64 bitness - but not available in Cocoa.
3. Apple is aggressively fighting for the living room. It's main consumer applications: iPhoto, iMovie, iTunes, iDVD, iChat AV, GarageBand, Keynote - with increasing efforts on interoperability between all the applications and the OS as well as media streaming capabilities.
4. No need to talk about the Apple pro applications, just to name them: Logic Pro, Motion, Final Cut Pro HD, DVD Studio Pro, Shake - all media related. Plus Xsan.
5. New OS features: OS-level support for Camera RAW format (Finder, Preview.app, we already have the iPhoto; supported by NSImage, CIImage. And who sad the iPhoto/Finder have to make previews of the images one by one?). Spotlight, Core Data - permanently running database engines. Core Data is based on the EOF (Enterprise Objects Framework) found in NEXT/WebObjects with the notable difference that it does not communicate with an external database but uses embedded database engine. A lot of the underlying technics of the Core Data (Faulting, Uniquing, Conflict Detection, Snapshotting) would benefit a lot from a multi-core architecture (dual-core, dual threaded G5/"conventional" G6 as well, for that matter).
May be there is room for the Cell after all!
P.S. Sorry for the long post!