• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Mangelnde SMP-Fähigkeit von SW ist echt lästig

pete99

Pomme au Mors
Registriert
21.06.05
Beiträge
874
Mir fällt immer mehr auf, das kaum Programme wirklich SMP-fähig sind. Z.B. Google Earth oder viele Spiele. Das sind alles Programme die extrem CPU-intensiv sind. Mich hats immer gewundert dass diese Programme eigentlich kaum CPU-Auslastung verursachen. Nach längerem beobachten bin ich aber draufgekommen das diese Programme genau 100% CPU fressen, diese Last aber vom OS auf die Kerne verteilt wird.

Lästig ist, dass ich jetzt die Kerne in den Energieeinstellungen auf "Maximal" stellen muss umd wirklich maximale Leistung zu erhalten, obwohl sie in Summe nur zu 25% ausgelastet sind.
 

ma.buso

Châtaigne du Léman
Registriert
16.04.05
Beiträge
820
Mir fällt immer mehr auf, das kaum Programme wirklich SMP-fähig sind. Z.B. Google Earth oder viele Spiele. Das sind alles Programme die extrem CPU-intensiv sind. Mich hats immer gewundert dass diese Programme eigentlich kaum CPU-Auslastung verursachen. Nach längerem beobachten bin ich aber draufgekommen das diese Programme genau 100% CPU fressen, diese Last aber vom OS auf die Kerne verteilt wird.

Lästig ist, dass ich jetzt die Kerne in den Energieeinstellungen auf "Maximal" stellen muss umd wirklich maximale Leistung zu erhalten, obwohl sie in Summe nur zu 25% ausgelastet sind.

wtf is smp? wär verd. nett w. du weniger abk. verw. würdest!!! dann verst. man deinen txt auch nach einmlg. lesen.
 

pete99

Pomme au Mors
Registriert
21.06.05
Beiträge
874
wtf is smp? wär verd. nett w. du weniger abk. verw. würdest!!! dann verst. man deinen txt auch nach einmlg. lesen.
http://de.wikipedia.org/wiki/SMP
Multiprozessorunterstützung mein ich! Das läuft von seiten des OS wunderbar, aber die Applikationen nutzen es einfach nicht. Ich hab also einen Prozess der ganz genau 100% CPU (von 400%) nutzt. Diese 100% werden auf vier Kerne verteilt und danach hat jeder 25%. Denen ist fast fad, trotzdem lauft die Applikation langsam. Ärgerlich, wenn Hardware-Ressourcen nicht genutzt werden.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Leider ist nicht jedes Problem beliebig aufteilbar, also multithreadbar und damit leicht auf mehr als einen Prozessor/-kern aufteilbar.

Die Frage ist ob nicht auch andere Aspekte die Applikationen ausbremsen, bzw. eine schneller Ausführung verhindern. zB bei Google Earth kann dies das Netzwerk sein über welches die Bilddaten kommen, oder bei einem Spiel die Grafikkarte.

Im Endeffekt kannst Du nicht viel dafür oder dagegen tun außer so Dinge wie Prozessor napping (beim PPC) abzuschalten, auch wenns wahrscheinlich nur minimale Leistungssteigerungen bringen kann.
Gruß Pepi
 

pete99

Pomme au Mors
Registriert
21.06.05
Beiträge
874
Leider ist nicht jedes Problem beliebig aufteilbar, also multithreadbar und damit leicht auf mehr als einen Prozessor/-kern aufteilbar.
Sicher. Gerade bei Spielen seh ich das aber nicht so. Da kann man vieles parallelisieren.

Die Frage ist ob nicht auch andere Aspekte die Applikationen ausbremsen, bzw. eine schneller Ausführung verhindern. zB bei Google Earth kann dies das Netzwerk sein über welches die Bilddaten kommen, oder bei einem Spiel die Grafikkarte.
Hab mich ein bissi gespielt. Netzwerk und GraKa sinds nicht. Der Prozess läuft auf genau 100%. Das ist schon sehr verdächtig.

Im Endeffekt kannst Du nicht viel dafür oder dagegen tun außer so Dinge wie Prozessor napping (beim PPC) abzuschalten, auch wenns wahrscheinlich nur minimale Leistungssteigerungen bringen kann.
Ja leider kann man eh nichts dagegen tun. Aber wo jetzt schon jeder neue Mac seit einem Jahr mindestens zwei Kerne hat, sollte man wohl beim Software-Design langsam umdenken.

Ich hab mir für diesen Thread keine Lösung erwarten. Wollt nur ne Feststellung über einen Missstand machen.

lg,
Peter
 

smile

Klarapfel
Registriert
11.01.05
Beiträge
279
Hmm, mach die Feststellung doch einfach mal bei den entsprechenden Softwareherstellern. Btw. multithreading Programmierung ist alles andere als trivial. Neben der Paralellisierbarkeit des Problems braucht es nicht nur einen (sinnvoll) paralellisierbaren Algorithmus, sondern auch noch eine Menge Hirnschmalz, um das umzusetzen ohne mit der Stabilität des Programms Probleme zu bekommen. Manchmal ist die Lösung aber auch recht einfach: Mir hat letztens jemand verraten, dass ein -j2 hinter einem make wahre Wunder bewirkt :)

smile!
 

TAVLON

Becks Apfel (Emstaler Champagner)
Registriert
06.02.06
Beiträge
334
also ist das etwa der grund warum ich bei systemanzeige auf meinem MacBook selbst wenn ich ein Bild in Terragen (3D landschaft programm) rendere, nur 50% auslastung habe?

wenn ich das also richtig verstehe, dann ist jeder core zu 50% ausgelastet. also insgesammt zu 100%. ABER ich könnte 200% nutzen... ?

irgendwie logisch aber trotzdem quer.
egal. ist das der grund dafür? und was wäre eine software die wirklich 200% nutzen kann? is mir irgendwie noch keine unter die finger gekommen, glaub ich.
 

TAVLON

Becks Apfel (Emstaler Champagner)
Registriert
06.02.06
Beiträge
334
merci für die flotte antwort ;)

hab gerade mal rumprobiert, erst wenn ich photoshop (CS 1) und terragen gleichzeitig richtig beschäftige, dann seh ich die balken mal in voller größe. bin irgendwie sogar erschrocken. war mein erstes mal....
find es aber in der tat, genau wie du, sehr sehr nervig dass wirklich rechenintensive programme (Terragen wäre für mich so eines) nicht sowas unterstützen. so dauert es ja doppelt solange bis ich mein bild endlich seh, und das kann je nach auflösung schon mal nen stündlein und mehr sein, was ich nur dadurch länger brauche. andererseits kann ich in der zeit machen was ich will, da ich ja sozusagen noch 100% zum verbauchen habe.
ich finde das sollte man einstellen können und bei bedarf (auch während des prozesses) ein und ausschalten können. wäre ne tolle sache, aber was das für einen entwicklerischen aufwand wäre will ich garnicht erahnen.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Das Problem ist auch die Ungenauigkeit der Lastanzeige bzw., daß sie nur eine kumulierte Last anzeigt. Wenn beispielsweise die Fließkommaeinheiten des Prozessors vollständig ausgelastet sind mit einer Berechnung die sogar in mehreren Threads laufen kann dann sind immer noch beispielsweise die Ganzzahleinheiten oder auch Vektoreinheiten nicht zwangsläufig auch ausgelastet.

Ein anderer Punkt kann auch sein, daß die notwendigen Daten zur Berechnung nicht schnell genug an den Prozessor geliefert werden können. Dann kann der Prozessor so schnell sein wie er will, er bekommt keine Daten mit denen er was tun könnte, ergo liegt Leistung brach.

Das gleiche kann passieren wenn eine Berechnung das Ergebnis einer anderen Berechnung voraussetzt. Erst wenn diese fertig ist, kann die nächste gestartet werden. In der Zwischenzeit, bleibt Leistung übrig.

Ein letztes Beispiel welches auch für kleinere Datenmengen Gültigkeit hat sind Strukturen die gerade nicht mehr im Cache des Prozessors oder des L2 Cache Platz finden. Dann wird immer wieder ein (teurer) Zugriff auf den Hauptspeicher (RAM)notwendig und somit wird auch hier der Prozessor seine volle Leistungsfähigkeit nicht ausschöpfen können.

All das (und noch viel mehr) kann passieren obwohl ein Programm wunderbar SMP fähig ist, Threads einsetzt und auch das OS ganz brav seine Prozesse und Threads auf alle zur Verfügung stehenden Prozessorkerne verteilt.
Gruß Pepi