ARCHIV 1999-2006

ARCHIV :: # 3790

XBox360 etc.

Die Zukunft der Software-Enticklung

Autor: thyl - Datum: 04.07.2005

Auf Arstechnica gibt es einen Artikel über Beschwerden von Spieleentwicklern zur neuen Hardware der einschlägigen Spielekonsolen, die wohl aufgrund ihrer Komplexität einiges Kopfzerbrechen bereiten. Interessant finde ich aber auch für uns Mac-Anwender einige Aussagen im Artikel, die auch uns betreffen dürften:
"Die...Entwicklerfrustration rührt teilweise von der Tatsache her, dass für die Software-Industrie die Freifahrt vorbei ist. In der guten alten Zeit, bevor wir auf die Leistungsmauer aufgeprallt sind, stammte der größte Teil von Leistungsverbesserungen aus Verbesserungen der Hardware-Seite. Desweiteren waren die zwei Hardware-Verbesserungen, auf die sich die Entwickler verlassen konnten, mehr Taktrate und größere Caches, (die) die Softwareindustrie in den letzten beiden Jahrzehnten getragen haben." Und dies hier:
"Diese Freifahrt ist vorbei, und nun ist es Zeit, sich der Multithread, Multi-Core Musik zu stellen. In der neuen Welt...haben Entwickler mehr zu tun, sowohl hinsichtlich des Aufteilens ihrer Applikationen in Threads, als auch dem Optimieren dieser einzelnen Threads".

Wenn man sich das Fehlen von Taktratensteigerungen in den letzten 1.5 Jahren ansieht, könnte das wohl stimmen. Schön, das Apple dieses Problem schon früher hatte als die anderen, denn jetzt haben sie einen Vorsprung, sowohl bei Mehrprozessorsystemen (bzw. ihrer Programmierung), als auch beim Einsatz spezieller Einheiten (Altivec) oder von Spezialprozessoren (CoreVideo auf der Graphikkarte).

Kommentare

jap

Von: Mr.Mike (MacGuardians) | Datum: 04.07.2005 | #1
Hab den auch gesehen vor Kurzem - finds nett, dass er nicht wie die anderen Publikationen das Gewetter einfach zitiert, sondern was dazu sagt.

Wahrscheinlich könnte man das Programmierervolk aufteilen in "Programmierer" und "Kompilierer" - und die meisten arbeiten in eienr Umgebung, wo sie es sich nicht mehr leisten können ("dürfen"), wirklich zu optimieren. "Marketing driven" ...

Die Entwickler sind ja auch von der PS2 enttäuscht, bzw im Endeffekt dann ich selber, weil keiner mehr aus der Kiste rausholen will... Immerhin freut es mich dass MPlayer auf PS2 optimiert wurde - kleine Geschenke freuen einen ja auch..

etwas offtopic, aber kennt ihr diese Screenshots von Project Gotham 3 auf XBox 360?

Das.ist.schon.atemberaubend.äh.
[Link]

Soso!

Von: johngo | Datum: 04.07.2005 | #2
Da bin ich aber überrascht, wie hier die
Entwicklung der PC-Hardware gesehen
wird ...


... als ob MultiCore nicht ein "mehr an
verfügbarem" Takt und "mehr an" Caches*
zur Verfügung stellen würde!?!?

Der Weg zur Nutzung derselben mag
aufwendiger sein, jedoch ist die Aussage
oben (thyl's) auch falsch zu verstehen!

Jedenfalls werden zukünftige 4-und-mehr-
Cores noch viel mehr Takt und Cache
zur Verfügung stellen.

Gruss

johngo

* haben wir nicht auf jedem Coreteil
einen eigenen Cache?

Caches pro Core

Von: flo (MacGuardians) | Datum: 04.07.2005 | #3
Nein, nicht jeder Hersteller setzt auf eigene Caches für die jeweiligen Cores. Es gibt für beide Varianten Pros und Contras, aber ein gemeinsamer Cache ist, wenn ich es recht verstanden habe, insgesamt etwas simpler zu verwalten.

Naja, soviel zu den Gründen für Intel...

Von: Kabe | Datum: 04.07.2005 | #4
Es liegt eine gewisse Arroganz darin, einfach zu behaupten, dass die Programmierer zu faul sind, die speziellen Processorfeatures zu nutzen. Es ist nämlich einfach extrem unwirtschaftlich, alle 2 Jahre eine neue Prozessor-Architektur auf einem sehr niedrigen Level zu unterstützen. Am Ende möchte und muss man nämlch mit möglichst zukunftssicherem Code eben die maximale Performance herausholen.
Schon die existierende PowerPC-Architektur wird daher nur sehr punktuell genutzt. Gerade für Apple als Nischenhersteller ist die aktuelle Entwicklung bei IBM daher sehr unbefriedigend: Wenn es viele spannende Applikationen auf OS X geben soll, dann sind solche Mätzchen sehr im Weg.
Schlussendlich sieht der Kunde nur den Fortschritt, der auch bei ihm ankommt. Niemand hat etwas von 2 Fließkommaeinheiten pro G5 mit Hardwarewurzel und ähnlichen Schmankerln, wenn sie nicht genutzt werden.

Kabe

Vorsprung?

Von: macsmac | Datum: 04.07.2005 | #5
Vorsprung ist gut. 1. arbeitet Apple nicht erst seit dem G4 mit MPs und 2. ist OS X nicht das einzig multiprozessorfähige OS.

@Kabe: genutzt werden für was?

Von: Mitleser | Datum: 04.07.2005 | #6
n/t

@johngo

Von: Thyl (MacGuardians) | Datum: 04.07.2005 | #7
Selbst bei zwei Caches kann man anscheinend nicht davon ausgehen, dass dann insgesamt doppelt so viel da ist; bei einigen Modellen wird der Cache geteilt (2 x 1 MB statt 2 MB). Ist halt auch eine Kostenfrage bezüglich der Chipfläche. Wir müssen uns wohl von immer schneller bei gleichem Preis verabschieden. Stärkere Preissenkungen gibts wahrscheinlich nur noch bei einen Shrinking, da dann mehr auf die gleich teure Chipfläche geht. Und wie es mit Shrinkings wirklich aussieht, müssen wir auch sehen. 65 nm werden ziemlich sicher kommen, aber iirc gibt es bereits bei der nächsten angepeilten Verkleinerung auf 45 nm bis dato ungelöste Grundsatzprobleme. Vielleich thängen wir bei 65 nm fest und dann kommen Preissenkungen nur noch durch Rationalisierung/Prozessoptimierung zustande.

@ Thyl (MacGuardians)

Von: Mac since 1994 | Datum: 04.07.2005 | #8
Die untere Grenze liegt nicht bei 45 nm, sondern bei einigen wenigen Nanometern: [Link]

schon aber

Von: Mr.Mike (MacGuardians) | Datum: 04.07.2005 | #9
die leckströme werden so gross - jetzt mal ohne aufwendige gegenmassnahmen - dass die Transistoren dann zwar klein sind, aber nichts mehr übrig bleibt, was sich sinnvoll "schalten" liesse...

Ist schon sehr tricky, wenn man mit nur noch ein paar Atomlagen "handiert" ...

Vielleicht kommt ja germanium wieder *kicher*

Apples Switch

Von: tjp | Datum: 04.07.2005 | #10
AltiVec gehört mit diesem Switch zum Alteisen, die Programmierung von mehreren Prozessorkernen erfordert keine LowLevel Programmierung, dafür eine klare Strukturierung des Programmscodes, so daß man von Hand oder auch per Compiler Aufgabe parallelisieren kann. Dazu muß man mehr Wissen über das Programmieren besitzen, leider ist dieses theoretische Wissen nicht so weit verbreitet wie es wünschenswert wäre.

Wenn thyl mit seiner Hypothese recht hätte, dann hätte Apple auf Cell switchen müssen, oder IBMs PPC440 Derivat aus BlueGene in die PowerBooks verbauen müssen, 4 PPC440 Cores verbrauchen weniger Strom als ein aktueller G4. Insgesamt sind sie dann auch deutlich schneller.

Aber gerade das hat Apple nicht getan, sonder sich für den klassischen Ansatz entschieden. Keine Parallelisierung sondern mehr Speed pro Core.

@Mac since 1994

Von: Patrick | Datum: 04.07.2005 | #11
Bitte richtig lesen: diese Gate-Grössen lassen sich im Labor erreichen, aber für eine Massenfertigung wird EUV zur "Belichtung" (eigentlich eher Bestrahlung) benötigt, um solch kleine Strukturen zu fertigen. Ursprünglich waren die 65nm-Strukturen schon für EUV geplant, allerdings gibt es bei diesen Prozessen noch solch massive Probleme, daß die Einführung von 45nm wohl erst um 2010 kommen wird. Bisher gibt es noch nicht mal eine geeignete, leistungsfähige Strahlungsquelle. Wenn die gefunden ist, muß man den Prozess ansich erstellen und wahrscheinlich braucht man für jede Fabrik noch einen kleinen Atomreaktor daneben.

Hört mir bloß mit AltiVec auf...

Von: Karl Schimanek | Datum: 04.07.2005 | #12
sonst fang ich gleich wieder das heulen an...

tjp:"... oder IBMs PPC440 Derivat aus BlueGene in die PowerBooks verbauen müssen, 4 PPC440 Cores verbrauchen weniger Strom als ein aktueller G4. Insgesamt sind sie dann auch deutlich schneller...

Hörst dich ja wie "No9" an ;-) :-D

Johngo:

Von: Kai (MacGuardians) | Datum: 05.07.2005 | #13
"... als ob MultiCore nicht ein "mehr an
verfügbarem" Takt und "mehr an" Caches*
zur Verfügung stellen würde!?!?"

Aua! Und zwei Golf sind ja auch nur ne Weiterentwicklung von einem Ferrari! Haben schließlich doppelt soviele Reifen! ;-)

Du hast nicht wirklich kapiert, worum's geht, oder?

Ich entickle und entickle

Von: daze | Datum: 05.07.2005 | #14
ab sofort auch softare ;) 'arum hab ich dan nicht gleich gecheckt? 'o 'art ihr, als - 'ie hieß der Pirat bei Asterix gleich noch, der auch einen bestimmten Buchstaben nicht aussprechen konnte - die ent'icklung noch hinterherhinkte?

@ Patrick

Von: Mac since 1994 | Datum: 05.07.2005 | #15
Selber richtig lesen! Es ging nicht um das derzeit technisch machbare, sondern um die Perspektive bzw deren letzten Grenze - hör auf, an meinem Bein zu schrubbeln.

Fruckstuck

Von: Kai (MacGuardians) | Datum: 06.07.2005 | #16
"Ein zweiter Prozessor (oder Core) ist
wie ein zweiter Motor. Du kannst das
ruhig anders sehen, aber wenn Apple
oder Intel es auch so sehen und titulieren,
wie ich, dann halte ich mich doch lieber
mehr an deren Aussage!"

Dass das nur Marketingblabla ist (was du ja angeblich so verachtest) wissen Mac-User besser als alle anderen, denn die in der Mac-Welt sehr populären Dual-Powermacs sind bekanntlich nur mit wenigen speziell angepassten Programmen deutlich schneller als Single-Powermacs.

Zwei Motoren können ihre Kraft problemlos und in JEDEM Fall addieren und auf dieselbe Antriebswelle geben. Zwei CPUs können das eben nicht!

Ich finde es interessant, dass du den Standpunkt wechselst ("Was Apple sagt ist eh nur Marketingblabla" vs "Aber Apple hat gesagt und Apple glaube ich") wie's dir gerade in den Kram passt...

@ kai

Von: johngo | Datum: 06.07.2005 | #17
Wenn Apple oder Intel behaupten würden,
das sich die zwei Motoren automatisch
und immer addieren würden, so würde
ich deren Blabla auch kritisieren!
Überall, wo ich dazu etwas lesen kann,
ist dies nicht der Fall.

So kritisiere ich Apple ja auch nicht wegen
dem Blabla an sich (was sollen sie auch
sonst tun!), sondern ich kritisiere oft
den Inhalt und "vielmehr die Anwender
und Fans", die dieses Blabla in das
eigene Argumentationsportfolio mit
übernehmen.

Das ist ein Riesenunterschied!
... finde ich!

In meinem Fall geht es aber nur um die
Bezeichung "zwei Motoren" und nicht
"zwei Wagen". Also rein um die
Bezeichnung!

Gruss

johngo