[pso] [T1]numar liste
Razvan Deaconescu
razvand at cs.pub.ro
Fri Mar 7 13:28:47 EET 2008
On Fri, 2008-03-07 at 12:26 +0200, Cosmin Ratiu wrote:
> Ma rog, ar trebui sa fie de bun simt ideea ca o lista pentru fiecare
> syscall si un spinlock pentru fiecare lista in parte e cea mai
> rezonabila implementare...
Nu sunt foarte de acord cu solutia unei liste pentru fiecare syscall.
De ce? Pentru ca asigura o granularitate ce aduce, in anumite situatii,
mai mult rau decat bine.
Avem 350 de capete de lista si 350 de spinlock-uri. Are sens o asemenea
granularitate? Ar avea sens daca ar fi foarte foarte multe apeluri de
sistem intr-un interval de timp si daca dureaza relativ mult cautarea.
Cautarea unui proces intr-o lista de procese monitorizate este insa
foarte rapida. Este posibil sa dureze mai mult achizitionarea unui lock
decat operatia efectiva. Adica riscul supragranularizarii.
In mod evident aceeasi problema (cu timpul de lock) poate aparea si la
folosirea unei singure liste si a unui singur lock.
Trebuie pusa in balans folosirea a 350 de lock-uri, 350 de capete de
lista foarte probabil sa ramana vide cu folosirea unei singure liste cu
elemente de forma <pid, syscall_no, list_ptr> si un _singur_ spinlock si
un _singur_ capat de lista.
Compromisul este memorie vs. viteza. Pe un sistem agitat cu multe
procese (si procesoare), cu accese intense la nucleu (prin apeluri de
sistem), solutia cu mai multe spinlock-uri e preferata. Pe un sistem la
care consumul de memorie e important, si unde acei kilo consumati cu
spinlock-uri si cu liste sunt importanti, solutia cu un singur spinlock
e preferata.
In consecinta, parerea mea este ca nu exista o solutie preferata sau
atot-puternica. Nu vad de ce ar trebui sa existe o depunctare. Da,
enuntul e ambiguu pentru ca "elimina" posibilitatea folosirii mai multor
liste. Dar nu inseamna ca este singura solutie sau ca ar trebui sa se
depuncteze altfel.
Dragos e responsabil cu tema 1 si el decide daca se depuncteaza pentru o
anumita solutie. Parerea mea e ca nu ar trebui sa se depuncteze pentru
nici una din solutii (fiecare are atuurile proprii).
As a side note, pe Windows sunt peste 1000 de apeluri de sistem. Deci se
ocupa ceva mai multa memorie.
Razvan "Hagi Tudose al RAM-ului" Deaconescu
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the pso
mailing list