Neue POSIX-Threads für Linux
Die neue POSIX-Thread-Bibliothek fußt auf einer engen Zusammenarbeit von Kernel- und Runtime-Entwicklen. So entstanden neben den notwendigen Änderungen am Linux-Kernel auch die entsprechenden Teile der Thread-Bibliothek. "Wann immer etwas nicht optimal implementiert werden konnte, wird ein Interface verändert, um das Problem zu eliminieren" , so Drepper. So entstand im Gegensatz zu früheren Ansätzen eine eher leichtgewichtige Schicht, die für maximale Performance zum geringstmöglichen Preis sorgen soll.
Dabei basiert die NPTL auf einem 1-zu-1-Modell, während frühere Ansätze davon ausgingen, dass eine M-zu-N-Implementierung nötig sei. Nun habe man aber die Limitierung im Kernel beheben können, was den Weg für die jetzt gewählte Implementierung möglich machte. Diese sei vor allem weniger komplex und komme ohne ein zweischichtiges Scheduling aus, d.h. alle Scheduling-Entscheidungen werden vom Kernel gefällt.
Erste Test haben laut Drepper gezeigt, dass es problemlos möglich ist, auf einem älteren IA-32-System mit zwei 450-MHz-Pentium-II-Xeon-Prozessoren über 100.000 Threads innerhalb von 2,3 Sekunden zu erzeugen und zu zerstören. Zudem besitzt die neue Implementierung auf 64-Bit-Systemen quasi keine Grenzen bezüglich Threads mehr. Lediglich die vorhandenen Hardware-Ressourcen wie RAM und die Prozessorleistung setzen Schranken.
Dennoch geht die Arbeit an weiteren Optimierungen vor allem für hohe Zahlen gleichzeitiger Threads weiter. Doch habe sich schon jetzt gezeigt, dass sich mit ausreichend Ressourcen und einer fähigeren Hardware-Architektur mehr Threads erzeugen lassen als auf dem oben genannten Test-System.
- Anzeige Hier geht es zu Linux: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.