Avtobiografija
Nikita Danilov je leta 1996 pridobil naziv doktor na Moskovskem inštitutu za fiziko in tehnologijo. Tema doktorata je bila računalništvo.
Kot študent je delal na razvoju programske opreme za podjetje ACT Financial Systems (danes ne obstaja več). Sodeloval je pri razvoju prenosnega GNU front-end za {OPENLimits} rizični management in sistemsko analizo.
Leta 1994 je delal za Server Ltd., kjer je oblikoval in razvil več velikih sistemov za vlado. Ti sistemi so ponavadi bili grajeni na podatkovnih bazah (Informix ali Oracle) in so delovali s strežniki v ozadju in odjemalci, ki so imeli vmesnike pisane s pomočjo RAD in 4GL orodij. V takih sistemih jasno izpričujejo pomen modularizacije , uporabe dizajna, čistih vmesnikov in najvažnejše, pomen enostavnosti.
V letu 1997, še vedno zaposlen pri Server Ltd., je delal kot svetovalec za Charles Schwab \& Co. Inc., Capital Market & Trading Group, Jersey City, NJ. Njegova naloga je bila razviti visoko zmogljiv server za nek zakonsko zaščiten trgovski protokol. Projekt je vseboval veliko zanimivih elementov, od analize sporočil do load balancing in a thread pool . V tem času, ali malo pred tem, se je pričel zanimati za Linux jedro. Aprila 2000 se je Nikita pridružil Namesys in delal na podatkovnih sistemih Reiserfs. Reiserfs je edinstven datotečni sistem za Linux, ki temelji na balansiranih drevesih in tako učinkovito shranjuje datoteke in meta-datoteke. Delal je na vzdrževanju in bug fixing za reiserfs v3 in nato razvil ter implementiral .
Tema predavanja
Reiser4 je nova verzija datotečnega sistema Reiserfs. Kljub
temu, da je Reiser4 popolnoma predelana verzija, vseeno ohranja
osnovne arhitekturne lastnosti Reiserfs.
Najbolj nenavadno in presenetljivo je to, da uporabljajo sistemi
Reiserfs in Reiser4 samo eno univerzalno uravnovešeno drevo
za shranjevanje vseh podatkov in meta podatkov v datotečnem
sistemu. Uravnovešeno drevo omogoča uporabniku, da shranjuje
in kasneje ponovno prikliče koščke informacij (items), ki se
identificirajo s pomočjo edinstvenega prepoznavanja (key).
Vsak element datotečnega sistema (datoteka ali direktorij)
je predstavljen kot skupek delcev. Vsak delček ima določen
ključ in se shranjuje v uravnovešeno drevo.
Ohranjanje celega datotečnega sistema v drevesu ima nekatere
prednosti v primerjavi z tradicionalnim unixovim datotečnim
sistemom: učinkovito obravnavanje majhnih in zelo majhnih datotek
in podpora večjih direktorijev.
Reiser4 ima nekatere nove lastnosti:
* Infrastruktura za dodajanje modulov: Reiser4 je urejen kot
niz modulov (plugins), kateri komunicirajo preko dobro sestavljenega
kroga notranjih vmesnikov.
* Wandering logs: Reiser4 uporablja to novo tehniko, da bi
zmanjšal režijo, povezano z dnevnikom
* Razporejanje vozlišč: številke blokov so dodeljene drevesnim
vozliščem (vključno z neformatiranimi vozlišči, ki vsebujejo
surove uporabniške podatke) ne v času, ko se vozlišče razporeja,
temveč kasneje; To zniža fragmentacijo in ustvari bolj optimalen
načrt datotečnega sistema.
* Razširljivost: Reiser4 je oblikovan tako, da lahko deluje
na več procesorjih brez prevelike režije.
V osnovi obstajata dva načina izvedbe operacij na uravnovešenem
drevesu: iskanje in modifikacije, ki posodobijo ali dodajo
element z danim ključem.
Reiser4 ima več drevesnih operacij in načinov, kako te operacije
koordinirati. Drevesno uravnovešanje 'od glave do pete' smo
izvedli s pomočjo:
- zaklepanja vozlišč pri pisanju in čitanju
- zaklepanja po prioriteti s protokolom za iskanje neaktivnih
zaklepov
- Algoritma 'carry'
Na predavanju bo poudarek na algoritmih uravnovešanja. Seveda
pa bodo omenjene tudi druge lastnosti.
|