BOINC 5.x - Optimalizace/modifikace

Nové verze klienta BOINC, BoincView a dalšího software

Moderátoři: zdespi, Moderátoři

Odpovědět
Honza
 
Příspěvky: 4322
Registrován: úte lis 30, 2004 10:50 am

Příspěvek od Honza »

@ trux. Stahnul jsem a poustim, bude reportovat pozdeji, az se to (ne)projevi.

Je nova verze BOINC 5.3.4 s kodovym oznacenim "Grid Republic".
Je urcena pro lidi, kteri vyvijeji accont manager a kteri maji pozadavek, aby pres RPC ziskali od projektu udaje jako pocet aktivnich uzivatelu/masin, kredit atp.). S tim souvisi i nejake zmeny na strane serveru...
Vypada to na vetsi vec - ze by se novy BOINC pripojil na Grid Republic a stahnul info o projektech, do kterych by se clovek mohl pripojit. Pry by se tim mel zjednodusit i zpusob administrace poctarskych farm atp.
http://www.gridrepublic.com/

Animace ukazuje, jak by to asi melo fungovat. Bude se to i inzerovat v tradicnich mediich (casopisy atp.).

GridRepublic asi bude odnoz BOINCu.
Honza
 
Příspěvky: 4322
Registrován: úte lis 30, 2004 10:50 am

Příspěvek od Honza »

@ trux, bohuzel, cpu-affinity stale nepracuje jak ma. Nabehne 2x CPDN SC 422, po hodine se prepne na 2x SETI - vzdy se spravnou affinity. Dobehne prvni SETI a pusti se opet CPDN, ktery se ale pere o CPU s druhym SETI (druhe jadro se flaka).
Nestaci si pouze pamatovat affinitu aplikace.
Nevidim dovnitr jak to delas, ale mozna je lepsi udrzovat tabulku vsech [BOINC volanych] applikaci a pri pousteni nove (nebo resume soucasne) ji pridat affinitu, ktera ja zrovna volna.

Nemam moznost odzkouset to na vic jak 2-cored/CPU masine...mozna se to na dual-core+HT nebo multi-CPU chova trochu jinak, ale asi ne. [slibeny Presshot 955 zatim stale nemam - skoda, pres svatky mohl dobre topit]. Bylo by dobre pouzit nejaky obecnejsi princip nezavisly na poctu jader/CPU.
Uživatelský avatar
trux
Banánová odměna
Banánová odměna
Příspěvky: 874
Registrován: čtv kvě 12, 2005 2:16 am
Kontaktovat uživatele:

Příspěvek od trux »

Honza píše:Nevidim dovnitr jak to delas, ale mozna je lepsi udrzovat tabulku vsech [BOINC volanych] applikaci a pri pousteni nove (nebo resume soucasne) ji pridat affinitu, ktera ja zrovna volna.
Ono si to samozrejme tabulku udrzuje a udeluje affinitu, ktera je volna. To prave ale u nastaveni, ktere nechava aplikaci v pameti nefungovalo, protoze z hlediska systemu jsou si vsechny procesy v pameti rovnocene - OS nepozna, zda jsou v pauze ci v behu - to se reguluje interne v BOINCu. Mohl bych tedy kontrolovat procento zatizeni CPU, to je ale pomerne komplikovane a velmi nespolehlive, protoze kazdy z tech procesu, vcetne tech aktivnich, nezatezuje CPU permanentne. Nelze ale zase pouzivat ciste interni tabulku stavu - ta detekce procesu na urovni OS tam musi byt, protoze procesy mohou byt ukonceny nebo spadnout bez toho, ze by se to do te tabulky dostalo. Takze jsem do te tabulky krome toho stavu detekovaneho pomoci OS, jeste pridal pointer na interni status kazdeho procesu, ktery by mel drzet informaci o tom, zda je projekt v behu, nebo jen docasne v pauze. Bohuzel to ale jeste nestaci. Divam se ted na to a jednu moznost, ktera to muze mit na svedomi tam vidim, tak tam udelam jeste dalsi zmenu a za chvili to soupnu na server.
Uživatelský avatar
Rampa
Expert
Expert
Příspěvky: 456
Registrován: pát říj 21, 2005 5:49 pm
Bydliště: Hlučín

Příspěvek od Rampa »

2 trux tak jsem to dnes prubnul a tvá verze 5.3.2 pro Pentium 4 / SSE chodí zadím bezvadně
benchmarks:
original 5.3.2
1696
2877
trux 5.3.2
1387
5123
thax trux

ty statistyky v magorovi 5.3.x konečně vypadají normálně a dá se v tom vyznat
Obrázek
Uživatelský avatar
Rampa
Expert
Expert
Příspěvky: 456
Registrován: pát říj 21, 2005 5:49 pm
Bydliště: Hlučín

Příspěvek od Rampa »

malý postřeh včera mi vypadli jističe tudíž se mi vypl comp, po spuštění se boinc tvářil jako že nic neví magor byl v defaultním nastavení
rozpočítané WU se tvářili jako že je ještě nikdo nepočítal a projekty s kterých jsem neměl stažené žádné WU se zase tvářili jako že mě neznají tj. neukazoval se kredit ani jméno ani tým po připojení na net se to srovnalo, ale vcelku mě to překvapilo jestli to nemá souvislost s novou verzí protože předešlé mi to nikdy neudělali a to už se mi počítač během počítání vypl hodněkrát

EDIT: používám 5.3.2 magora + trux 5.3.2 core a ještě jsem zjistil že při vypínání oken eXtra Prdel se boinc core nevypne korektně musím ho ručně odstřelit ale to nevím jestli to v souvislosti s novou verzí nebo
Obrázek
Uživatelský avatar
Howard
Expert
Expert
Příspěvky: 356
Registrován: ned lis 28, 2004 9:25 pm
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od Howard »

Take jsem si vsiml, ze boinc nejak zdrzuje pri shutdown, ale jinak mi to problemy nezpusobilo.

Prave se mi stalo, ze Boinc spustil dve CPDN na stejnem "procesoru".
V taskmgr sem videl u obou 25% a necinne procesy mely 50%.
Predtim pocital SETI a jednu wu dopocetl a spustil jedno cpdn. Bezelo seti a cpdn na ruznych cpu, ale pak dopocetl seti, spustil i druhe cpdn a bezeli na stejnem cpu.

Restartoval sem boinc a je to ok. Mam verzi tx5. V remote hosts mam nastaveno
# return_results_immediately
# set_cpu_affinity
Ja samozrejme vubec netusim, jestli je to chyba tx5 verze, nebo zda tuto chybu ma i puvodni verze, ze ktere se vychazelo.
Have you tried to turn it off and on again?
Honza
 
Příspěvky: 4322
Registrován: úte lis 30, 2004 10:50 am

Příspěvek od Honza »

Howard píše:V taskmgr sem videl u obou 25% a necinne procesy mely 50%.

# set_cpu_affinity
Ja samozrejme vubec netusim, jestli je to chyba tx5 verze, nebo zda tuto chybu ma i puvodni verze, ze ktere se vychazelo.
Precti si me prispevky v tomto threadu a kousek doleji a chovani BOINC core porozumis...jiz se na to upozornovalo.

EDIT: @trux - projekty se bohuzel neprepinaji po 1 hodine (podle nastaveni v general preferences) nebo po skonceni vypoctu WU (trva-li mene nez hodinu). Alespon kombinace CPDN-SETI na dual-core. Mozna je to i ovlivneno vetsim poctem zapojenych projektu (ackoli maji No Work from Project). Deadline v tomto pripade nefiguruje, protoze mam v zasobe pouze par vzorku sumu (WUs SETI) a dva SC modely.
Uživatelský avatar
Howard
Expert
Expert
Příspěvky: 356
Registrován: ned lis 28, 2004 9:25 pm
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od Howard »

OK, takze jestli tomu zacinam rozumet spravne, tak pokud bych nenastavil
# set_cpu_affinity
tak by k tomuto jevu nemohlo dojit a orig. boinc aplikace by nic takoveho take nemohla zpusobit?
Have you tried to turn it off and on again?
Honza
 
Příspěvky: 4322
Registrován: úte lis 30, 2004 10:50 am

Příspěvek od Honza »

Howard píše:OK, takze jestli tomu zacinam rozumet spravne, tak pokud bych nenastavil
# set_cpu_affinity
tak by k tomuto jevu nemohlo dojit a orig. boinc aplikace by nic takoveho take nemohla zpusobit?
V podstate ano. # set_cpu_affinity je v soucasne podobne pouzitelne pouze u projektu s kratkou dobou vypoctu WU (a nejspise pouze pri zaojeni pouze do jednoho takoveho projektu), tedy SETI a Predictor.
Uživatelský avatar
Howard
Expert
Expert
Příspěvky: 356
Registrován: ned lis 28, 2004 9:25 pm
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od Howard »

Tak ted se stalo, ze naskocily dve Rosetty a jedna byla sprazena s obema cpu, druha pouze s druhym. Ve vysledku pak jeden procesor byl vytizen pouze napul. Tak jsem v taskmgr to sprazeni upravil a nyni zase jedou kazda na svym cpu.
Have you tried to turn it off and on again?
Uživatelský avatar
trux
Banánová odměna
Banánová odměna
Příspěvky: 874
Registrován: čtv kvě 12, 2005 2:16 am
Kontaktovat uživatele:

Příspěvek od trux »

Z puvodniho zameru jen zkompilovat BOINC klienta s benchmarky odpovidajicimi pouzitemu procesoru a alespon castecne kopenzujici ztraty pozadovaneho kreditu pri zrychleni optimalizovaci aplikace S@H, se postupne a neplanovane vyvinul projekt s pomerne rozsahlymi zmenami. Jak uz mi bylo vytknuto, konfigurace byla nestandartni, a i vnitrne byly zmeny delany ve stylu quick&dirty. Melo to vice duvodu - predevsim jsem puvodne vubec neplanoval delat takove rozsahle zmeny - ty se proste postupne nahromadily. Take jsem spise pocital, ze oficialni tym takove nebo podobne zmeny zaintegruje, a to cistejsim zpusobem. To jiz proto, ze strukturu programu znaji mnohem lepe - ja sam jsem vzdy prostudoval jen mensi cast, kterou jsem zrovna potreboval upravit (nemel jsem prilis casu na to, studovat to komplexneji). Dalsim duvodem bylo, ze udelat to 'ciste', znamena mnohem vice prace a casu, protoze je potreba predefinovat, preprogramovat (a okomentovat) mnohem vice casti programu a pustit se do hlubsich zmen definice OOP struktury. Tomu jsem se take chtel vyhnout, protoze mi pripadlo, ze mi nenalezi to techto casti zasahovat.

Tento tyden jsem upgradoval MS Visual Studio na posledni verzi (MSVS 2005) a pri te prilezitosti jsem musel dost predelavat i kod, aby byl pod novym kompilerem prelozitelny. Protoze jsem mel trochu vic casu, rekl jsem si, ze ty sve zmeny teda prekopu a udelam je ciste, se vsim co je potreba (zmeny definic OOP trid, pridavne funkce, cteni a psani globalnich parametru, ...).

Zaroven jsem i predelal funkci pridelovani affinity, tak aby byla spolehlivejsi i u systemu se suspendovanymi jednotkami, a v ruznych vyjimecnych stavech. Nemam to sice jeste perfektne otestovane, ale kazdopadne je to ted lepe strukturovano a pripadne pristi upravy budou jednodussi.

Diky novemu kompileru by mely byt bechmarky o neco rychlejsi, i kdyz nevim jestli na vsech procesorech. Na Opteronu 248 byl narust znacny (kolem 20%). MSVC 2005 take jiz nema moznost kompilovat optimalizovane pro jednotlive procesory - da se jen zapinat a vypinat SSE a SSE2. MS tvrdi, ze kod je kompilovan tak aby bezel optimalne pod vsemi podporovanymi procesory, bez nutnosti mit separatni verze pro kazdy z nich. Doufejme, ze to funguje - zatim jsem to netestoval na nicem jinem nez na Opteronech, ale dost by mi to zjednodusilo praci.

Pokud tedy mate chut to vyzkouset, tu novou verzi najdete tady:
http://boinc.truxoft.com/download/boinc ... no_sse.zip
http://boinc.truxoft.com/download/boinc ... x7-sse.zip
http://boinc.truxoft.com/download/boinc ... 7-sse2.zip

Popis instalace a noveho typu konfigurace je v readme.cz.txt

Dejte mi vedet, jestli se pozitivne zmeni benchmarky, a jestli beha dobre CPU affinita pokud mate multi-CPU nebo HT system a pouzijete parameter <set_cpu_affinity/> v global_prefs.xml. Kazdopadne zkuste spustit benchmark alespon 3x (radeji i vickrat) - v Integeru jsou rozdily pri jednotlivych bezich nekdy obrovske - ale to je problem u vsech verzi (vcetne oficialnich).
Uživatelský avatar
wert668
Začatečník
Začatečník
Příspěvky: 76
Registrován: sob pro 24, 2005 2:12 pm
Kontaktovat uživatele:

Příspěvek od wert668 »

Dopočítám jednotku a du to prubnout na Sempron (L2 512kB) 3000+
Uživatelský avatar
trux
Banánová odměna
Banánová odměna
Příspěvky: 874
Registrován: čtv kvě 12, 2005 2:16 am
Kontaktovat uživatele:

Příspěvek od trux »

Core klienta muzes vymenit kdykoli, i uprostred jednotky. Jen ho musis zastavit a pak znova spustit.
Miras
Expert
Expert
Příspěvky: 426
Registrován: čtv kvě 12, 2005 2:49 pm

Příspěvek od Miras »

P4-M@1.6G oproti tvý předchozí veřejně dostupný 5.3.2 nárůst z 841/2846 na 1268/2842. Great work! :Honza_clap
Nic jinýho teď bohužel po ruce nemám, až zítra.

Prvně sem se lek že se vloudila nějaká chybička, zkoušel sem to přesně ve chvíli kdy v Berkeley padlo spojení či co :smile:
Naposledy upravil(a) Miras dne čtv pro 29, 2005 11:50 pm, celkem upraveno 1 x.
Uživatelský avatar
wert668
Začatečník
Začatečník
Příspěvky: 76
Registrován: sob pro 24, 2005 2:12 pm
Kontaktovat uživatele:

Příspěvek od wert668 »

Z 1771/2942 na 1738/5021 sugoii ^__^

EDIT by Miras: Na čem (hardware) a oproti čemu (verze a autor předchozí verze)?
Odpovědět