[OSy] Upresneni zadani - neblokujici seznamy
Martin Decky
decky at d3s.mff.cuni.cz
Tue Feb 28 12:37:51 CET 2012
Hezky den,
> Soucasti zadani je implementace neblokujiciho spojoveho seznamu dle
> vhodne zvoleneho algoritmu. Dale se pise, ze implementace tohoto seznamu
> by mela byt shodna nebo maximalne podobna klasicke implementaci
> spojovych seznamu.
Presne je v zadani napsano, ze _rozhrani_ neblokujici datove struktury
by melo byt shodne nebo podobne klasicke blokujici implementaci (tedy
jejimu rozhrani). Implementace jako takova bude nepochybne dost odlisna.
Motivace k podobnosti rozhrani obou implementaci je samozrejme to, aby
bylo mozne obe varianty snadno porovnat na stejnem workloadu.
> Jelikoz soucasti zadani je i vytvoreni testu/benchmarku, ktery otestuje
> tuto neblokujici strukturu v porovnani s klasickou implementaci
> pouzivajici synchr. primitiva, porovnaval bych tedy tuto implementaci
> neblok. seznamu s usporadanym spojovym seznamem vyuzivajici mutex pro
> zajisteni atomicity operaci insert, remove, find.
Principielne to je spravne. Zustava otazka, jestli by se nenasel nejaky
dustojnejsi protivnik -- napriklad spojove seznamy, ktere nepouzivaji
pouze jeden globalni mutex pro zamykani cele struktury, ale treba nejake
hierarchicke zamky nebo nejaky jiny trik, ktery umozni trochu vetsi miru
paralelismu (globalni zamek, lokalni zamky na jednotlive polozky,
hand-over-hand locking apod.).
Ale to uz zalezi na konkretnich detailech Vasi implementace, kterou neznam.
> Zajima me tedy, jestli tato varianta neblok. seznamu odpovida zadani a
> zda tedy mohu pro benchmarking pouzit usporadane varianty spojovych
> seznamu...
Myslim si, ze to zadani rozhodne nijak neodporuje.
M.D.
More information about the NSWI004
mailing list