Shakkipelien hajautettu analysointi www-selaimella

Interenet-pelaaminen, pelitietokannat, tietokoneohjelmat yms.

Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja JHam » Ti Huhti 14, 2015 11:04 am

Sovelluksen osoite: 31.220.15.56:8000
Testipelin seuranta: 31.220.15.56:8000/follow/rkn0.pgn

------------------------------------------
Selite:

Laitan testikäyttöön ensimmäisen version shakkipelien hajautetusta analysointijärjestelmästä, joka jakaa analysoitavia shakkiasemia www-käyttäjille. Käyttäjä voi ottaa analysointiin osaa tavallisella www-selaimella. Sovellus analysoi shakkiasemia käyttäen hyväksi nettisurffaajan tietokoneen keskussuoritinta (CPU). Käytännössä nettisurffaaja siis lahjoittaa CPU-aikaansa shakkipelien analysointiin. Analysointi hoidetaan suoraan www-sivun kautta - mitään ei tarvitse asentaa, jos vain soveltuva selain on käytössä. Tällä hetkellä soveltuvat selaimet ovat Mozilla Firefoxin ja Google Chromen viimeisimmät versiot. Ei tarvitse olla ihan viimeisin, mutta noin keskimäärin sovellus pyörii sitä paremmin, mitä tuoreempi versio (optimisaatiot kehittyvät selainversiosta toiseen yhä paremmiksi).

Ikivanhoilla selaimilla / selainversioilla sovellus ei toimi ja jos toimii, niin aivan tajuttoman hitaasti. Tämä on oletus, en ole kokeillut yhdelläkään vanhalla selaimella.

Järjestelmä perustuu serveriohjelmistoon, joka automaattisesti jakaa analysoitavaa tavaraa loppukäyttäjien suuntaan. Tällä tavoin pystytään erittäin nopeasti hyödyntämään skaalautuvuutta ja massa-etuja; jos yksi tietokone analysoi yhden aseman yhdessä sekunnissa (1 käyttäjä / 1 asema / 1 sek), niin sata käyttäjää analysoi sata asemaa yhdessä sekunnissa (100 käyttäjää / 100 asemaa / 1 sek). Skaalautuvuus on ainakin johonkin pisteeseen asti lähes lineaarista, sillä esim. 1000 shakkipeliä sisältää noin 100 000 asemaa, jotka sitten voidaan vapaasti jakaa esim. 1000 asemaa per käyttäjä, jos online-tilassa olevia käyttäjiä on sata.

Loppukäyttäjien sovellus hyödyntää automaattisesti moniydin-CPU:ta, jolloin on mahdollista analysoida x määrää asemia samanaikaisesti. Tällä hetkellä hyödyntäminen on vielä rajallista; sovellus lähtee analysoimaan kahta asemaa samanaikaisesti riippumatta CPU-ydinten määrästä. Myöhemmin on tarkoitus mahdollistaa täysimittainen "mehut irti" -periaate; jos kotikone on 16-ytiminen monsteri, niin ainakin 10 asemaa pitäisi pystyä analysoimaan kerrallaan. Omalla koneella (8 ydintä) pystyn ajamaan kuutta analysointia yhtäaikaisesti, ja silti Youtubet sun muut pyörivät täydellisesti (On toki täysin mahdollista, että käyttöjärjestelmä ei ota käyttöön kuutta CPU-ydintä vaikka kuusi analysointia olisikin käynnissä. Tälläisessä tapauksessa suorituskyky ei skaalaudu lineaarisesti.)

Nykyinen rajoitus on siksi, että eri ihmisillä on erilaisia koneita kotonaan, ja testivaiheessa on tärkeää varmistaa toimivuus. Tavoitteena on, ettei kenenkään kotikone lähde takkuamaan; sovelluksen on tarkoitus pyöriä niin, että tavallinen nettisurffailu onnistuu samanaikaisesti toista selainikkunaa käyttäen. Moderneilla tietokoneilla analysointi pyörii niin sujuvasti, ettei mitään eroa ole huomattavissa kun surffaa samaan aikaan muualla netissä. Tulevaisuus tuo mukanaan kokoajan enemmän ytimiä muutenkin, joten potentiaali on suuri*.

Testiversiota pääsee kokeilemaan osoitteessa: 31.220.15.56:8000

Analysoinnin voi aloittaa klikkaamalla "Start analysing". Analysointi lähtee pyörimään ja käyttäjä voi katsella analysoinnin etenemistä omalta ruudultaan. Mihinkään ei tarvitse koskea. Kun analysoinnin haluaa lopettaa, on kohteliasta klikata laudan alapuolen nappula tilaan "Auto-analysis OFF" ja odottaa, kunnes kaikki CPU-ytimet ("Threads") ovat tyhjäkäynnillä (= näkyvät punaisina Threads-palkissa). Kun analyysi on pois päältä ja Threadsit ovat punaisina, voi selaimen sulkea. Jos selainikkunan sulkee kesken analysoinnin, serveri joutuu laittamaan käyttäjälle uskotut asemat uudelleen kiertoon ja se vie jonkin verran aikaa. Mitään peruuttamatonta ei kuitenkaan tapahdu vaikka vahingossa sulkisi selaimen kesken kaiken.

Järjestelmään on testin vuoksi ladattu shakki.netin Suomitietokannan pgn-paketti "Suomi 2013/09", eli 149 peliä.

Analysoinnin etenemistä voi seurata: 31.220.15.56:8000/follow/rkn0.pgn

Järjestelmä käyttää Stockfish 5 -engineä analysoinnin suorittamiseen. Tällä hetkellä jokainen asema analysoidaan vaatimattomalla 12 plyn syvyydellä; myöhemmin syvyyttä voidaan nostaa kunhan testikäyttö on ohitse.

Sovellusta ei suositella käytettäväksi mobiililaitteilla koska raskas analysointi mobiililaitteella kuluttaa paljon akkua.


* esim. 32-ytiminen tietokone, joista 30 analysoi shakkiasemia samanaikaisesti. Jos yksi asema analysoidaan yhdessä sekunnissa ja oletetaan lineaarinen skaalautuvuus, niin kaikki Suomen lisenssipelaajat (sanotaan 1000 kpl) pystyisivät analysoimaan 30 * 3600 * 1000 = 100 miljoonaa asemaa, eli noin miljoona kokonaista peliä tunnissa.
JHam
 
Viestit: 328
Liittynyt: Pe Joulu 10, 2010 2:19 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja JHam » Ti Huhti 14, 2015 4:28 pm

Ohessa esimerkki millaista jälkeä järjestelmä tuottaa.

Input: 1. g3 Nf6 2. Bg2 g6 3. e4
Output: 1. g3 {-0.30,e7e5} Nf6 {-0.04,d2d4} 2. Bg2 {-0.33,e7e5} g6 {0.17,e2e4} 3. e4 {0.12,e7e5}

Eli jokaisen siirron jälkeen on PGN-standardin mukaisten kommenttitagien sisällä asema-arvio (aina valkean näkökulmasta) ja paras siirto, pilkulla erotettuna. Paras siirto on UCI-muodossa, eli lähtöruutu ja saapumisruutu.

Ensimmäisen massa-analysointi sujui nopeasti ja pgn-tiedosto on suoraan ladattavissa: http://31.220.15.56/distchess/public/downloads/rkn0.pgn. Tiedostokoko noin 200 kilotavua.
JHam
 
Viestit: 328
Liittynyt: Pe Joulu 10, 2010 2:19 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja Toivo Pudas » Ke Huhti 15, 2015 11:13 am

Tämän hyödyntämisestä kysyisin.

Jos esimerkiksi Magnus Carlsen haluaisi haastaa Sauli Tiitan uudelleen kostaakseen 13 vuoden takaisin häviön, ja Sauli haluaisi valmistautua peliin.

Sauli lataisi kaikki omat pelinsä ja kaikki Magnuksen pelit tietokantaan ja kutsuisi kaikkia tietokoneen omistavia tuttujaan auttamaan.

Olisiko koko joukkoanalyysin tulos ja tietokannat myös Magnuksen tai kenen tahansa muun nähtävissä?

Voisiko Sauli ladata vain omalle serverilleen tuon systeemin ja pitää analysoinnin tulokset itsellään?
Toivo Pudas
 
Viestit: 2888
Liittynyt: Ke Touko 26, 2010 4:12 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja JHam » Ke Huhti 15, 2015 1:06 pm

Käytännössä järjestelmä kannattaa ajatella pitkänä putkenpalana; yhdestä päästä työnnetään pgn-tiedostoja sisälle, ja toisesta päästä tulee pgn-tiedostoja ulos. Sisäänkäynnin puolella kuka tahansa voi työntää omia tiedostojaan putkeen. Ulostulon puolella pääsee ainoastaan näkemään analysoidun pgn-tiedoston jos tietää sen tunnisteen (esim. rkn0 tuossa ylemmässä viestissä). Eli kyllä, analysoinnin tulokset ovat lähtökohtaisesti privaatteja koska jokainen pgn-tiedoston lataaja saa tietoonsa oman, yksilöidyn tunnisteensa, jota käyttäen on mahdollista saada valmis pgn-tiedosto ladattua.

Analysointiaikaa lahjoittava loppukäyttäjä ei voi valita mitä pelejä / tiedostoja hän analysoi, vaan serveri puskee tavaraa kotikoneiden suuntaan siinä järjestyksessä, missä tiedostot on ladattu sisään. Järjestelmä on helposti ladattavissa mille tahansa keskinkertaiselle* serverille; käytännössä vain kopioi tiedostot ja muutaman asetukset muuttaa. Tosin yhden ohjelman joutuu asentamaan.

* serverihän ei oikeastaan tee mitään kuormittavaa työtä, kun kaikki raskas analysointi hoidetaan loppukäyttäjien tietokoneilla. Serverin tehtäväksi jää lähinnä pitää kirjaa analysointien edistymisestä ja hallita keskeneräisiä tiedostoja.
JHam
 
Viestit: 328
Liittynyt: Pe Joulu 10, 2010 2:19 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja JHam » Ke Huhti 15, 2015 9:16 pm

Järjestelmä on nyt liiton palvelimella ja kytketty testikäyttöön liiton kotisivuston yhteyteen. Liiton kotisivun etusivulla on oikealla moduuli, joka seuraa analysoinnin etenemistä.

Uusi osoite: http://www.shakkiliitto.net:8000

(Jos joku ihmettelee mikä tuo "8000" on osoitteen perässä, niin se viittaa tietokoneen porttiin numero 8000. Tämä on pakollinen lisäys, sillä tavallinen portti 80 (johon osoite "www.shakkiliitto.net" johtaa) on jo käytössä)
JHam
 
Viestit: 328
Liittynyt: Pe Joulu 10, 2010 2:19 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja Toivo Pudas » To Huhti 16, 2015 4:08 pm

Tuo olisi hyvä, jos olisi koko ajan analysoitavaa. Itse tarvitsisin prosessin, joka takaisi sen että läppäri ei sammu itsekseen. Näin voin etäkäyttää ko. konetta.

Nyt näyttää analysoitavat loppuneen. Lisää, please.

Varmaankin kannattaa pistää joku muu sivu päällimmäiseksi koneen näytölle, ettei shakkilauta pala ruutuun (ainakin vanhoilla systeemeillä näin kävi.
Toivo Pudas
 
Viestit: 2888
Liittynyt: Ke Touko 26, 2010 4:12 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja JHam » To Huhti 16, 2015 5:48 pm

Latasin shakki.netin vuosipaketin "Suomi 2013". Yhteensä meni sisään 3870 peliä. Hiukka jännitti mitä serveri sanoo, kun kunnolla kaatuessaan kaatuisi myös liiton kotisivut. Mutta näytti ottavan vastaan.

Eiköhän tuossa hetki vierähdä taas.

Edellinen puketti (n. 600 peliä) on ladattavissa: http://shakkiliitto.net/distchess/publi ... s/egu0.pgn

Seuraava haaste lienee shakki.netin "Suomi 2000-2007" -paketti ja sen 23000 peliä. Tosin ongelmaksi muodostuu noilla lukumäärillä että keskusmuisti loppunee serveriltä kesken.
JHam
 
Viestit: 328
Liittynyt: Pe Joulu 10, 2010 2:19 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja JHam » Ma Huhti 20, 2015 9:22 am

Järjestelmä kaatui viime yönä. Tietokantayhteys törmäsi timeouttiin. Yhteensä 1700 peliä ehti tulla analysoiduiksi.

Uusi batch ladattu (reilut 2000 peliä) ja palvelin täydessä toiminnassa.

Laitan illalla kun on aikaa liiton sivuille erillisen osion kaikkia analysoituja pgn-tiedostoja varten niin jokainen voi niitä latailla jos/kun haluaa.
JHam
 
Viestit: 328
Liittynyt: Pe Joulu 10, 2010 2:19 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja Boris » Ma Huhti 20, 2015 2:33 pm

JHam kirjoitti:Hiukka jännitti mitä serveri sanoo, kun kunnolla kaatuessaan kaatuisi myös liiton kotisivut.


JHam kirjoitti:Järjestelmä kaatui viime yönä.


Pitäisikö tämä ymmärtää niin, että liiton kotisivuille on rakennettu jokin viritelmä, joka huonolle tuulelle sattuessaan kaataa liiton kotisivut? Mikäli näin on, onko moisessa mahdollisesti jokin järki? Vai olenko minä vain asioita tajuamaton vanha pieru?
Boris
 
Viestit: 246
Liittynyt: Ma Joulu 12, 2011 6:26 pm

Re: Shakkipelien hajautettu analysointi www-selaimella

UNREAD_POSTKirjoittaja JHam » Ma Huhti 20, 2015 4:52 pm

Boris kirjoitti:
JHam kirjoitti:Hiukka jännitti mitä serveri sanoo, kun kunnolla kaatuessaan kaatuisi myös liiton kotisivut.


JHam kirjoitti:Järjestelmä kaatui viime yönä.


Pitäisikö tämä ymmärtää niin, että liiton kotisivuille on rakennettu jokin viritelmä, joka huonolle tuulelle sattuessaan kaataa liiton kotisivut? Mikäli näin on, onko moisessa mahdollisesti jokin järki? Vai olenko minä vain asioita tajuamaton vanha pieru?


Asia on itse asiassa tismalleen noin kuten ilmaisit.

Viime yönä järjestelmä ei varsinaisesti kaatunut, kunhan vain tietokanta otti vähän omaa lomaa. Se ei riitä kaatamaan edes heinänkortta. Voin kyllä mielessäni kuvitella monta skenariota jotka riittäisivät kaatamaan liiton palvelimen.
JHam
 
Viestit: 328
Liittynyt: Pe Joulu 10, 2010 2:19 pm

Seuraava

Paluu Internet & ohjelmat

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 19 vierailijaa