Stránka 1 z 1

Chybné přidělení výpočetního času za vypočtenou jednotku.

Napsal: stř 21 črc, 2010 08:59
od PavelDruid
Zdravím.

Na notebooku dělám posledních pár dní údržbu a tak projektu WCG nemohu dát 100% výkon CPU a počítání jednotek se tedy protáhlo o několik hodin.

Dnes jsem koukal na stránky WCG a mám pochopitelný mírný propad kreditů, ale co mě zarazilo i času! Místo abych se postupně přibližoval k teoretickému výpočetnímu času 48 hodin (2 jádra po 24 hodinách), tak mám dlouhodobý průměr 1 den a 13 hodin i přesto, že počítám v podstatě non-stop...

Dal jsem si na to pozor a počítal dnes jednotku cca 10-11 hodin, ale po odevzdání mám na stránkách výpočetní čas pouze 7-8 hodin.

Takže bych z toho vyvodil závěr, že jak kredit, tak výpočetná čas jsou přidělovány zřejmě z průměru a nikoli ze skutečného výpočetního času konkrétního počítače.

A jak je to u Vás?

P.S.: V nejbližších dnech udělám ještě pár testů a jsem zvědav jak to dopadne.

Re: Chybné přidělení výpočetního času za vypočtenou jednotku

Napsal: stř 21 črc, 2010 11:16
od petnek
Procesorový čas a čas, který vidíš v BM se může lišit. Pokud například já celý den dělám ve Photoshopu, který dokáže vytížit i 4 jádra, mám u jednotek v BM třeba 10 hodin, ale CPU time je jen 4 hodiny (v extrémním případě). To samé nebo něco podobného se může dít i u tebe.

Re: Chybné přidělení výpočetního času za vypočtenou jednotku

Napsal: stř 21 črc, 2010 12:22
od nenym
Ve statistikách WCG je vidět pouze CPU time (tedy čistý procesorový čas), run time/elapsed time (celkový čas - na serveru se jmenuje run, v BM elapsed) je vidět na ostatních projektech, pokud mají novější verzi serveru a práci zpracovává klient verze 6.x.x (klienti 5.x.x- hlásili pouze čistý CPU time). Důvod uvedl petnek zcela přesně.
Když si BM klikneš na vlastnosti (properties) úlohy, uvidíš jak elapsed time, tak CPU time. Ten rozdíl je čas, který si vzaly jiné aplikace s vyšší prioritou. Pro rýpaly - neplatí to zcela přesně vždy a za všech okolností a na všech projektech, ale na WCG je to pravda.
U sebe to nejlépe zjistíš tak, že po dopočítání úlohy (před jejím odesláním) se podíváš, jaký má CPU time a elapsed time a hned budeš vědět, na čem jsi. Moje zkušenost s WCG je taková, že CPU time odpovídá přesně, projekt nic neodhaduje z průměrů a přiděluje kredit i (čistý) čas - podklad pro medaile - velmi korektně.

Re: Chybné přidělení výpočetního času za vypočtenou jednotku

Napsal: stř 21 črc, 2010 14:52
od PavelDruid
Docela by mě zajímalo, jak by dopadl CPU i7 s 4 + 4 virtuálními jádry. Zda by se počítal pouze čistý čas 4 fyzických jader a nebo i těch 4 virtuálních.

Re: Chybné přidělení výpočetního času za vypočtenou jednotku

Napsal: stř 21 črc, 2010 15:53
od Haer
Predne I7 nema 4 fyzicka a 4 virtualni. Ma 4 fyzicka z pohledu fyzicky vyrobenych ucelenych (kompletnich) core, a 8 virtualnich procesoru z pohledu paralelizace procesu, coz je zajisteno zdvojenim registru (tedy tech veci, ktere maji v CPU jakousi pamet stavu). V praxi se muze jednat napr. o situace, kdy jedno vlakno bezici na danem fyzickem jadru nema v cache nasledujici instrukce a musi si je vyzadat z operacni pameti, tak misto toho, aby jadro stalo a cekalo, az se data z pameti presunou, tak se dostane k praci druhe vlakno, ktera ma data pripravene. Obe "virtualni" CPU jsou si rovnocenna, neni jedno "skutecne" a druhe "emulovane" nebo podobne. Vzdy bezi to, ktere ma co zpracovavat.
Tudiz, pokud by na nich jelo jen WCG, tak by vysledny cas mel byt cas behu * 8.
Predpoklad je, ze se tento cas urcuje na zaklade prideleneho casu procesum na urovni OS.
Pokud tedy OS naplanuje, ze se budou na danem jadru (logickem, tedy virtualnim) stridat dva procesy kazdy po 1 sekunde, mel by byt vysledny CPU cas polovicni nez cas, po ktery uloha bezela. Pokud nebude naplanovana uloha prerusovana, mel by jeji CPU odpovidat dobe behu, +- ...