• =?UTF-8?Q?Mesurar_rendiment_d=27una_aplicaci=c3=b3?=

    From Leopold Palomo-Avellaneda@21:1/5 to All on Tue Jun 1 19:30:01 2021
    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?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?B?w4BsZXg=?=@21:1/5 to All on Tue Jun 1 23:10:02 2021
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Leopold Palomo-Avellaneda@21:1/5 to All on Wed Jun 2 08:20:01 2021
    El 1/6/21 a les 23:00, Àlex ha escrit:
    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


    Genial!!!

    Però és una passada perquè el CPU time hauria de ser més o menys constant i no
    ho és. Nosaltres hem trobat variacions de fins al un 10%.

    Leo

    --
    --
    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?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Narcis Garcia@21:1/5 to All on Wed Jun 2 10:30:02 2021
    Per a controlar tot allò que afecta a la CPU, crec que el millor és virtualitzar. Fins i tot és possible separar la màquina virtual de l'ús directe del maquinari real.



    Narcis Garcia

    __________
    I'm using this dedicated address because personal addresses aren't
    masked enough at this mail public archive. Public archive administrator
    should fix this against automated addresses collectors.
    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


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?B?w4BsZXg=?=@21:1/5 to All on Wed Jun 2 10:40:01 2021
    Leo,

    no puc deixar de rumiar en la teva pregunta. No conec el tema, però com
    t'han dit, és molt interessant.

    El servidor on s'executa l'aplicació, té una o més CPUs multinucli?

    Està l'aplicació preparada per executar-se en paral.lel en vàries CPUs o
    per emprar varis nuclis dins d'una CPU?

    L'aplicació fa us de GPU de targetes gràfiques?

    En quin llenguatge està programada l'aplicació?

    Salut

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Leopold Palomo-Avellaneda@21:1/5 to All on Wed Jun 2 20:30:02 2021
    El 2/6/21 a les 9:27, Josep Lladonosa ha escrit:
    [...]

    Hola, Leo,

    Has aportat una pregunta molt interessant. Si més no m'hi has fet rumiar
    una bona estona.

    Podria ser que la causa de les variacions sigui la temperatura?

    No, està en un CPD, i té condicions òptimes.

    Els nuclis dels processadors redueixen la freqüència dels nuclis quan la temperatura baixa.

    https://www.pugetsystems.com/labs/articles/Impact-of-Temperature-on-Intel-CPU-Performance-606/
    <https://www.pugetsystems.com/labs/articles/Impact-of-Temperature-on-Intel-CPU-Performance-606/>

    Sí, però no. Té aire condicionat 24/7/365


    Leo

    --
    --
    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?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Leopold Palomo-Avellaneda@21:1/5 to All on Wed Jun 2 20:50:01 2021
    Bones,

    trobava a faltar els teus correus!!!!

    El 2/6/21 a les 10:25, Xavi Drudis Ferran ha escrit:
    El Wed, Jun 02, 2021 at 08:13:46AM +0200, Leopold Palomo-Avellaneda deia:
    El 1/6/21 a les 23:00, Àlex ha escrit:
    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


    Genial!!!

    Però és una passada perquè el CPU time hauria de ser més o menys constant i
    no ho és. Nosaltres hem trobat variacions de fins al un 10%.

    Leo

    Jo no hi entenc però és que no veig perquè la CPU hauria de ser
    constant. Si agafes un model de processador com el que feiem a primer
    de carrera a Computadors potser sí. Però amb les complicacions que
    tenen les CPUs actuals ja és molt si aconsegueixen que els resultats
    siguin deterministes. Que el temps sigui determinista en condicions
    diferents és demanar molt.

    Estem totalment d'acord.

    Algú ha parlat de temperatura, i sí, els processadors poden baixar la
    [...]

    no és temperatura.


    Quan l'ordinador té diferents processadors i cada processador
    diferents nuclis, també pots tenir més rendiment si tots els
    processos/fils de la teva aplicació acaben a nuclis del mateix
    processador i comparteixen alguna cache o tenen rutes més curtes per comunicar-se. Si al sistema hi ha molts processos potser el linux no aconsegueix distribuir els teus tan òptimament. Fulleja per aquí per
    una idea del merder que representa https://blog.acolyer.org/2016/04/26/the-linux-scheduler-a-decade-of-wasted-cores/

    Brutal!!!! He de mirar-ho amb calma.

    [...]


    Has mirat perf ?
    https://perf.wiki.kernel.org/index.php/Tutorial

    No, ara ho estic mirant.

    Moltes gràcies.

    Leo



    --
    --
    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?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Narcis Garcia@21:1/5 to All on Wed Jun 2 21:00:01 2021
    __________
    I'm using this dedicated address because personal addresses aren't
    masked enough at this mail public archive. Public archive administrator
    should fix this against automated addresses collectors.
    El 2/6/21 a les 20:21, Leopold Palomo-Avellaneda ha escrit:
    El 2/6/21 a les 10:19, Narcis Garcia ha escrit:
    Per a controlar tot allò que afecta a la CPU, crec que el millor és
    virtualitzar. Fins i tot és possible separar la màquina virtual de l'ús >> directe del maquinari real.


    no ho crec. Jo voldria poder fer servir tota la capacitat de la màquina,
    no voldria una capa de virtualització.

    Leo


    El teu objectiu és executar ràpid o bé mesurar el cost d'un procés per a planificar execucions futures?
    És la única manera que veig de controlar una CPU.

    Tota la resta és creuar dits i esperar que la primera, segona, tercera,
    etc. execucions vagin igual en maquinari real.
    És la diferència entre fer una mesura a l'aire lliure o en condicions de laboratori.


    Narcis Garcia

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Leopold Palomo-Avellaneda@21:1/5 to All on Wed Jun 2 21:10:01 2021
    El 2/6/21 a les 20:53, Narcis Garcia ha escrit:
    __________
    I'm using this dedicated address because personal addresses aren't
    masked enough at this mail public archive. Public archive administrator should fix this against automated addresses collectors.
    El 2/6/21 a les 20:21, Leopold Palomo-Avellaneda ha escrit:
    El 2/6/21 a les 10:19, Narcis Garcia ha escrit:
    Per a controlar tot allò que afecta a la CPU, crec que el millor és
    virtualitzar. Fins i tot és possible separar la màquina virtual de l'ús >>> directe del maquinari real.


    no ho crec. Jo voldria poder fer servir tota la capacitat de la màquina,
    no voldria una capa de virtualització.

    Leo


    El teu objectiu és executar ràpid o bé mesurar el cost d'un procés per a planificar execucions futures?
    És la única manera que veig de controlar una CPU.

    el meu objectiu és mesurar un procés per poder comparar. Per exemple
    donar-li a un algoritme un temps límit de forma que si el comparo amb un
    altre tingui les mateixes condicions o quasi similars.

    Tota la resta és creuar dits i esperar que la primera, segona, tercera,
    etc. execucions vagin igual en maquinari real.
    És la diferència entre fer una mesura a l'aire lliure o en condicions de laboratori.

    Sí ....


    Leo


    --
    --
    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?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)