(Courriels de diversion: <malfaiteurs@meteorologique-demanche.com> <croquer@delicatesses-congeneres.com> <emeche@satisfaisant-suppleerent.com> <enjambera@grossissons-accumulateurs.com> <indifferemment@eluciderez-cueillais.com> <malversation@convenu-insonorisait.com> <vilipendees@encapsules-deformons.com> <imaginerez@maîtresse-blinderont.com> <supportant@tueuse-indistinctes.com> <ponderes@relirait-pelles.com> )


Bonsoir,

Guillaume Betous a écrit :
| ce que je sais de ces bibliotheques, c'est qu'elles sont compilees
| pour etre utilisees par un noyau (???) NPTL (Native POSIX Thread
| Library).
|
| si qqu'un a des infos complementaires (config du noyau, bibliotheques
| complementaires necessaires etc...), qu'est-ce qu'il y avait avant
| NPTL, a quoi ca sert, qu'est-ce que ca apporte... je suis preneur !

La NPTL est la nouvelle implémentation des Threads POSIX sous
GNU/Linux. Elle remplace la bibliothèques LinuxThread, initialement
développée par Xavier Leroy en 1996 et toujours utilisée sur la
quasi-totalité des systèmes GNU/Linux.

La NPTL offre de très nombreux avantages sur la LinuxThread.

Pour commencer, elle rend enfin cet aspect du système conforme à la
norme POSIX, ce qui n'était pas le cas avec son ainée (dont la gestion
des signaux est notoirement problématique). Au passage, elle supprime
quelques curiosités comme le thread de management qui fait que lorsque
vous créez N thread, la commande 'ps' vous en montre toujours N + 1.

La NPTL est aussi bien plus performante que la LinuxThread, notamment
dans la création et la destruction des threads (cela a un impact
significatif sur les performances des serveurs multi-threadés qui
créent des threads à la volée au lieu de constituer un pool de threads
dormants).

Le père de la NPTL est Ulrich Drepper. Un tour sur sa page suffira à
vous convraincre que ce type n'a rien d'un amateur :

http://people.redhat.com/drepper/

Pour ma part, ses papiers sur l'optimisation des applications m'ont
appris énormément de choses.

Pour en revenir à la NPTL, vous trouverez sur la page de Drepper un
livre blanc qui permet en quelques pages de comprendre tout ce qui ne
va pas dans la LinuxThread et tout ce qu'apporte la NPTL :

http://people.redhat.com/drepper/nptl-design.pdf

Pour info, même IBM qui avait fini par développer la NGPT, une
bibliothèque alternative (implémentant des threads en espace noyau et
utilisateur) a finalement jeté l'éponge en constatant les performances
et les fonctionnalités offertes par la NPTL. cf. le site de la NGPT :

http://www-124.ibm.com/pthreads/

Et l'annonce d'IBM :

http://www-124.ibm.com/pthreads/docs/announcement

Quant à ce qu'il faut pour utiliser la NPTL sous GNU/Linux, la liste
est simple : un noyau 2.6 (il me semble qu'un rétro-portage sur le 2.4
existe mais je n'en suis pas sûr) et une bibliothèque GNU libc
compilée de manière adéquate (activation de la NPTL en lieu et place
de la LinuxThread) suffisent. Sous Debian, il existe un paquet
spécifique nommé libc6-i686.

Sébastien

-- 
Sébastien Dinot, sdinot@april.orgSecrétaire de l'APRIL (http://www.april.org)
Association pour la Promotion et la Recherche en Informatique Libre

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>