Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Allerdings ändert das Alles auch nichts daran, dass Cell nunmal Schrott, oder noch besser: Kot ist ... und was für einer ...![]()
Cell Programming Issues
One article had suggested that some developers had found the performance of both the Cell and the XBox360’s processors to be low. This article was highly controversial and the original was removed but that didn’t stop it spreading, [Comment] . It appears the developers have taken some decidedly single threaded game code and ran it on pre-preproduction hardware with a processor optimised for multi-threading and stream processing (most likely with an immature compiler). That the performance wasn’t what they expected is not so much news as blindingly obvious. Of course the more cynical might suggest that’s exactly what these developers expected...
Getting the full potential from a Cell will be more difficult than programming a single threaded PC application. Multiple execution threads will be necessary as will careful choice of algorithms and data flow control.
There are not exactly new problems and solutions have long existed to them. Multiprocessor or even uni-processor servers have been doing this sort for thing for donkey’s years. It’s all old hat to BeOS programmers and many other programmers for that fact. You will likely see technologies appearing from other areas (e.g. application servers) which take the pain out of thread management.
The same will also happen to the PC in time so they’re not going to get off lightly. The problems that need to be solved for programming a Cell are exactly the same problems that need to be solved for programming a multi-core PC processor.
The types of algorithms which a Cell will be bad at are the very same algorithms that a PC processor is bad at. Any algorithm which reads data from memory in a non-linear manner will cause your CPU to twiddle its thumbs as it sits waiting for the relevant memory to get pulled in, such algorithms are also likely to cause cache thrashing so it won’t help much. Branch prediction is not much use either as it works on instructions, not data.
Cell will suffer here (possibly more so) but smart programmers can do tricks like splitting data into blocks and reading all the relevant data into the SPE’s local memories in one go, this will make algorithms on which the Cell is supposedly bad, vastly quicker. The SPEs can communicate internally and read from each others local stores, if all SPEs are used for this nearly 2 MB can conceivably be used at once. This will not be possible on a PC as cache works in a completely different way.
The Cell also supports stream processing via the local stores, this can drastically reduce the need to go to memory and they will perform best in this configuration. The Xenon has special cache modifications (locking cache sets) to allow streaming but PC CPUs appear to have no direct way to support this currently.
SPE Performance Issues
For the PPE to get round its issues it just needs software to be compiled for it with a decent compiler. With the SPEs the issues are more complex as they are more optimised for specific types of code. As with the PPE there is no OOO hardware so the compiler is again important, but with 128 registers there’s plenty of room to unroll loops. Scalar (i.e. single operation) processing can work, the SPEs were really designed for vector processing and will perform best (and considerably faster) when doing vector operations.
To get full use of an SPE the algorithm in use and at least some of the data needs to fit in a local store. Anything which deals with chunks of data which fits entirely into the local stores should pretty much go like a bat out of hell.
All CPUs are held back by memory accesses, these can take hundreds of cycles leaving the CPU sitting there doing nothing for long periods. A processor will only run as fast as it can get data to process. If the data is held in a low latency local memory getting data is not going to be a problem. It is in conditions like these that the individual SEPs may approach their theoretical maximum processing speed. !!!!!!!!!!
Programs which need to access external memory can move data to and from the local stores but there are restrictions in that transfers need to be properly aligned and should be in chunks of 128 Bytes (transfers can be smaller but there’s no point as it’s designed to handle 128 Bytes). Additionally, due to there being multiple processors in a Cell the memory access is shared so access requests need to be put in a queue. Scheduling memory access early will be important for maximising memory throughput.
While conventional CPUs try to hide memory access with caches, the SPEs puts it under the control of the programmer / compiler. This adds complexity, but not all view compiler controlled memory access to be a hindrance:
“ An argument has been growing that processor instructions sets are just broken because they hide ‘memory’ (now in truth L2 cache) from ‘I/O’ (better known as memory) and the speed differences are now so huge that software can manage this better than hardware guesswork. ” - Alan Cox [AC]
The SPEs are dual issue but only a single calculation instruction can be issued per cycle. Clever compilers may make use of vector processing as it should be possible to schedule multiple scalar operations in a single vector operation if they are the same.
The PPE does have some branch prediction hardware but the SPE has none. To get around this the SPE includes a “branch hint” instruction which the compiler can use. In addition to this in some cases instructions can be used which remove the need for branches altogether. Developers using GPUs for general purpose programming have more constraints than the SPEs and have developed techniques for reducing the costs of branches. It’s quite possible that at least some of these can be applied to SPE programs.
In the future, instead of having multiple discrete computers you'll have multiple computers acting as a single system. Upgrading will not mean replacing an old system anymore, it'll mean enhancing it. What's more your "computer" may in reality also include your PDA, TV, printer and Camcorder all co-operating and acting as one. The network will quite literally be the computer.
Conclusion
The rule in the PC world has always been “evolution not revolution”, often simply incorporating features from other platforms. The changes are incremental and produce incremental performance boosts.
Cell is a revolution, a completely new microprocessor architecture which, while it may take some time to get used to, promises a vast performance boost over today’s systems. GPUs can already run 10 times faster than desktop CPUs, Cell will not only bring similar performance but will do so for more applications and it’ll be easier to program.
Being produced in large volumes also means the Cell will be cheap. They will likely see wide spread not just in living rooms but but in the realm of industry and science as well. The embedded world is much, much larger than the PC world and often imposes stringent constraints on the components used, the same sort of constraints the Cell has been designed for.
Some have suggested that STI should have gone for a more conventional design such as three PowerPC 970s on a single chip. Such a design would not have addressed the power issues and would, as a result have to of been driven at a relatively low clock rate. Instead, by using simpler designs which use vectors the Cell designers have managed to fit 9 cores on a single chip at a higher clock speed, the potential performance is consequently considerably higher.
The Cell is a new architecture and will seem strange and alien to many used to rather more conventional desktop designs. In order to utilise it properly programers will have face new problems and devise new ways of solving them. It remains to be seen how much of the Cell’s potential can be achieved and how difficult it is to extract it, but it’s clear that STI are trying to make this as painless as possible.
Many people do not like change, to them Cell represents a threat. For others it represents an opportunity.
Lets see how many take the opportunity, and what other opportunities the other CPU vendors come up with in response.
Ich bitte dahingehend besonders den Satz mit den vielen Ausrufezeichen in Hinblick auf die Speicherarchitektur der PS3 zu berücksichtigen.
So, jetzt frage ich Dich als Zocker ob Du darauf Bock hast, zu pokern, ob Deine Lieblingssoftwarehersteller damit zurecht kommt oder nicht. Cell CPU ist Pokerspiel, gerade deshalb, weil er in vielerlei Hinsicht vollkommen neuartig zu programmieren ist, als herkömmliche Prozessorenarchitektur.
Eins jedenfalls ist sicher:
Es wird niemals so ein riesiger Aufwand betrieben werden und jeder Spielesource auf den Cell maßgeschneidert werden!
Heute 19:14
So, jetzt frage ich Dich als Zocker ob Du darauf Bock hast, zu pokern, ob Deine Lieblingssoftwarehersteller damit zurecht kommt oder nicht. Cell CPU ist Pokerspiel, gerade deshalb, weil er in vielerlei Hinsicht vollkommen neuartig zu programmieren ist, als herkömmliche Prozessorenarchitektur.
Eins jedenfalls ist sicher:
Es wird niemals so ein riesiger Aufwand betrieben werden und jeder Spielesource auf den Cell maßgeschneidert werden!
@TheVoice:
Ich hab natürlich keine Ahnung von Computer- und Konsolenhardware im Allgemeinen, schließlich schreib ich ja nur gerade ne Doktorarbeit über KI und hab selber schon oft Hand an PS3 Devkits gelegt - das muss aber nicht heißen, dass ich wüßte wovon ich rede
schließlich bist Du ja sowas wie der "Schutzheilige aller Coding Cracks" und wir können alle noch soviel von Dir lernen![]()
Es bewahrheitet sich eben genau das angesprochene Problem: Die Fraktion der Sonyfanatiker fühlt sich durch meinen Beitrag auf den Plan gerufen und heiligt mit schäumenden Mündern die PS3 als Stern am Konsolenhimmel - wie absehbar![]()
Lass Dir aber zum Schluss versichert sein, dass die Antwort "Cell ist Schrott" immer dann überwiegen wird, sobald Du Leute danach fragst, die Ahnung von Konsolenhardware haben!
schließlich bist Du ja sowas wie der "Schutzheilige aller Coding Cracks" und wir können alle noch soviel von Dir lernen![]()
Abgesehen davon habe ich schon ein paar Beiträge weiter oben darauf hingewiesen, dass ich keine Ahnung habe *lol*![]()
Meine Güte, das ist doch nicht Dein Ernst oder? "Wieviel Kohle kostet es" - jedenfalls genug, um unrentabel zu sein
Stell Dir einfach vor, dass die Zyklen der First zu Second Generation Games ungefähr doppelt bis dreimal so lang sein werden ...
Kennst Du Fight Club ? Die Szene in der Edward Norton im Kongressraum sitzt und sein Boss ihn dumm anmachtSpar dir in Zukunft solche Sprüche.
Der Cell ist als Technikstudie ein genialer Prozessor, keine Frage. Gut aufgehoben in Forschungslabors der Nasa, etc. ... Aber wir reden von einer Spielekonsole und sterblichen Programmiererteams, die idR auf bewährte Entwicklertools zurückgreifen. Und RISC Prozessor der PS2 ist kaum vergleichbar mit Cell Architektur ...
Abgesehen davon habe ich schon ein paar Beiträge weiter oben darauf hingewiesen, dass ich keine Ahnung habe *lol*![]()
Der Punkt ist, dass ich gar nichts mussFerner wußte ich eh, dass es so ausgehen wird, aber egal ...
Die Zukunft wirds zeigen ...