jbauer
Lt. Junior Grade
- Registriert
- Juni 2014
- Beiträge
- 404
Bisserl späte Antwort, aber vorher hatte ich leider keine Zeit und unkommentiert will ich es auch nicht stehen lassen.
Sicherlich ist Vulgär- oder Fäkalsprache völlig unangebracht, hättest du die benutzt, hätte ich dich aber wahrscheinlich nicht ernst genommen oder einfach ignoriert. So gesehen bleibe bei deinen Milchprodukten. Erste Sahne (noch ein Milchprodukt!) wäre natürlich, immer sachlich zu bleiben. Fällt aber manchmal schwer und gelingt mir auch nicht immer.
Wenn der Vorteil von dem großen Cache davon herrühren sollte, dann profitiert eine Singlecore CPU genauso von diesem großen Cache, unabhängig von Takt oder Geschwindigkeit. A. Law gilt außerdem auch für Multi-CPU Systeme oder auch Systemverbünde.
Nein, kein Quatsch, was du meinst ist Gustafson's law, beide verwandt aber doch verschieden.
Zusätzlich zu den bereits aufgezählten Ungenauigkeiten kommt noch hinzu, dass es in der Praxis schwierig ist, die Teilaufgaben gleich groß zu machen, so dass hier weiterer Verschnitt anfällt (das trifft ebenso auf G.law zu).
In der Praxis kommt es imho häufiger vor, dass man eine Aufgabe (Bild rendern, Photoshop Filter) schneller erledigen will, als das man mehr in einer Zeitspanne erledigen möchte (Man könnte größere Bilder bearbeiten, aber meine Bilder werden ja nicht größer, nur weil ich mehr CPU-Kerne habe).
Und bei Spielen scheint nun mal der Renderpfad der kritische Pfad zu sein, der sich eben nicht oder nur sehr schwer parallelisieren lässt (bin aber kein Spieleprogrammierer, also vermute ich es nur). Und selbst wenn es möglich wäre, dann wäre der Aufwand so hoch, dass man die Entwicklungskosten nicht mehr rein bekäme.
Javascript ist eine Programmiersprache, nicht diese muss parallelisierbar sein, sondern das Programm, dass du damit schreibst.
Gerade als I-Student macht man solche Spielereien (das ist jetzt nicht abwertend gemeint) doch mal öfter. Aber später in der echten Welt schaut es dann anders aus.
Ja und nein. Natürlich können mehr Kerne bei mehreren aktiven Prozessen hilfreich sein, aber erstens bedeuten laufende Prozesse nicht gleich ausgelastete CPU (Beispiel: , 175 Prozesse, mehr als zweitausend threads, aber trotzdem 97% idle, das ganze auf einem Intel i3) und zweitens wird ein System nicht unbrauchbar, nur weil die CPU-Last auf hundert Prozent ist. Ich könnte mir mein System jetzt mit Prime vollstopfen (was ich gerade mal aus Spass mache, und ich merke keinen Unterschied, zumindest, während ich den Text hier schreibe (und nebenbei sogar noch ein Video schaue) und trotzdem kann ich ungestört weiterarbeiten. Alles eine Sache des Schedulers und der Prozessprioritäten.
Also links willst du? Dann hier, hier siehst du, dass Excel bei vier CPU-kernen nicht über 25% CPU-Auslastung kommt, also nur einen einzigen Thread nutzt:
Test ist einfach ein paar(ungefähr 400000) Zellen in einer Arbeitsmappe neu berechnen. Excel ist aus Office 20166 Probeversion, die aber meines Wissens identisch mit der normalen Version ist, es fehlt nur die Aktivierung).
Hier siehst du, dass Chrome ebenfalls Singlethreaded ist, Test ist peacekeeper(abgesehen von dem Teil mit dem Javascript Webworkern)
Wie gezeigt ist das eben nicht der Fall, und selbst bei spezialisierter Software sieht es ernüchternd aus, wie du im link von Buttermilch siehst. (Der link ist übrigens erste Sahne, nur um mal die Milchprodukte zu entdiskriminieren)
Du kannst heute schon deinen Rechner auf "Serverniveau" bringen, nur hast du auf deinem Rechner keine "Serveraufgaben", die das ausnützen könnten und dein Browser oder Excel werden dadurch nicht schneller, im Gegenteil, bei vielen Kernen sinkt in der Regel die Singlethreadleistung, dein Rechner wird also effektiv gefühlt langsamer.
ascer schrieb:Nun, tatsächliche Fäkalsprache liegt mir nicht, weshalb ich Emotionen gern mit Handpuppen oder Milchprodukten manifestiere. Bei einem konstruktiven Diskurs kann ich jenes natürlich gern unterlassen, aber die Masse der Beiträge hier las sich eben wie "mehr als 4 Kerne geht nicht!!!11einself" oder "keine Software kann mehr als 4 Kerne nutzen!!!11einself" - wobei Software bei der Masse hier ja auch noch direkt Synonym zu Spielen ist. Gleichzeitig bezweifle ich stark, dass die Masse hier je in der Softwareentwicklung tätig war, besonders was Parallelisierung angeht.
Deshalb, so finde ich, waren die Milchprodukte und der Kasperl ganz nett
Sicherlich ist Vulgär- oder Fäkalsprache völlig unangebracht, hättest du die benutzt, hätte ich dich aber wahrscheinlich nicht ernst genommen oder einfach ignoriert. So gesehen bleibe bei deinen Milchprodukten. Erste Sahne (noch ein Milchprodukt!) wäre natürlich, immer sachlich zu bleiben. Fällt aber manchmal schwer und gelingt mir auch nicht immer.
Es gibt schlicht keine Cache Problematik. Dass die Cache-Größe mit der Anzahl der Kerne wächst ist ein völlig unabhängiges Phänomen. Es gibt Singlecore CPUs mit mehr Cache als die Intel Multicore CPUs und Cache ist nicht bei jeder CPU shared sondern eben auch bei einigen separat z.b. hier.Abgesehen von der Cache-Problematik (die Amdahl komplett ignoriert; siehe weiter oben, wo ich die Supralinearität durch Cachezuwachs kurz angeschnitten habe)
Wenn der Vorteil von dem großen Cache davon herrühren sollte, dann profitiert eine Singlecore CPU genauso von diesem großen Cache, unabhängig von Takt oder Geschwindigkeit. A. Law gilt außerdem auch für Multi-CPU Systeme oder auch Systemverbünde.
geht Amdahl z.B. auch von konstanter Problemgröße aus. D.h. Ahmdal's Law
beschreibt im Prinzip den Speedup eines konstanten Problems, das so schnell wie möglich ablaufen soll.
Für die theoretische Informatik ist das in der Tat interessant (gibt wohl auch keine Uni, die das nicht durchnimmt)...für die Praxis ist das aber Quatsch.
Nein, kein Quatsch, was du meinst ist Gustafson's law, beide verwandt aber doch verschieden.
Zusätzlich zu den bereits aufgezählten Ungenauigkeiten kommt noch hinzu, dass es in der Praxis schwierig ist, die Teilaufgaben gleich groß zu machen, so dass hier weiterer Verschnitt anfällt (das trifft ebenso auf G.law zu).
In der Praxis kommt es imho häufiger vor, dass man eine Aufgabe (Bild rendern, Photoshop Filter) schneller erledigen will, als das man mehr in einer Zeitspanne erledigen möchte (Man könnte größere Bilder bearbeiten, aber meine Bilder werden ja nicht größer, nur weil ich mehr CPU-Kerne habe).
Das sehe ich anders. Die meiste (Anzahl) Software, die die meisten wohl alltäglich privat (nicht beruflich) verwenden, dürfte wohl Browser, Office, Dateimanager, email, usw (was auch immer ich vergessen habe,) sein. Nichts davon ist multithreaded oder würde davon (wesentlich) profitieren. Dafür sind die heutigen Rechner schlicht schnell und gut genug, mangels Nachfrage gibt es deswegen halt auch kein Angebot. Für Professionelle und anspruchsvolle Hobbyisten, die mehr Kerne sinnvoll verwenden können, gibt es ja auch mehr Kerne, die kosten halt ein paar Pfennig mehr.Nichtsdestoweniger kann mir aber niemand erzählen, dass N=4 (seit Jahren) einfach für jedwedes Spiel und N=[1, 4] für beliebige "Normalsoftware" die perfekte Lösung darstellt.
Das liegt imho einzig an einer Teilmenge von:
- zu wenig Budget
- zu unversierten Programmierern
- der Tatsache, dass im Consumermarkt seit Jahren nur 1-4 Kernprozessoren verkauft werden
Und bei Spielen scheint nun mal der Renderpfad der kritische Pfad zu sein, der sich eben nicht oder nur sehr schwer parallelisieren lässt (bin aber kein Spieleprogrammierer, also vermute ich es nur). Und selbst wenn es möglich wäre, dann wäre der Aufwand so hoch, dass man die Entwicklungskosten nicht mehr rein bekäme.
Wir wollen jetzt hoffentlich nicht in absichtlem Fehlverstehen von Aussagen kommunizieren: natürlich hat das nichts mit dem Otto* zu tun. Sollte aber eines Aufzeigen: selbst Javascript lässt sich mit vertretbarem Aufwand parallelisieren.
Javascript ist eine Programmiersprache, nicht diese muss parallelisierbar sein, sondern das Programm, dass du damit schreibst.
Und wieder: kriegt das ein Student hin, bei vergleichsweise komplexen Kram wie KIs, dann sollte es für ein ganzes Entwicklerteam und größere Software wohl nicht das Problem sein, ebenfalls mal ein wenig parallelen Code zu produzieren.
Gerade als I-Student macht man solche Spielereien (das ist jetzt nicht abwertend gemeint) doch mal öfter. Aber später in der echten Welt schaut es dann anders aus.
Und noch mal abschließend als Denkanstoß: auf welchem PC läuft bitte stets nur eine einzige Anwendung?
Ja und nein. Natürlich können mehr Kerne bei mehreren aktiven Prozessen hilfreich sein, aber erstens bedeuten laufende Prozesse nicht gleich ausgelastete CPU (Beispiel: , 175 Prozesse, mehr als zweitausend threads, aber trotzdem 97% idle, das ganze auf einem Intel i3) und zweitens wird ein System nicht unbrauchbar, nur weil die CPU-Last auf hundert Prozent ist. Ich könnte mir mein System jetzt mit Prime vollstopfen (was ich gerade mal aus Spass mache, und ich merke keinen Unterschied, zumindest, während ich den Text hier schreibe (und nebenbei sogar noch ein Video schaue) und trotzdem kann ich ungestört weiterarbeiten. Alles eine Sache des Schedulers und der Prozessprioritäten.
Ich habe keine Behauptungen aufgestellt, ich habe versucht, dir deine Fehlinterpretationen und Missverständnisse zu erklären. Aber offensichtlich bist du an sachlichen Argumenten nicht interessiert.xexex schrieb:Du hast bisher gar nichts widerlegt sondern bestenfalls nur irgendwelche eigenen Behauptungen aufgestellt.
Nein, wurde nicht von ascer widerlegt, die Diskussion dreht sich inzwischen aber auch um ganz andere Themen.Wo bleiben deine Links? Wo bleiben deine nachvollziehbaren Tests. Sorry aber mich hier hinstellen und irgendwelche trockenen Behauptungen aufzustellen die bereits von "ascer" widerlegt wurden
Also links willst du? Dann hier, hier siehst du, dass Excel bei vier CPU-kernen nicht über 25% CPU-Auslastung kommt, also nur einen einzigen Thread nutzt:
Test ist einfach ein paar(ungefähr 400000) Zellen in einer Arbeitsmappe neu berechnen. Excel ist aus Office 20166 Probeversion, die aber meines Wissens identisch mit der normalen Version ist, es fehlt nur die Aktivierung).
Hier siehst du, dass Chrome ebenfalls Singlethreaded ist, Test ist peacekeeper(abgesehen von dem Teil mit dem Javascript Webworkern)
hat nichts mit dem Bezug zu Realität zu tun. Es geht um bereits auf dem Markt befindliche Software und deren Tauglichkeit mit der steigenden Anzahl der Kerne zu skalieren und die ist bei dem Großteil der auf dem Markt befindlicher Software bereits gegeben.
Wie gezeigt ist das eben nicht der Fall, und selbst bei spezialisierter Software sieht es ernüchternd aus, wie du im link von Buttermilch siehst. (Der link ist übrigens erste Sahne, nur um mal die Milchprodukte zu entdiskriminieren)
Welchen Profit er davon trägt hängt also letztlich einzig von seinem Nutzungsprofil ab und der Geschwindigkeit der einzelnen Kerne. Da sich die Geschwindigkeit derzeit aber nicht beliebig steigern lässt, die Kernzahl aber problemlos auf Serverniveau erweitert werden könnte wo 16+ Kerne immer stärker verbreitet sind,
Du kannst heute schon deinen Rechner auf "Serverniveau" bringen, nur hast du auf deinem Rechner keine "Serveraufgaben", die das ausnützen könnten und dein Browser oder Excel werden dadurch nicht schneller, im Gegenteil, bei vielen Kernen sinkt in der Regel die Singlethreadleistung, dein Rechner wird also effektiv gefühlt langsamer.
Glaubst du jetzt wirklich, dass Intel die Entwicklung absichtlich bremst, nur um dir deine Multicore-CPUs zu vorenthalten? Dann hab ich was für dich:liegt hier die Zukunft in der Entwicklung die derzeit durch Intel künstlich begrenzt wird.
Zuletzt bearbeitet: