Re: Multithreading für FOR-Schleife
- From: Raffael Herzog <devnull@xxxxxxxxxx>
- Date: Tue, 27 Dec 2005 15:28:07 +0100
The Pianoman schrieb:
>>wo genau ist der zusammenhang zwischen Anzahl CPUs und Anzahl Threads.
Bei mir unter Linux 2.6.13.4 (1 CPU, Hyperthreading):
public class Test {
public static void main(String[] args) {
System.out.println(Runtime.getRuntime().availableProcessors());
}
}
--> 2
>>auf jeder CPU wirklich gleichzeitig ein Thread
> Guter Einwand. Sinnigerweise sollte das die VM garantieren - ob sie
> es tut, ist wieder eine andere Geschichte.
Die VM kann es nicht garantieren. Unter Windows ist es AFAIK möglich,
einen Thread/Prozess explizit einer bestimmten CPU zuzuweisen. Unter
Linux geht das nicht, der Kernel gibt den Prozessen keine Möglichkeit,
bei der Aufteilung der CPUs mitzureden. Der Scheduler macht das auch
völlig alleine recht schlau (er versucht, Prozessen immer dieselbe CPU
zuzuweisen, damit Caches etc. der einzelnen CPUs auch greifen können).
Neuere Kernels wissen auch, dass das mit SMT (Symmetric Multi Threading
== Hyperthreading ohne Marketing-Blubber) wiederum keine Rolle spielt
und handeln entsprechend.
Noch ein anderer Punkt: Ich wollte eine SMT-CPU einerseits schon wegen
Java, weil Java-Applikationen Prinzip-bedingt häufig massiv Multithrea-
ding einsetzen, aber ich schätze es vor allem auch, weil Dinge, die im
Hintergrund ablaufen (z.B. der Spamfilter, der alle 5min im Hintergrund
10 Mails bearbeiten muss ;) meine "vordergründigen" Aktionen viel weni-
ger beeinflussen. Woher willst du wissen, dass die CPUs nicht gerade
mit etwas anderem beschäftigt sind?
> Also: was tun?
Ich würde einfach nur darauf achten, immer schön mit Multi-Threading zu
arbeiten und mir ansonsten nicht den Kopf darüber zerbrechen, der Ker-
nel macht den Rest.
Gruss,
Raffi
--
Come to think of it, there are already a million monkeys on a million
typewriters, and Usenet is *nothing* like Shakespeare!
herzog@xxxxxxxxxx · PGP Key 5D1FF5F4 · http://www.raffael.ch/
.
- Follow-Ups:
- Re: Multithreading für FOR-Schleife
- From: Bernd Eckenfels
- Re: Multithreading für FOR-Schleife
- References:
- Multithreading für FOR-Schleife
- From: The Pianoman
- Re: Multithreading für FOR-Schleife
- From: The Pianoman
- Re: Multithreading für FOR-Schleife
- From: Michael Hüttermann
- Re: Multithreading für FOR-Schleife
- From: The Pianoman
- Multithreading für FOR-Schleife
- Prev by Date: Re: Multithreading für FOR-Schleife
- Next by Date: Editor in einer RCP Applikation hinzufügen
- Previous by thread: Re: Multithreading für FOR-Schleife
- Next by thread: Re: Multithreading für FOR-Schleife
- Index(es):
Relevant Pages
|