On Wednesday 26 June 2002 04:21 pm, Petru Paler wrote:
> Dorin Lazar wrote:
> > acum cu linuxthreads).
> Unde anume e brambureala? Probabil ca te referi la problemele care apar
> cand amesteci threads si signals, dar alea sunt reparate de catre NGPT.
yup. (silly/dumb question) Ce este NGPT?
> Fiindca tot vorbeam de schimbat fire: switchurile intre taskuri care
> sunt clonate cu CLONE_VM nu fac TLB flush. Te referi cumva la asta cand
> zici "nu ar trebui reincarcate toate datele"? :)
Posibil. Ce e TLB flush?
> > Thread switching should be a lot faster.
> Uh-huh. Mai rapid decat ce? Stii desigur ca Linux are printre cei mai
> rapizi timpi de task switching, nu? Asta cand vorbim de procese normale
> -- daca ajungem la procese clonate deja treaba e _extrem_ de rapida. Si
> stii de ce e asa? Din cauza simplitatii pe care ti-o confera conceptul
> de "nu exista decat procese" (sau "nu exista decat threaduri", depinde
> de terminologia pe care vrei sa o folosesti).
Linux e mai rapid pentru ca renuntsat la impartsirea in doua zone a
structurii de task. Shi pentru ca, shi pentru ca. Intr-adevar. Linux este
'almost there, but not quite'. Mai jos o mica explicatsie
> Oricum, daca PID-urile diferite sunt o problema atat de mare, nu cred ca
> ar fi mare dificultate sa fie implementate (probabil ca adaptarea
> ps/top/etc din userland ar fi mai multa munca decat ce trebuie facut in
> kernel).
Uneltele din userland nu ar trebui modificate. Aici e problema Linux. Ca nu
poate sa faca firele 'invizibile'. Parerea mea este ca e absurd sa ai un fir
care itsi moare de unul singur. Daca teoretic un semnal e transmis tuturor
firelor, realitatea este un pic diferita. Acu' ma lovesc de nishte
implementari de CORBA care imi blocheaza firele de executsie aiurea... Shi e
urat.
Firul de executie ar trebui sa fie chior, iar celelalte procese din sistem
sa nu shtie de el. Firul de executzie ar trebui sa fie 'micul secret ascuns
al procesului' sau o chestie intima intre proces shi scheduler. (poetic zis,
nu?) La Linux asta e imposibil pe moment.
> Mi-e teama ca nu inteleg ce vrei sa spui. Nu ar trebui sa se faca mapare
> pe infrastructura de procese? Atunci unde? Ajungi la ceva gen Pth care
> nu poate beneficia de masini SMP. E mai lent context switchul intre fire
> ale aceluiasi proces? Nu, e mai rapid (vezi discutia de mai sus despre
> TLB).
Am explicat ceva mai sus.
> > Imi amintesc un benchmark pentru Apache 2 care arata o imbunatatire
> > substantiala pe NT dupa folosirea firelor de executzie, si o imbunatatire
> > mai putin evidenta pe Linux. QED.
> Exact, QED, dar la concluzia diametral opusa :) Imbunatatirea
> substantiala pe NT (si banuiesc si pe Solaris, si pe alte OS-uri care au
> un concept separat de LWP) se datoreaza faptului ca pe NT comutarea
> proceselor e INGROZITOR de lenta. Practic, e o trecere de la "foarte
> lent" la "rezonabil" fata de "foarte rapid" la "un pic mai rapid decat
> foarte rapid". E foarte usor sa te pacalesti luandu-te dupa "de 3 ori
> mai rapid" -- uita-te la cifrele absolute ca sa-ti faci imaginea exacta
> despre ce inseamna de fapt un task switch. LMbench is your friend :) Cum
> reuseste Linux sa fie atat de rapid? Cum am spus si mai sus: simplitate,
> simplitate, simplitate.
Shi atunci de ce folosirea firelor de executzie e atat de complicata?
(experientsa practica cu tragism spune ca este, indiferent de ce afirma
oricine). Ok, let's face it: Conceptul de thread nu a fost prea bine intseles
acolo unde trebuia. Parca pana shi Tanenbaum are niscai aversiune la
thread-uri, nu? Cartea de MOS pe care am citit-o (ceva mai veche, e drept)
avea mai nimic despre fire.
> Threadul despre kernel threads (pun intended :) pe Linux pare sa apara
> cu o periodicitate destul de precisa, dar concluziile sunt tot timpul
> aceleasi: Linux ARE suport pentru kernel threads, si merge BINE. NU zice
> nimeni ca e perfect (a se vedea problemele cu semnalele si threadul de
> management din librariile linuxthreads) dar NU sunt probleme grave si se
> lucreaza la ele (ma astept ca NGPT sa inlocuiasca total linuxthreads
> dupa ce va apare urmatoarea serie de kernele stabile).
Problemele sunt grave doar in momentul in care un afurisit de fir de
executzie itsi intarzie proiectul cu 10 zile. Atunci itsi vine sa te dai
inapoi pe Windows. Pe NT, mai exact... Awful.
De altfel Linuxthreads is facute cam la mishto la adresa lumii. Nu potzi sa
'ascultzi' pe mai multe evenimente decat cu chinuri groaznice. Nu potsi
'captura' doi mutecshi fara un al treilea. Lista ar putea continua.
sp00ky
Each generation has it's OS. Generations change every 20 years, so we have 8
more years to wait?
---
Pentru dezabonare, trimiteti mail la
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/