RazmjenaVjestina
NamosBiljeske: Revision 13
- radjeno po papiru iz 70tih. autor je kasnije radio na dizajnu UDP protocola, sto govori o samoj filozofiji namosa.
- trenutno Linux 64bit. uzimamo sve sta mozemo sta nam omogucava brzi razvoj.
- kasnije cemo ic nazad, trazit kako radit na 32bit linux, pa window, i idealno ANSI Lisp.
- kocept pseudo vremena je kljucan
- namos objekt je za sada skalar, jedna vrijednost.
- objekt ima tri metode: create, lookup, destroy.
- svaki objekt ima 1. host, 2. pseudo-vrijeme, 3. vrijednost, 4. transakciju
- sigurnost, sinhronizacija vremena servera, i jos puno drugih bitnih pitanja nisu trenutno rjesavana
- greske nisu iznimka, nego sastavni dio dizajna sistema
- nema nikakve garancije da ce akcija uspit, prvi koji stigne izvrsit akciju uspije, ostali vrate gresku
- pseudo-vremenska okruzenja
- sve je stalno asinhrono
- mozemo ga napravit sinhrono, ali bi program bio sporiji od spektruma
- steamova nema, sve su paketi, i totalno nezavisni, nepovezani,
- paket moze pitat: koja je vrijednost u vremenu t1? odogovor je 5, i to je sve.
- 1 UDP paket je jedan objekt. bez stanja. vrijeme i UUID drugog objekta (ili ID tranzakcije?) su jedino zajednicko.
- ako paket propadne, pokusat cemo opet.
- klasicne operacije su kratke
- hrpa threadova cita sa istog queue, nema optimizacije, cachiranja threadova
- primanje i slanje poruka je jedna od glavnih komponenata sistema
- za svaki paket se dize novi thread
- UUID, ptime, value, poss-desc (transakcija)
- sve uvijek zivi pod tranasakcijom, cak i jedno jedino citanje vrijednost.
- moglo bi se sve radit pod root tranasakcijom, ali to nema smisla
- time-out je sastavni dio sistema, paradigma
- koncept deffered execution (Twisted to ima), ako primatelj ne zna sto sa paketom, zamota ga u lambdu spremi, i oslobodi thread.
- roditelj moze, ali ne mora cekat djecu da zavrse, da bi commit transakciju. kad roditelj commita, nezarsena djeca se podizu u roditelje.
- possiblities
- uuid, parent, state, commit, abort, host, ?
- abort/commt problemi su veliki
|