Page 16 - Fister jr., Iztok, and Andrej Brodnik (eds.). StuCoSReC. Proceedings of the 2017 4th Student Computer Science Research Conference. Koper: University of Primorska Press, 2017
P. 16
ka 1: Diagram primerov uporabe porazdeljenega sistema.
Mersennova ˇstevila z manjˇsimi faktorji, ki predstavljajo ve- 4. APLIKACIJA
lik deleˇz kandidatov. S pomoˇcjo sistem GIMPS so do sedaj
naˇsli 15 Mersennovih praˇstevil. Implementacijo porazdeljenega sistema smo naˇcrtovali tako,
da bo podpiral naslednje funkcionalnosti:
S prihodom kriptovalut je postalo razdeljevanje nagrad za
opravljeno raˇcunsko delo veliko laˇzje. Z njihovo pomoˇcjo bo • Anonimna uporaba in hitra registracija uporabnika.
projekt Golem [2] poskuˇsal postati decentraliziran superra-
ˇcunalnik in s tem globalni trg raˇcunalniˇskih virov. Naroˇcnik • Izvajanje algoritmov v varnem okolju (angl. sandbox)
bo s povezovanjem raˇcunalnikov v porazdeljen sistem lahko znotraj JavaScript okolja v brskalniku.
najel vire od drugih uporabnikov, ki se nato uporabljajo
za izvedbo nalog. Plaˇcila se izvajajo na transakcijskem sis- • Prenaˇsanje rezultatov iz odjemalca na streˇznik.
temu, ki je osnovan na Ethereum ter omogoˇca neposredne
transakcije med uporabniki in naroˇcniki. • Dodeljevanje nalog iz streˇznika na odjemalce.
V ˇclanku [9] so pokazali, da je moˇzno uporabljati spletne • Prikaz izvajanja algoritma uporabniku na intuitiven
brskalnike za izvajanje porazdeljenih algoritmov, kar nam je naˇcin.
dalo dodatni zagon pri naˇcrtovanju in implementaciji poraz-
deljenega sistema, opisanega v tem ˇclanku. Postopek implementacije smo razdelili v veˇc faz:
• Naˇcrtovanje podatkovnega modela.
3. LABS
• Izbira ogrodij za razvoj spletnih aplikacij.
Problem neperiodiˇcnih binarnih zaporedij z nizkimi avtoko-
relacijami lahko opiˇsemo z binarno sekvenco dolˇzine L: • Implementacija zalednega sistema (angl. backend).
S = s1s2...sL, si ∈ {+1, −1}. (1) • Implementacija algoritma lssOrel v jeziku JavaScript.
Energijo sekvence in faktor F izraˇcunamo z uporabo nasle- • Implementacija uporabniˇskega vmesnika.
dnjih enaˇcb:
• Implementacija nadzorne ploˇsˇce.
L−1 (2)
Porazdeljen raˇcunalniˇski sistem zaˇcne nov zagon algoritma
E(S) = Ck2(S), po ukazu administratorja na nadzorni ploˇsˇci. Vsak nov od-
jemalec poˇslje povpraˇsevanje na streˇznik, le ta pa mu posre-
k=1 duje naloge ali pa ga postavi v stanje pripravljenosti, kjer
ˇcaka na delo. Vsak odjemalec posreduje streˇzniku infor-
L−1 (3) macije o napredku reˇsevanja problema. To posredovanje se
izvaja vsakih 5 minut ali ko se najde novo najboljˇsa reˇsitev.
Ck(S) = sisi+k. Na tak naˇcin se izognemo prekomerni komunikaciji med od-
jemalcem in streˇznikom. Ker uporabljamo stohastiˇcne al-
k=1 goritme, se vsakemu odjemalcu dodeli unikatno seme. Seme
uporablja odjemalec, da inicializira generator nakljuˇcnih ˇste-
F (S) = L2/(2E(S)) (4) vil. S tem se izognemo, da bi odjemalci reˇsevali problem na
enak naˇcin.
Cilj reˇsevanja problema je minimizirati energijo oz. maksi-
mirati vrednost faktorja F . Iskanje binarnih sekvenc z naj-
boljˇsim faktorjem F ima pomembno vlogo pri reˇsevanju teh-
niˇcnih problemov na podroˇcju komunikacij.
StuCoSReC Proceedings of the 2017 4th Student Computer Science Research Conference 16
Ljubljana, Slovenia, 11 October
Mersennova ˇstevila z manjˇsimi faktorji, ki predstavljajo ve- 4. APLIKACIJA
lik deleˇz kandidatov. S pomoˇcjo sistem GIMPS so do sedaj
naˇsli 15 Mersennovih praˇstevil. Implementacijo porazdeljenega sistema smo naˇcrtovali tako,
da bo podpiral naslednje funkcionalnosti:
S prihodom kriptovalut je postalo razdeljevanje nagrad za
opravljeno raˇcunsko delo veliko laˇzje. Z njihovo pomoˇcjo bo • Anonimna uporaba in hitra registracija uporabnika.
projekt Golem [2] poskuˇsal postati decentraliziran superra-
ˇcunalnik in s tem globalni trg raˇcunalniˇskih virov. Naroˇcnik • Izvajanje algoritmov v varnem okolju (angl. sandbox)
bo s povezovanjem raˇcunalnikov v porazdeljen sistem lahko znotraj JavaScript okolja v brskalniku.
najel vire od drugih uporabnikov, ki se nato uporabljajo
za izvedbo nalog. Plaˇcila se izvajajo na transakcijskem sis- • Prenaˇsanje rezultatov iz odjemalca na streˇznik.
temu, ki je osnovan na Ethereum ter omogoˇca neposredne
transakcije med uporabniki in naroˇcniki. • Dodeljevanje nalog iz streˇznika na odjemalce.
V ˇclanku [9] so pokazali, da je moˇzno uporabljati spletne • Prikaz izvajanja algoritma uporabniku na intuitiven
brskalnike za izvajanje porazdeljenih algoritmov, kar nam je naˇcin.
dalo dodatni zagon pri naˇcrtovanju in implementaciji poraz-
deljenega sistema, opisanega v tem ˇclanku. Postopek implementacije smo razdelili v veˇc faz:
• Naˇcrtovanje podatkovnega modela.
3. LABS
• Izbira ogrodij za razvoj spletnih aplikacij.
Problem neperiodiˇcnih binarnih zaporedij z nizkimi avtoko-
relacijami lahko opiˇsemo z binarno sekvenco dolˇzine L: • Implementacija zalednega sistema (angl. backend).
S = s1s2...sL, si ∈ {+1, −1}. (1) • Implementacija algoritma lssOrel v jeziku JavaScript.
Energijo sekvence in faktor F izraˇcunamo z uporabo nasle- • Implementacija uporabniˇskega vmesnika.
dnjih enaˇcb:
• Implementacija nadzorne ploˇsˇce.
L−1 (2)
Porazdeljen raˇcunalniˇski sistem zaˇcne nov zagon algoritma
E(S) = Ck2(S), po ukazu administratorja na nadzorni ploˇsˇci. Vsak nov od-
jemalec poˇslje povpraˇsevanje na streˇznik, le ta pa mu posre-
k=1 duje naloge ali pa ga postavi v stanje pripravljenosti, kjer
ˇcaka na delo. Vsak odjemalec posreduje streˇzniku infor-
L−1 (3) macije o napredku reˇsevanja problema. To posredovanje se
izvaja vsakih 5 minut ali ko se najde novo najboljˇsa reˇsitev.
Ck(S) = sisi+k. Na tak naˇcin se izognemo prekomerni komunikaciji med od-
jemalcem in streˇznikom. Ker uporabljamo stohastiˇcne al-
k=1 goritme, se vsakemu odjemalcu dodeli unikatno seme. Seme
uporablja odjemalec, da inicializira generator nakljuˇcnih ˇste-
F (S) = L2/(2E(S)) (4) vil. S tem se izognemo, da bi odjemalci reˇsevali problem na
enak naˇcin.
Cilj reˇsevanja problema je minimizirati energijo oz. maksi-
mirati vrednost faktorja F . Iskanje binarnih sekvenc z naj-
boljˇsim faktorjem F ima pomembno vlogo pri reˇsevanju teh-
niˇcnih problemov na podroˇcju komunikacij.
StuCoSReC Proceedings of the 2017 4th Student Computer Science Research Conference 16
Ljubljana, Slovenia, 11 October