Re: Mesurar rendiment d'una aplicació

2021-06-01 Conversa Àlex
Bones Leo,

no sé gaire del tema, però l'article a la Wikipèdia en anglès aporta
alguna referència, per fer recerca:

    https://en.wikipedia.org/wiki/CPU_time

Salutacions


    Àlex



El 1/6/21 a les 19:14, Leopold Palomo-Avellaneda ha escrit:
> Bones,
>
> he enviat aquest missatge a la llista de caliu però ha tingut poc
> èxit... Us explico, probablement és un correu fora de tema, però
> m'agradaria preguntar aquí perquè potser alguns de vosaltres em podrien
> guiar.
>
> Estic treballant amb alguns científics per avaluar alguns programes que
> calculen una solució per a un problema. Bàsicament fan una instància de
> ILOG CPLEX i obtenen el temps utilitzat per calcular la solució o fan
> servir alguna heurística.
>
> Utilitzem un servidor per fer els càlculs, i hem trobat (òbviament)
> variacions significatives que depenen de la càrrega de la màquina. El
> què voler obtenir és un tipus de mesura independent de la càrrega del
> servidor.
>
> Un enfocament ha estat utilitzar el temps de CPU. En el nostre cas, el
> nombre total dels segons de CPU que el procés utilitza directament (en
> mode d'usuari). No estem parlant del temps real transcorregut (wall
> clock) que òbviament és directament està afectat per la càrrega de la
> màquina.
>
> No obstant això, hem realitzat diverses proves i hem descobert que té
> una variació al voltant del 10% (depenent de la càrrega). També hem
> avaluat el temps de CPU en mode kernel i també com hi ha un canvi de
> context perquè l'aplicació no s'executa. Però, sincerament no hem
> obtingut una idea clara del que està passant.
>
> Una altra qüestió que hem trobat és com pot afectar el nombre de nuclis.
> o CPUs físiques al servidor.
>
> Algú de vosaltres ha trobat aquests problemes i els ha resolt?
>
>
> Salutacions,
>
> Leopold
>

-- 
La solidaritat és la tendresa dels pobles. Lluita contra l'apartheid:

  http://boycottdebconf20.org/
  http://twitter.com/hashtag/BoycottDebConf20
  http://wiki.debian.org/DebConf/21

  https://www.btselem.org/publications/fulltext/202101_this_is_apartheid
  
https://www.elsaltodiario.com/ocupacion-israeli/apartheid-sanitario-israeli-metafora-kibbutz
  
https://www.elsaltodiario.com/elsacapuntas/estudiar-bajo-apartheid-el-dia-a-dia-de-los-estudiantes-palestinos



Re: Mesurar rendiment d'una aplicació

2021-06-01 Conversa Àlex
Aquí hi ha diferents de codi per mesurar temps d'us de cpu (cpu time) i
el temps total (wall time). A tu t'interessa el cpu time:

https://levelup.gitconnected.com/8-ways-to-measure-execution-time-in-c-c-48634458d0f9




Mesurar rendiment d'una aplicació

2021-06-01 Conversa Leopold Palomo-Avellaneda
Bones,

he enviat aquest missatge a la llista de caliu però ha tingut poc
èxit... Us explico, probablement és un correu fora de tema, però
m'agradaria preguntar aquí perquè potser alguns de vosaltres em podrien
guiar.

Estic treballant amb alguns científics per avaluar alguns programes que
calculen una solució per a un problema. Bàsicament fan una instància de
ILOG CPLEX i obtenen el temps utilitzat per calcular la solució o fan
servir alguna heurística.

Utilitzem un servidor per fer els càlculs, i hem trobat (òbviament)
variacions significatives que depenen de la càrrega de la màquina. El
què voler obtenir és un tipus de mesura independent de la càrrega del
servidor.

Un enfocament ha estat utilitzar el temps de CPU. En el nostre cas, el
nombre total dels segons de CPU que el procés utilitza directament (en
mode d'usuari). No estem parlant del temps real transcorregut (wall
clock) que òbviament és directament està afectat per la càrrega de la
màquina.

No obstant això, hem realitzat diverses proves i hem descobert que té
una variació al voltant del 10% (depenent de la càrrega). També hem
avaluat el temps de CPU en mode kernel i també com hi ha un canvi de
context perquè l'aplicació no s'executa. Però, sincerament no hem
obtingut una idea clara del que està passant.

Una altra qüestió que hem trobat és com pot afectar el nombre de nuclis.
o CPUs físiques al servidor.

Algú de vosaltres ha trobat aquests problemes i els ha resolt?


Salutacions,

Leopold

-- 
--
Linux User 152692 GPG: 05F4A7A949A2D9AA
Catalonia
-
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?



Re: / plena

2021-06-01 Conversa Joan
Jo no tinc massa idea de bash, però aquesta comanda me l'he guardada
perquè em sembla molt xula: com condensar en una línia diverses
opcions...

El Tue, 11 May 2021 16:51:28 +0200
Eloi  va escriure:

> El 11/5/21 a les 16:21, Narcis Garcia ha escrit:
> > Si l'eina de còpies de seguretat l'has fet tu mateix, al disc de
> > còpies hi pots posar un fitxer de reconeixement. Per exemple
> > «.cseguretat» D'aquesta manera, abans d'executar la còpia el teu
> > programet pot mirar si hi ha el fitxer, de la qual cosa deduir si
> > el dispositiu està muntat o no:
> >
> > if [ ! -f /mnt/copies.seguretat_2/.cseguretat ] ; then
> > echo "No s'ha trobat el disc de còpies!"
> > exit 1
> > fi
> >
> > Si no és així, caldria saber quin programari utilitzes per a fer
> > còpies.  
> 
> No cal crear cap fitxer testimoni, es pot emprar l'eina findmnt, per 
> exemple així:
> 
> findmnt --mountpoint /mnt/copies.seguretat_2 >/dev/null || mount 
> /mnt/copies.seguretat_2 && comanda_backup
> 
> Per parts:
> 
> findmnt amb --mountpoint determina si el directori és un punt de 
> muntatge actiu. Si ho és, torna dades del mateix (per això
> redirecciono a /dev/null) i retorna 0; en cas contrari, retorna 1.
> 
> || mount /mnt/copies.seguretat_2 intenta muntar el dispositiu si i
> només si la comanda anterior ha fallat, és a dir, si el dispositiu no
> està muntat. Que funcioni dependrà de si l'usuari que executa la
> comanda pot muntar el dispositiu i de si aquest es troba disponible,
> sempre que estigui prèviament configurat a /etc/fstab
> 
> && comanda_backup s'executarà si alguna de les dues comandes
> anteriors ha tingut èxit, aquí hauràs de posar el que sigui que facis
> servir per llençar la còpia de seguretat.
> 
> Recapitulant possibles escenaris:
> 
> 1. El disc està muntat: findmnt torna 0 (èxit), mount no s'executa
> per || i el backup s'executa per &&
> 2. El disc està present però sense muntar: findmnt torna 1 (error), 
> mount s'executa per || i un cop muntat amb èxit (0) el disc finalment 
> s'executa el backup per &&
> 3. El disc no està present (o no es disposa de permisos per
> muntar-lo): findmnt torna 1 (error), mount s'executa per || però
> també falla i el backup no s'executa
> 
> Si vols afegir una acció alternativa per si la còpia no s'engega (o
> si el propi procés de còpia falla) sempre pots afegir al final una 
> nova 
> ordre precedida per ||, per exemple (resumint crides sense
> paràmetres):
> 
> findmnt || mount && backup || error
> 
> on findmnt i mount són tal com he descrit abans, 'backup' és el 
> teu 
> programa de còpia de seguretat i 'error' l'acció que vulguis executar
> si falla la còpia.
> 
> L'avantatge de fer-ho en format de comanda monolínia és que pots 
> posar-la directament al crontab sense necessitar cap script
> intermediari.
> 
> 



-- 
Joan Cervan i Andreu
http://personal.calbasi.net

"El meu paper no és transformar el món ni l'home sinó, potser, el de
ser útil, des del meu lloc, als pocs valors sense els quals un món no
val la pena viure'l" A. Camus

i pels que teniu fe:
"Déu no és la Veritat, la Veritat és Déu"
Gandhi