• 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

Nur eine Kern belastet?

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Halli hallo :)
Ich hab bei mir auf dem MBP CD 2Ghz unt 2GB-Ram Windows XP Pro installiert.
Dann hab ich gestern das Book ziehmlich ausgelastat und mir ist ein Programm abgeraucht. Also hab ich die Aktivitäts Anzeige, ähm, Taskmanager, meine ich geöffnet und da sah ich, das nur der eine Kern ausgelastet ist. der andere machte so bei 40-50% rum...
Ist das normal?

Gruß Rasmus
 

wacs.ac

Gast
Meine Erfahrung ist die, daß Programme die auf Doppelkernnutzung ausgelegt sind, die beiden Kerne auch wunderbar nutzen. Programme die nicht auf Doppelkernnutzung ausgelegt sind hingegen nutzen nur einen Kern und wechseln diesen Kern nicht während einer komplexen Berechnung. Welcher der beiden Kerne genutzt wird liegt nicht fest. Also: vollkommen normal. Unter Win zumindest.

Als sehr vorteilhaft empfinde ich dieses Verhalten der "Monokernprogramme", erlaubt es mir doch, ungestört mit anderen Programmen parallel weiterzuarbieten.

Für Doppelkernnutzung ausgelegte Programme hingegen erlauben das ungestörte Arbeiten mit einem Zweitprogramm nicht während sie komplexe aufgaben erledigen. Selbst dann nicht, wenn sie nur wenig Prozessorleistung während der Berechnung benötigen. Sie wechseln nämlich ständig die Kerne und drängen sich dann in den Vordergrund, "klauen" die Eingabeperipherie dem Programm, mit dem ich gerade kreativ arbeiten möchte.
Interessant ist auch, daß praktisch ohne spürbare Leistungseinbußen 2 Monokernprogramme gleichzeitig komplexe Berechnugnen durchführen können.
 

smile

Klarapfel
Registriert
11.01.05
Beiträge
279
@wacs.ac:
"Als sehr vorteilhaft empfinde ich dieses Verhalten der "Monokernprogramme", erlaubt es mir doch, ungestört mit anderen Programmen parallel weiterzuarbieten.
Für Doppelkernnutzung ausgelegte Programme hingegen erlauben das ungestörte Arbeiten mit einem Zweitprogramm nicht während sie komplexe aufgaben erledigen."

Ich bitte vielmals um Entschuldigung, aber das ist Blödsinn. Zur Information empfiehlt sich eine Recherche nach den Begriffen Multithreading / Multitasking.

Als Test:
in OS X im Terminal das Kommando "yes& yes&" eingeben. Damit werden beide Kerne voll ausgelastet. Dann einfach mit OS X weiterarbeiten. Ausser der Lärmbelästigung durch den/die Lüfter, wirst Du beim normalen Arbeiten / Webbrowsen keinen Unterschied bemerken...
 

wacs.ac

Gast
Ich bitte vielmals um Entschuldigung, aber das ist Blödsinn. Zur Information empfiehlt sich eine Recherche nach den Begriffen Multithreading / Multitasking.

Entschuldingung angenommen: Blödsinn ist es dennoch nicht. Es entspricht einfach der Erfahrung, daß bei Programmen, die währed ihrer intensiven Rechenarbeit nicht einmal mehr den Bildschirm aktualisieren geschweige dennn an den Task-Manager eine Meldung geben, daß sie überhaupt noch laufen der Doppelkern dennoch ein Weiterarbeiten ermöglicht. Der Einzelkern wird dann sehr zähflüssig und neigt zu abstürzen.
Excel hingegen läuft bei mir oftmals in einem Zustand, wo es wenigstens immer wieder mal die Zustands-Meldung an den Manager abgibt. In genau diesem Moment greift sich Excel dann aber Tasten und Maus.

Diese Aussagen beziehen sich ausschließlich auf Windows auf Doppelkern-Mac!
 

Hobbes_

Gast
Sowohl Mac OS X als auch Windows XP sind Betriebssysteme mit präemptivem Multitasking. Dabei werden die verschiedenen Prozesse nach einem ausgeklügelten System auf die limitierende Ressource CPU verteilt. Dabei sind die Prioritäten so gewählt, dass Benutzereingaben kontrollierende Prozesse genügend Priorität gegenüber anderen haben, so dass dies im Allgemeinen kein Problem darstellt.

Ein zusätzlicher limitierender Faktor ist jedoch oft das RAM (man denke nur daran, dass früher vom Produzenten des MS-DOS 640 KB als das maximal notwendige angesehen wurden). So wird das System deutlich ausgebremst nicht so sehr durch den eigentlichen Programmcode, sondern die zusätzlichen Verwaltungsaufgaben (RAM auf HD swappen und zurück, wobei die HD im Vergleich zu RAM extrem langsam ist). Dies kann dann zum subjektiv erlebten Erlebnis kommen, dass der Computer nicht mehr genügend schnell auf die Eingaben reagieren kann, obwohl das Multitasking per se schon ok läuft (salomonische Antwort :) ). Selbstverständlich kann man die Priorität einzelner Prozesse reduzieren, wenn man wirklich das Gefühl hat, dass da einer zu gierig ist. Dies ist jedoch im Allgemeinen wirklich nicht notwendig.

Leider ist es schon so, dass zahlreiche Programme die speziellen Möglichkeiten der aktuellen Multicore-Prozessoren nicht ausnutzen können. Da kann das Betriebssystem nicht viel machen: Die Programme selbst müssen jedoch so geschrieben sein, dass sie eine Aufgabe nicht linear in einem Thread lösen, sondern das Problem in mehrere Threads zu splitten, die dann bei Singlecore sequentiell nacheinander und bei Multicore parallel zueinander abgearbeitet werden können. Das Betriebssystem kann dies nicht selbst erledigen. Es kann dann nur noch diese Aufteilung mehr oder weniger geschickt machen: Anbieten der Multithreading-Kontrollstrukturen mit möglichst wenig zusätzlichem Programmcode (overhead), Konzentration einzelner Threads auf einen Kern, so dass der Cache möglichst optimal genutzt werden kann etc.,
Der nächste Flaschenhals ist im Moment nämlich der Transfer der Daten zwischen Prozessor und RAM. V.a. auch dadurch sind Multikern-Systemen bezüglich der Zahl der Kerne im Moment noch gewisse Grenzen auferlegt.

Die Aufteilung eines Programms auf zahlreiche Prozessoren (bzw. in aktuelle multicore Prozessoren) ist zumindest für gewisse Programmgruppen noch neu, obwohl das Konzept selbst schon recht alt ist (siehe Transputer; siehe Google-Papers zu Multiprocessing-Konzepten, etc.). Das kommt schon noch...
 
Zuletzt bearbeitet von einem Moderator:

lemming71

Weisser Rosenapfel
Registriert
02.12.05
Beiträge
780
Halli hallo :)
Ich hab bei mir auf dem MBP CD 2Ghz unt 2GB-Ram Windows XP Pro installiert.
Dann hab ich gestern das Book ziehmlich ausgelastat und mir ist ein Programm abgeraucht. Also hab ich die Aktivitäts Anzeige, ähm, Taskmanager, meine ich geöffnet und da sah ich, das nur der eine Kern ausgelastet ist. der andere machte so bei 40-50% rum...
Ist das normal?

Gruß Rasmus

Es gibt hier zwei Möglichkeiten. Wenn Du XP Pro unter einer virtuellen maschine installiert hast , liegt es an dieser ob sie ein oder zwei Kerne pro VM zur Verfügung stellt. Hier hilft ggf. ein Blick auf dei Hmepage des Herstellers.

Wen Du direkt Win installiert hast und der Task-Manager zwei CPUs anzeigt, dann werden auch beide Kerne genutzt. Ist die Auslastung dabei für diese Anwednung um die 50%, dann ist die gestartete Anwendung schlicht und einfach nicht Multithreaded programmiert oder nur ungenügend darauf vorbereitet. Da kann man dann nichts machen und es so hinnehmen oder nach einer Alternative Ausshau halten.

Wie gesagt, sofern Du unter einem BootCamp Windows beide Kerne im Taskmanager siehst, sind diese auch angemeldet und werden wenn möglich genutzt. Es liegt halt an der gestarteten Anwendung ob dem so ist oder nicht. Siehst Du im Taskmanager nur einen Kern, dann ist da was faul. Man kann mit einem Trick dann Windows nachträglich überreden den zweiten Kern zu nutzen, wie fällt mir aber gerade nicht ein. www.google.de hilft aber bestimmt weiter.

Ich denke mal aber, dass Du Deiner Bescxhreibung nach damit aber keine Probleme an Deinem MBP hast.

Übrigens gibt es eine prima Möglichkeit eine Anwendung automatisch (und nicht per Task Manager) beim Start einen oder zwei Kerne zuzusweisen (AB, A oder B). Dazu nutzt man das Kleine Kommandozeilen-Tool Launch.exe welches auf dem heise-ftp zu finden ist. Dieses baut man dann in die Verknüpfung einer Anwendung ein. Ist sehr praktisch.
Ich lasse so zum Beispiel mein World of Warcraft unter Windows grundsätzlich nur auf Kern 2 laufen (WoW ist eh nur eine Single-Core Anwendung), dafür aber Programme wie Firefox, Teampseak etc. auf dem ersten Kern laufen. Hat den Vorteil, dass wenn eine der Anwendungen das System auslastet, der Kern 2 verschont bleibt und das Spiel nicht ausbremst. Da kann daa selbst ein Resourcenfressendes Flash unter Firefox das Spiel nicht anhalten.