Was bringen mehrere Rechenkerne?



  • Amdahl0r schrieb:

    rapso schrieb:

    lesen
    verstehen
    posten.

    Aha. Haste auch noch sowas wie Argumente?

    klar hab ich die. wenn du richtig lesen wuerdest, wuestest du dass er nur nach leistung fragte. nicht was programmierer mit der leistung anstellen. dann verstehst du auch gleich: n kerne haben also n-mal die leistung. und dann postest du auch nicht, dass meine aussage falsch ist, sondern dass du in der praxis diese mehrleistung nicht erreichen kannst.

    N Kerne bringen definitiv NICHT eine N-fache Leistung. Das ist ein unerreichbares theoretisches Maximum.

    ich hab eine applikation die mit N kernen in der praxis mehr also die n-fache leistung erbringt. weil in der realen welt mehr als nur die kerne arbeit verrichten, das kann pro oder kontraproduktiv sein.

    wenn deine aussagen halbwegs qualifiziert waeren, muestest du hier wohl kaum einzeiler als gast posten um streit anzufangen, sondern wuerdest, wenn auch deine meinung anders ist, mal kompletter posten.

    ansonsten lese hieraus nur: DOCH, WOOOHL. 🙄



  • Gregor schrieb:

    BTW: Welche aktuellen Spiele sind eigentlich auf die Leistung von Grafikkarten in der Preisklasse >200€ angewiesen? Wenn ich so Spielezeitschriften durchblättere, dann sind das glaube ich nicht so viele.

    Ich sehe bisher auch nur dass crytek so 'dumm' war. schon seit einiger zeit koennen die hersteller der Grakas als einziges argument bringen, dass man 1600*1200 mit 4AA (manchmal bis 16AA) und superhyper-AF haben muss. weil nur dann die GPU limitiert. das lustige ist, meist es selbst dabei nicht die GPU limitierend, sondern der speicher.
    GPUs arbeiten heutzutage massiv parallel, mit sehr vielen "cores" bzw "threads" wie man es auch sehen will (R500 soll 512threads haben). wenn jemand sich nur mit der theorie der Amdahl’s Law befasst, packt er sich an den kopf und denkt "das muss ja sau ineffizient sein", doch firmen wie NV, ATI, SUN,... wissen es besser. soviele einheiten werden verbaut gerade um effizient zu sein, und je groesser n ist, desto effizienter, also weit mehr als n-fach.



  • Tim schrieb:

    rapso schrieb:

    Probleme hat man eher mit der kuehlung. ein kleiner core bei 4ghz generiert mehr waerme als zwei cores bei 2ghz. die zwei cores haben zudem mehr flaeche zum abfuehren der waerme, somit eine win-win situation *MitBuzwordsWirft*

    http://de.wikipedia.org/wiki/Win-Win

    emm... wie kann ich dir helfen? 😃



  • klar hab ich die. wenn du richtig lesen blabla[/quote]
    Das war kein Argument. Du hast einfach nur deine falsche Aussage, dass N Kerne == N-fache Leistung sind wiederholt. Das ist sowohl theoretisch als auch praktisch falsch. Im Grunde machen mehrere Kerne nichts anderes als mehrere leichtgewichtige Prozesse zeitparallel ablaufen zu lassen. Dass daraus noch lange keine N fache Leistungssteigerung resultiert weiß eigentlich jeder, der sich etwas mit Informatik auskennt. 🙄



  • Kommentarschreiber schrieb:

    klar hab ich die. wenn du richtig lesen blabla

    Das war kein Argument. Du hast einfach nur deine falsche Aussage, dass N Kerne == N-fache Leistung sind wiederholt. Das ist sowohl theoretisch als auch praktisch falsch. Im Grunde machen mehrere Kerne nichts anderes als mehrere leichtgewichtige Prozesse zeitparallel ablaufen zu lassen. Dass daraus noch lange keine N fache Leistungssteigerung resultiert weiß eigentlich jeder, der sich etwas mit Informatik auskennt. 🙄[/quote]Ja, theoretischer informatik. dass dir das argument nicht reicht dass ich in der praxis mehr als n-fache leistungssteigerung mit mehreren kernen hatte ueberliest du da sicher gerne.



  • Gregor schrieb:

    Außerdem ist die Frage, wie es in der Computergrafik eigentlich weitergeht. Intel scheint ja in letzter Zeit das Raytracing zu propagieren.

    Hast du dazu evtl. einen Link oder ähnliches? Ich schreibe demnächst ein Proseminar über Raytracing und da wäre das evtl. für die Einleitung ganz nützlich 😃

    Felix



  • Phoemuex schrieb:

    Gregor schrieb:

    Außerdem ist die Frage, wie es in der Computergrafik eigentlich weitergeht. Intel scheint ja in letzter Zeit das Raytracing zu propagieren.

    Hast du dazu evtl. einen Link oder ähnliches? Ich schreibe demnächst ein Proseminar über Raytracing und da wäre das evtl. für die Einleitung ganz nützlich 😃

    Felix

    http://www.computerbase.de/artikel/hardware/grafikkarten/2008/bericht_raytracing_spielen_20/
    das ist von dem typen der bei intel versucht alles auf raytracing zu fixieren.



  • raps schrieb:

    dass dir das argument nicht reicht dass ich in der praxis mehr als n-fache leistungssteigerung mit mehreren kernen hatte ueberliest du da sicher gerne.

    Dann beleg doch mal, dass du mehr als N-fache + X Leistung bekommen hast, nur durch das Hinzufügen mehrerer Kerne.

    @Rapso Raytracer Link: Der Artikel ist absolut einseitig. Im Moment gibt es nicht ein Anzeichen dafür, dass irgendwer weg geht von normalen Renderer hin zu Raytracern.



  • Gregor schrieb:

    nachgehackt schrieb:

    Gregor schrieb:

    Aber die Programme profitieren davon nicht im gleichen Maß. Da schlägt dann Amdahl's Gesetz zu und die Performance der Programme steigt nicht im gleichen Verhältnis wie die Rechenleistung des Prozessors an.

    Warum das?

    Naja, guck Dir halt mal Amdahl's Gesetz auf wikipedia oder so an. Programme haben neben ihren parallelisierbaren Teilen auch Teile, die sequentiell ablaufen müssen. Nichts ist zu 100% parallelisierbar. Wenn der nicht parallelisierbare Teil der Programme bei geringer Parallelisierung nur einen kleinen Anteil an der gesamten Laufzeit des Programms ausmacht, so wird dieser Programmteil doch mit zunehmender Parallelisierung eine immer größere relative Zeit von der gesamten Laufzeit des Programms beanspruchen.

    Amdahls Law ist aber insofern pessimistisch, als dass nicht der komplette serielle Teil eines Programms mit der Problemgröße wachsen muss. Die Grundaussage, dass man i.A. nicht perfekt skalieren kann stimmt, aber in einigen Fällen sind andere Abschätzungen realistischer als Amdahls.



  • [edit]Artikel war falsch[/edit]



  • Walli schrieb:

    Amdahls Law ist aber insofern pessimistisch, als dass nicht der komplette serielle Teil eines Programms mit der Problemgröße wachsen muss. Die Grundaussage, dass man i.A. nicht perfekt skalieren kann stimmt, aber in einigen Fällen sind andere Abschätzungen realistischer als Amdahls.

    Das ist auch richtig. Dann sind wir uns ja einig, dass eigentlich nur rapsos generelle Aussage "N Kerne == N fache Leistung" in dem Thread hier falsch ist.



  • Skeptiker schrieb:

    raps schrieb:

    dass dir das argument nicht reicht dass ich in der praxis mehr als n-fache leistungssteigerung mit mehreren kernen hatte ueberliest du da sicher gerne.

    Dann beleg doch mal, dass du mehr als N-fache + X Leistung bekommen hast, nur durch das Hinzufügen mehrerer Kerne.

    egal wieviel ich hier belegen wuerde, es wird trotzdem gemotzt werden, weil es ja nicht sein kann dass mal wieder eine theorie nur theorie ist und kein gesetz, dass fuer die praxis gelten wuerde (auch wenn es Law heisst 🙄 )
    Und mal ehrlich, wenn du soviel wert auf theorie legst, ist es fuer dich aber sicherlich nicht schwer sich wenigstens eines der vielen scenarien zu ueberlegen welche synergieen bei n-cores haben koennten...

    Des weiteren hab lediglich die frage beantwortet "Was aber bringt das für die Leistung? " und n-kerne sind n-fache leistung. was die software daraus macht und ob es sinn macht hat normalerweise garnichts mit den kernen zu tun... ich weiss echt nicht wieso das mal wieder manche zum quieken bringen muss.

    @Rapso Raytracer Link: Der Artikel ist absolut einseitig.

    schoen dass es dir aufgefallen ist. ich schaetze dein @ richtet sich an Phoemuex und nicht an mich, er wollte schliesslich intels meinung wissen die ich fuer ihn ergooglet habe.



  • Fazit schrieb:

    Das ist auch richtig. Dann sind wir uns ja einig, dass eigentlich nur rapsos generelle Aussage "N Kerne == N fache Leistung" in dem Thread hier falsch ist.

    Amdahl sagt, dass man nicht perfekt skalieren kann, aber das sagt nichts über die Leistung von mehreren Recheneinheiten aus. Deswegen ist die Aussage prinzipiell auch nicht falsch, wenn man mal andere technische Faktoren ausser Acht lässt. Man kann ein zusammenhängendes Problem, was auf einem Prozessor die Zeit T braucht i.A. nicht mit N Prozessoren in der Zeit T/N lösen, aber das hat er ja auch nie behauptet, soweit ich das beim Überfliegen gesehen habe.

    Wie man N-fache+X Leistung bekommen soll muss mir aber auch jemand erklären.



  • rapso schrieb:

    Und mal ehrlich, wenn du soviel wert auf theorie legst, ist es fuer dich aber sicherlich nicht schwer sich wenigstens eines der vielen scenarien zu ueberlegen welche synergieen bei n-cores haben koennten...

    Wie wärs, wenn du mal eins vorlegst? Immerhin hast DU quasi behauptet, das Perpetuum Mobile gebaut zu haben.



  • Würde mich auch interessieren wie das gehen sollte das man mehr als die n-fache Leistungssteigerung bekommt.

    Wobei wir hier Systeme vergleichen die prinzipiell die gleiche Gesamtinstruktionsanzahl haben. Nehmen wir hierfür mal an das ein 2GHz Prozessorkern genau doppelt soviele Instruktionen wie ein 1GHz Prozessorkern ausführen kann (Wir wissen das dies praktisch nicht zwingend stimmt, für die Annahme des Geschriebenen ist dies aber wichtig). Nehmen wir nun an das wir einmal einen 2GHz Kern in dem einen Prozessor und 2x1Ghz Kerne in den anderen haben. Wie soll es möglich sein das der Mehrkernprozessor mehr Gesamtleistung erbringt wie der Einzelkernprozessor?

    Ja, es gibt Anwendungsfälle die man massiv paralell durchführen kann, wo sich die Kerne quasi kaum abstimmen müssen. Ich bin zwar definitiv kein Fachmann für Mehrkernsysteme aber alles was ich aus Fachliteratur her kenne, besagt das ein Mehrkernsystem nur dadurch mehr Leistung bringen kann, das man die Anzahl der Gesamt möglichen Instruktionen vervielfacht (Sprich: man vergleicht nicht wie im obigen Beispiel ein 2GHz Kern mit 2x1GHz sondern z.B. 2x1,9Ghz). Dabei treten aber im Verhältnis zur Gesamtzahl der möglichen Instruktionen immer Verluste auf. Dies ist das was ich aus Fachpresse zu Supercomputern [Cluster] und Mehrkernarchitektur gelesen habe.

    Das heißt nicht das ich sage das ein Mehrkernprozessor schlechter als ein Einzelkernsystem ist, sondern nur das alles mir bekannte besagt das man nicht einfach die Gesamtzahl der Kerne als Multiplikator nehmen kann, sondern einen Faktor der darunter liegt.

    Ich lass mich gerne eines Besseren überzeugen aber bitte auch wirklich gut begründet.



  • Hier ein Artikel, der zum Thema passt:
    http://www.javaworld.com/javaworld/jw-09-2007/jw-09-multicoreprocessing.html?page=1

    Fazit: Sorting ~35% schneller geworden bei 2 Kernen. 🤡



  • Skeptiker schrieb:

    Im Moment gibt es nicht ein Anzeichen dafür, dass irgendwer weg geht von normalen Renderer hin zu Raytracern.

    Naja, es ist durchaus klar, dass die Kernanzahl in Zukunft stark ansteigt. AFAIK sind bei Intel "8 Kerne + Hyperthreading" für Ende 2009 (oder Anfang 2010) mehr oder weniger offiziell. Und das wird wohl auch noch so weiter gehen, ganz einfach, weil es gerade bei rechenintensiven Anwendungen oft stark parallelisierbare Aufgaben gibt: Videobearbeitung und so Zeugs meine ich jetzt. Ok, jetzt haben wir also diesen Trend bei den Prozessoren, dass immer mehr Kerne dazukommen. Was machen jetzt die Spieleentwickler damit? Physikberechnungen sind da sicherlich ein mögliches Anwendungsgebiet, die Nutzung der Rechenkapazität für bessere KI ist ein weiteres. Und das Raytracing wird ab einem bestimmten Punkt auch so ein Anwendungsgebiet sein, das man ins Auge fassen könnte. Also in jedem Fall ist das etwas, was für Spieleentwickler irgendwann eine gewisse Attraktivität kriegen wird.

    Bei konventionellen Grafikkarten scheint sich die Entwicklung ja etwas totgefahren zu haben: Es kommen zwar immer wieder neue Grafikkarten auf den Markt, aber die meisten Spiele sind diesbezüglich nicht mehr auf das Non-Plus-Ultra angewiesen. Das war früher anders. rapso wird da mehr Ahnung als ich haben, aber anscheinend haben die Spieleentwickler echte Probleme, die Grafikkarten mit genug Daten zu füttern, dass diese auch ausgelastet sind. Wenn man aber auf Dauer immer weniger Leistung solcher Grafikkarten wirklich ausnutzt, dann stellt sich die Frage, warum man überhaupt noch Spezialhardware dafür nutzen sollte. In ein paar Jahren sollte die CPU auch genug Rechenleistung haben, um die Grafikberechnungen in den meisten Spielen durchführen zu können.



  • Skeptiker schrieb:

    raps schrieb:

    dass dir das argument nicht reicht dass ich in der praxis mehr als n-fache leistungssteigerung mit mehreren kernen hatte ueberliest du da sicher gerne.

    Dann beleg doch mal, dass du mehr als N-fache + X Leistung bekommen hast, nur durch das Hinzufügen mehrerer Kerne.

    Ist doch einfach zu überlegen. Wenn du 1 Kern hast, dann läuft außer dem Programm noch ne Menge anderer Scheiß auf dem OS (besonders, wenn's ein Linux ist). Dein Programm kriegt also zum Beispiel nur 90% von 1 Kern. Bei zwei Kernen kriegt dein Programm dann 190%, was mehr ist als das Doppelte.



  • Gregor schrieb:

    Bei konventionellen Grafikkarten scheint sich die Entwicklung ja etwas totgefahren zu haben: Es kommen zwar immer wieder neue Grafikkarten auf den Markt, aber die meisten Spiele sind diesbezüglich nicht mehr auf das Non-Plus-Ultra angewiesen. Das war früher anders. rapso wird da mehr Ahnung als ich haben, aber anscheinend haben die Spieleentwickler echte Probleme, die Grafikkarten mit genug Daten zu füttern, dass diese auch ausgelastet sind. Wenn man aber auf Dauer immer weniger Leistung solcher Grafikkarten wirklich ausnutzt, dann stellt sich die Frage, warum man überhaupt noch Spezialhardware dafür nutzen sollte. In ein paar Jahren sollte die CPU auch genug Rechenleistung haben, um die Grafikberechnungen in den meisten Spielen durchführen zu können.

    Die Rechenpower, die du zum Beispiel für realistische Lichtberechnungen verbrauchen könntest, wenn du sie nur hättest, ist doch nahezu unbegrenzt. Ich sehe irgendwie gerade nicht, dass man jetzt demnächst nicht mehr so tolle Leistungssteigerungen bei Grafikkarten brauchen sollte. Ich habe in den letzten Jahren sicherlich öfter die Grafikkarte als meine CPU aufgerüstet.

    Crysis und jedes Spiel was danach kommen wird, ist mit heutiger high-end Hardware nicht auf voller Detailstufe spielbar. Es ist also sogar jetzt gerade Bedarf dar für eine Grafikkarte mit noch mehr Power als wie es derzeit gibt. Was lässt dich glauben, dass sich das auf absehbare Zeit ändert?



  • rapso schrieb:

    egal wieviel ich hier belegen wuerde, es wird trotzdem gemotzt werden, weil es ja nicht sein kann dass mal wieder eine theorie nur theorie ist und kein gesetz, dass fuer die praxis gelten wuerde (auch wenn es Law heisst 🙄 )
    Und mal ehrlich, wenn du soviel wert auf theorie legst, ist es fuer dich aber sicherlich nicht schwer sich wenigstens eines der vielen scenarien zu ueberlegen welche synergieen bei n-cores haben koennten...

    lol. War ja so klar, dass du dich nur wieder in blabla flüchtest und den Ball einfach abgibst.

    rapso schrieb:

    Des weiteren hab lediglich die frage beantwortet "Was aber bringt das für die Leistung? " und n-kerne sind n-fache leistung.

    1. ist "Leistung" ja wohl darauf bezogen was es mir letztlich bringt und 2. gilt deine Aussage bereits für die Hardware nicht.

    Bashar schrieb:

    rapso schrieb:

    Und mal ehrlich, wenn du soviel wert auf theorie legst, ist es fuer dich aber sicherlich nicht schwer sich wenigstens eines der vielen scenarien zu ueberlegen welche synergieen bei n-cores haben koennten...

    Wie wärs, wenn du mal eins vorlegst? Immerhin hast DU quasi behauptet, das Perpetuum Mobile gebaut zu haben.

    Darauf werden wir lange warten können. 🙄


Anmelden zum Antworten