Quin client optimitzat utilitzeu ?

Doncs això, quien client optimitzat per SSE o SSE2 esteu utilitzant ? Ho comento perque veig rendiments molt baixos en les informacions de hosts de la pàgina de berkeley en ordinadors que no n'haurien de donar resultats tant baixos.

Jo ara mateix corro sobre el client 5.4.11 oficial amb l'optimització BOINC_5.5.0_SSE2 d'en Crunch3r (també tinc la SSE si algú la necessita).

Ui

Bones i benvingut,

Si no m'equivoco, el BOINC_5.5.0 d'en Crunch3r és un client BOINC. Has instal·lat alguna aplicació optimitzada?

Fins una altra.

imatge de krampak

Ui

Mmmm aviam el que he fet es instal·lar el client 5.4.9 de la pàgina de berkeley i despres he reemplaçat un boinc.exe i boinc.dll que venien en el BOINC_5.5.0_SSE2.rar, crec que ho he fet be :S Si mes no el rendiment es fantàstic xD

Es l'últim client optimitzat que va treure en crush3r si mal no recordo, en tinc una captura:

http://img.photobucket.com/albums/v518/ZX7891/boincinstall10.jpg

Doncs anem a pams

D'acord, efectivament tens instal·lat un client "optimitzat", però degut a les diferencies de funcionament entre el projecte SETI@home clàssic i el projecte SETI@home sota la plataforma BOINC (al que també es fa referència com a BOINC/SETI@home), la instal·lació d'aquest client no fa que el teu ordindaro treballi de manera més eficient, i el rendiment fantàstic es fruit d'una pràctica, diguem-ne, "controvertida".

M'explico, qualsevol projecte que funcioni sota la plataforma BOINC fa ús de dos tipus de programes:

-En primer lloc s'utilitza el "client BOINC", desenvolpat pels responsables de BOINC amb més o menys col·laboració dels responsables dels projectes de computació distribuïda, un programa comú per tots els projectes. Se n'instal·la un de sol a cada ordinador i s'encarrega entre altres coses, de l'"intendència" dels projectes als què participis, per exemple: preocupar-se de mantenir la cua de treball amb prou tasques i respectant la fracció de temps de computació que haguem determinat que cal dedicar a cada projecte, descarregant noves aplicacions quan aquestes son publicades pels responsables dels projectes, determinar la capacitat de càlcul del l'ordinador on està instal·lat, calcular el credit que cal reclamar per cada resultat enviat , etc.

-En segon lloc s'utilitzen els programes anomenats "aplicacions", que son els programes creats per cadascun dels projectes de computació distribuïda, que analitzen o fan càlculs a partir de les unitats de treball (normalment cada tipus d'unitat es analitzat per una aplicació concreta, els projectes, a mida que maduren, acostumen a utilitzar applicacions diferents degut a la necessitat de tractar unitats de treball diferents). Dins cadascuna de les carpetes que hi ha dins el directori ...\BOINC\projects hi ha les aplicacions que utilitza cada projecte.

Una aplicació optimitzada (per a una arquitectura o set d'instruccions concret) pot fer reduïr dramàticament el temps que necessita un ordinador per analitzar una unitat de treball degut a que aquest calcula de manera especialment eficient.

Un client BOINC "optimitzat" pràcticament no té modificacions relatives a l'eficiencia amb què realitza les seves tasques (degut a que per molt ineficient que sigui el codi, fa tasques tan curtes i de manera tant esporàdica, comparat amb el que realitzen les aplicacions, que no té sentit dedicar gaire temps a reduir l'equivalent a 20 segons d'ús intensiu del processador a, posem, 15 o 10 segons d'us intensiu de processador al dia), la principal diferència amb el client oficial son els benchmarks de què disposa.

Una bona part dels projectes, entre ells el SETI@home, comprova la validesa dels resultats que envien els participants comparant el credit reclamat pels diferents resultats obtinguts de copies d'una mateixa unitat. Això vol dir que si algú envia un resultat gaire diferent a l'enviat pels altres dos participants que han rebut la mateixa copia de la unitat de treball, el resultat del primer és considerat invàlid o corrupte i no rep crèdit per aquell resultat.

El crèdit reclamat es calcula a partir dels resultats dels benchmarks, que determinen la "potencia" de l'ordindador, i el temps de càlcul que aquest ha necessitat per analitzar la unitat. Com deia aquell, "potencia multiplicat per temps és igual a treball". Pero aquest sistema de crèdit té un problema, i és que considera que qualsevol ordinador tindrà gairebé la mateixa feina per acabar cada unitat, i resulta que les aplicacions optimitzades fan que els ordindadors siguin prou eficients (hagin de fer prou menys feina per aconseguir un mateix resultat) com per oferir resultats que queden fora del rang de tolerancia (per sota, demanen molt menys crèdit per un resultat concret) del validador de resultats. La conseqüencia d'això és que aquella persona que fa l'esforç de dedicar temps a programar o buscar un aplicació optimitzada, d'instal·lar-la a mà i mantenir-la sense l'ajuda dels automatismes del client BOINC que només funcionen per versions oficials, per tenir una màquina que farà més feina pel projecte (gracies a que en un determinat temps, retornarà més resultats que un màquina equivalent sense aplicació optimitzada), la conseqüencia de tot això, repeteixo, serà que el projecte rebutjarà el resultat (científicament vàlid) i el participant es quedarà sense crèdit.
Per corregir aquesta característica del sistema de crèdit apareixen els clients BOINC "optimitzats". Aquests clients tenen uns benchmarks diferents, que informen al projecte de que l'ordinador és més potent del que realment és. D'aquesta manera, encara que l'ordinador acabi un analisi amb menys temps, com que la potencia anunciada és més gran, es reclama més credit, de manera que el resultat és més proper a resultats obtinguts amb màquines no optimitzades, i llavors tots els resultats son admesos.
D'entrada el fet de que algú obtingui més crèdit "per cicle" que un altre pel fet de fer servir programari optimitzat, pot semblar incorrecte, però realment els projectes ho admenten perquè els beneficia en el que els interessa, que és obtenir com més resultats vàlids millor, i el participant rep de retruc aquest reconeixement "extra" en forma de crèdit per la seva dedicació.

Llavors, el que costa més de justificar és la utilització d'un client que fa veure que l'ordindador és més potent del que és, quan això no es fa per corregir resultats amb un crèdit associat massa baix com per poder assegurar que passen el validador. Això és augmentar artificialment, sense justificació aparent, la quantitat de crèdit reclamada, un mica com fer trampeta (ho dic així, pero en el teu cas, krampak, com que és obvi que has arribat a aquest situació per desconeixement, no pretenc que aquest missatge tingui cap càrrega pejorativa cap a tu, :)).

Demà escriure un altre missatge explicant el culebrot pel qual ara potser no té massa sentit (o aquesta és la conclusió a la que he arribat jo) intentar utilitzar conjunts client BOINC/aplicacions optimitzats (en vaig estar utilitzant fins a abril o maig d'aquest any, si no recordo malament). O també el podria escirue algú altre que ja tingui idea de per on vaig. ;-)

Fins una altre.

P.D.: O també pot haver-hi algú que cregui que cal corregir l'explicació.

imatge de krampak

Doncs anem a pams

I el client oficial amb una APLICACIÓ optimitzada seria més lícit ? Efectivament jo nomes havia canviat el BOINC en si, ara he vist que hi ha aplicaciones optimizades com la que acabo de veure anomenada: setiathome-5.15-kwsn-sse3-p4 (P4 amb SSE3). O ho trec tot i ho deixo tot "de serie" ?

Edito: Ara tarda 1 hora i 8 minuts a fer dues unitats (abans 1 hora 56 minuts el mateix tipus d'unitat) amb l'aplicació setiathome-SSE3.

Seguim a pams

Utilitzar una aplicació optimitzada amb un client oficial genera el problema de que el validador pot considerar com a invàlid o corrupte un resultat calculat amb aquesta convinació de programes degut a que el crèdit reclamat es força inferior al què han reclamat els altres dos participants que han analitzat aquella unitat (que en la majoria dels casos hauran utilitzat versions oficials dels dos programes), i llavors, l'esforç extra que dedica el participant a tenir un sistema més eficient, i un resultat científicament vàlid, es perd "miserablement" perquè una etapa del procés (el criteri que segueix el validador) no fila prou prim. Quan s'utilitza una versió oficial amb una aplicació optimitzada, no hi ha el dilema de si és més o menys lícit, senzillament es dona el cas en què tothom hi perd, per tant no crec que hi hagi cap raó per no evitar aquesta situació.

Un altre aspecte que dona mal de caps quan s'utilitzen aplicacions optimitzades: si una persona participa en diferents projectes, un client en què simplement hi ha uns benchmarks diferents, poden servir per arreglar el problema en un dels projectes, però generar-lo en tota la resta. Encara que altres projectes també disposin d'aplicacions optimitzades, la millora en eficiencia de cada aplicació serà molt probablment diferent, de manera que la correcció del crèdit reclamat a través dels benchmarks, es correcta per a l'aplicació optimitzada d'un projecte, pero no ho és per a l'aplicació optimitzada d'una altra. En conseqüencia, la solució client "optimitzat"(a través de benchmarks)&aplicació optimitzada, només funciona perfectament bé quan només es participa en un projecte amb el client i la aplicació optimitzats per a aquell projecte concret.

PERÒ, si es vol participar a diversos projectes, i només d'alguns d'aquests hi ha aplicació optimitzada, encara hi ha una (que jo conegui) manera d'aconseguir demanar quantitats de crèdit "licites" en tots els projectes, sense arriscar-se a trobar-se amb què una part de la feina és invalidada en etapes un pèl matusseres. La solució que jo vaig trobar va ser la utilització d'un client que era capaç d'estimar en quins casos calia corregir la quantitat de treball obtinguda a través de l'equació "potencia per temps igual a treball", i en quina mesura, i en quins no. Aquest és el client de truXsoft. El client necessita que es calculin unes quantes unitats abans no troba queda ben calibrat per a una máquina concreta i per als diferents projectes, però després va ben finet.

Tot i així, un cop el tema de l'ús d'aplicacions optimitzades queda ben lligat, apareix un altre factor, les persones. Fins fa uns mesos, hi havia dos projectes en pels que hi havia aplicacions optimitzades conegudes i contrastades (o no desautoritzades pels projectes) que eren Einstein@home i Seti@home. En el cas de Einstein@home, la persona que va desenvolupar les families d'aplicacions va ser molt ben tractat per l'equip d'Einstein. Se li va reservar un fil perquè anés publicant millors versions, s'encoratjava oficialment als usuaris a utilitzar aquelles versions si es veien en cor d'utilitzar-les (cosa que implicava la instal·lació i manteniment manual, etc). Per una altra banda, en Crunch3r distribuïa aplicacions optimitzades de SETI@home (i en conseqüencia també desenvolupaba clients que les fessin anar "lícitament"), de manera generalitzada es deia (i no recordo haver llegit cap comentari en contra) que les seves aplicacions eren les més rápides, les més eficients de totes les aplicacions optimitzades per a aquells projectes (sempre mantenint la validesa científica del resultats). Havia desenvolupat una familia sencera d'aplicacions per a diferents sets d'instruccions, sistemes operatius i arquitectures. Però tot i la feina que va fer (i ja estic parlant posicionant-me a favor d'aquest participant, tinga-ho en compte :)) hi va haver desavinences amb els responsables del fòrum oficial del SETI@home, fins al punt que no li permetien ni anunciar les noves versions d'aplicacions optimitzades (mentre que a Einstein@home les aplicacions d'aquell altre usuari es distribuïen directament a través d'enllaços en els missatges que publicava al fòrum oficial del projecte). Arribats a aquest punt, en Crunch3r va decidir deixar de participar a SETI@home i a deixar de desenvolupar aplicacions per al projecte. Hi va haver una mica de rebombori, etc. A arrel d'això, jo vaig decidir que si a SETI@home no tractaven prou bé la gent que feia aquest sobre esforç per ajudar al projecte (i ja no parlo d'utilitzar aplicacions optimitzades, sino de DESENVOLUPAR-LES), tampoc calia que un mateix prengués la molestia de preocupar-se de millorar la participació en el projecte utilitzant aquesta via.
Per una altra banda, n'akosf, el participant que havia desenvolupat les aplicacions optimitzades pel projecte Einstein@home ha acabat entrant a l'equip oficial de desenvolupadors d'aplicacions del projecte, de manera que ara les seves optimitzacions estan incorporades de serie a les versions oficials.
En definitiva, ens trobem (o ens trobavem fa uns mesos) en què per la banda d'Einstein@home van desapareixer les aplicacions optimitzades, i per la banda de SETI@home van tenir un gest força lleig amb un dels principals promotors d'aquest pràctica en aquell projecte, tampoc hi havia (o no vaig saber trobar) aplicacions optimitzades d'altres projectes, de manera va deixar de tenir sentit, dedicar-se al tema (obviament, des del meu punt de vista), i per tant, la possibilitat d'utilitzar aplicacions optimitzades havia, des del meu punt de vista, desaparegut.

No sé com està la situació actualment, potser hi ha alguna cosa en projectes com Rosseta, o QMC. Per la banda de Climateprediction no hi deu haver res (tot i l'amplíssima base de participants) degut a que l'aplicació es massa complexa com perquè algú l'optimitzi, més enllà del propi equip de desenvolupadors.

Em sembla que més o menys això és tot.

Fins una altra

imatge de krampak

Seguim a pams

Be doncs, he deixat el client d'en crush3r amb l'aplicació optimitzada per SSE3. De moment sembla que em validen tots els crèdits reclamats així que, de moment, seguiré uns dies aviam què passa.

Molt bé

Si utilitzes aquests dos programes i centres la teva participació en el projecte SETI@home, no hauries de tenir cap problema.

Apa, happy crunching ^.^

Quin client optimitzat

Hola,

Jo en un P4 3.0 amb el SSE2 d'en Crunch3r li treia uns 400 i poc amb Windows. Ara soc amb linux amb el mateix SSE2 d'en Crunch3r (per linux) i encara no sé que donarà, doncs encara és a la fase de pujada.

El que si m'agradaria es si algu pot comentar que tal li va amb altres processadors, més que res per fer-me'n una idea. O si algú coneix una llista actualitzada del que donen de si diferents CPUs amb el client optimitzat...

Quin client optimitzat

Un altre tonteria: Amb les CPUs actuals amb FSB a 800 / 1033 no sé com va, pero en les antigues amb socket 478 i el FSB a 400 es nota bastant el usar el dual channel per la RAM. Suposo que millora bastant la transferencia RAM <--> cache L2

imatge de krampak

Quin client optimitzat

Es nota força, tan el bus com els timings, per no parlar del dual chanel (la diferencia no es asbismal pero si important i seria una tonteria no tenir 2 moduls (o 4) en dual channel si la placa base ho soporta)).

Quan dius 400 a què et refereixes ? Credits / Dia? Si em dius els floatings MIPS i integer MIPS potser ho podrem comparar millor.

En el meu cas tinc un Intel Core 2 Duo E6600 a 3.6Ghz (400x9) ram síncrona a 400Mhz Cas 3-3-2 (DDR800) i amb el client que ja he anomena't em dona:

6415 floating MIPS
29119 integer MIPS

M'ha acabat les dues primeres unitats (una per cada nucli) en 1 hora 56 minuts. (58 minuts per unitat si ho comparessim amb un processador mono nucli).

PD: L' ample de banda de la RAM en l'Everest Home Edition es de 10GB/s :)

Opcions de visualització de comentaris

Selecciona la vostra manera preferida de visualitzar els comentaris i feu clic en "Desa la configuració" per activar els canvis.