Aires nous per al Magi-DEM

Projecte Add comments

Aquesta setmana, a part de fer la previa de Periferics i reinstalar GNU/Linux tambe he tornat amb el projecte, tal i com tenia previst. Aquesta setmana i despres d’acabar tota la feina que tenia que fer per fi he pogut quedar amb la gran ajuda per al projecte, el David.

Doncs aixo, vaig quedar amb el tecnic del departament que m’ajuda amb el projecte (acabo de veure que ha fet traduccions de KDE), i li vaig explicar els dos problemes que tenia:

  1. Els processos de prova del Linpack no migraven cap a un dels 2 ordenadors del cluster.

  2. Ganglia no funciona, quan faig un /etc/init.d/gmond status em diu “gmond dead but subsys locked”.

Doncs be, nem per parts:

  1. Per aquesta part va passar algo molt extrany, pero alhora molt normal. Quan va venir i li vaig explicar lo que tenia al seguir el procediment d’aqui. Un fitxer machines amb el nom dels 2 nodes que fa servir el linpack per computar:

    # vi machines
    compute-0-0
    compute-0-1

    A part, el fitxer de configuracio de l’HPL baixat de aqui.
    Lo altre ja es magia. Despres d’haver-ho intentat durant un munt de temps, ahir, i sense rao aparent, tot va funcionar. Murphy, oh, Murphy.

    Com a possible solucio a coses magiques he fet un test de memoria a la RAM de l’ordinador en questio, pero no ha donat cap error.

    Conclusio: A tornar a fer proves, o sigui que estare molt solet per aqui.

  2. Be, el segon problema ja es mes peliagut. El David va estar-ho mirant, amb un munt d’eines, algunes conegudes pero que el seu nom me provoca panic (lease gdm) i altres que ni recordo el nom que no coneixia.

    Finalment vam arribar a 2 conclusions:

    • Per algun lloc, al fer el /etc/init.d/gmond start peta al crear els threads.

    • Utilitza unes llibreries situades a /lib/tls/lib enlloc de les de /lib, un comportament extrany.

    Per veure si era culpa del parche d’openMosix vaig dir que provaria d’instalar un kernel vanilla oficial, i aixi ho he fet. He reinstalat el kernel, i res de res, continua petant igualment.

    Conclusio: Aqui hi ha 2 conclusions xD

La desesperacio m’ha portat a un lloc que creia que mai acabaria anant (molt mal fet per part meva), anar a escriure a la llista de la NPACI Rocks. I nomes ha passat un dia i ja m’han contestat 4 persones. Coses d’aquestes son les que fan creure a la gent amb aixo del soft lliure…
Pos aixo, que m’han contestat, donant-me 2 possibles solucions:

  1. Greg Bruno em contesta dient que potser es per culpa de que Ganglia utilitza comunicacio multicast. Aquesta es una de les opcions que ja havia pensat, pero he comprovat el kernel, “Networking Options”, i totes les opcions de TCP/IP multicasting estan marcades. Thanks.

  2. Joe Landman, Federico Sacerdoti i David van der Spoel van pel mateix cami, que crec que es l’encertat.

    “If I’m not totally wrong, the RHEL kernels are patched for Posix
    threads. This breaks applications which still uses linux threads. In
    your case it could be the other way around. Vanilla kernel with Linux
    threads, application with Posix threads.

    If this is correct it could be resolved by patching your vanilla kernel
    with the posix threads.

    David”

    Doncs, si, els kernels RHEL (RedHat Enterprise Linux) estant parchejats per utilitzar els threads NPTL (Native Posix Threads Library) enlloc dels LinuxThreads, els que van inclosos al nucli per defecte fins a la 2.6. A partir del nucli 2.6 els threads seran d’aquest tipus NPTL, molt mes eficients i lleugers, pro aixo si, tocara migrar les aplicacions per adaptar-les a aquestos nous threads. Per altra banda, a part del kernel els NPTL tambe estan integrats a la libc a partir de la 2.3 em sembla, i es pot descarregar aqui.

    “The problem could be NPTL. RHEL 3 (ROCKS basis) uses it in a back
    ported manner from 2.6 kernels. If you do not use NPTL, some things
    which have been compiled against it will hang, fail, or dump core when
    they try to set up a thread. I saw this a bit with older
    linuxthread-ABI compiled binaries around the RH9 time frame.

    Unfortunately there is no way to make this work short of getting an RH
    kernel compiled and patched the way you need (unless you want to
    integrate their patches into your kernel).

    You might look at starting from
    ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/3WS/en/os/SRPMS/kernel-2.4.21-15.0.3.EL.src.rpm
    and seeing if you can patch from there.

    Joe”

    Aquesta es la resposta mes realista crec. L’unica solucio que tinc es introduir els parches dintre al meu nucli (cosa que aniria malament per a openMosix segurament…). A part, hi ha el problema de trobar els parches que exactament necessito. Pel que fa a investigar aquest kernel he de trobar alguna forma d’”obrir-lo” i veure que te per dins, a part que tb he de buscar els Changelog, ja que alli segur q ho diu.

    “As Joe says, I suspect the problem is in the threading libraries.
    Ganglia is multi-threaded (via pthreads) and we have seen segfaults
    with incompatible kernels. Greceptor uses python threading.

    Do other multi-threaded programs run? (mysql, etc). Also, if you could
    collect a core file from ganglia when it crashes that would be helpful.

    It sounds like you rebuilt and installed your new kernel fine using the
    Rocks infrastructure, which is good news to us :)

    I am sorry you are having problems with the new beast.

    Federico”

    Haure de parlar amb el David per a que m’ajudi a treure el fitxer core, ja que no en se i crec que es una cosa bastant dificil. Com a minim el Federico es veu afectat xD Pero dona la sensacio com si no haguessin provat mai aquesta funcionalitat, pq el Federico es un dels masters de Rocks.

    Be, amb aixo d’informacio he comencat a indagar… Pro fins i tot amb el google se’m resistia, pro poc a poc he anat trobant coses:

    • El que s’ha encarregat de posar els NPTL al nucli de Linux es diu Ingo Molnar. Dintre de la seva web personal de RedHat he trobat un parche anomenat nptl-2.4.22-ac1-A2, pero no he trobat la versio del kernel correcta per aplicar-lo. Com a curiositat, ja que despres segurament ho haure de mirar, tb te una altra carpeta anomenada tls-patches, que deu estar relacionada amb les llibreries que utilitza el Ganglia. Finalment tambe en te una altra anomenada TUX-patches, que m’acabo de donar compte que surten al menu de Networking del kernel de la Rocks. O sea que tb me l’haure de mirar.

    • Despres he trobat algo que pensava que seria molt sucos, pero al final no ha estat aixi. A aquestaweb he trobat un fitxer anomenat patch-2.4.22-nptl1.patch.bz2, un parche per al kernel 2.4.22, el que necessito.

      NPTL1 This is a patchset ripped from RedHat’s 2.4.22-1.2088.nptl kernel. It includes
      2.4.22-ac1 with some fixes as well as the linux-2.4.22-ac1-nptl-A1.patch which enables
      you to compile a NPTL glibc on a 2.4.22
      Linux system.

      L’ultim link no funciona, tota una pena.

      Doncs be, amb aquest parche i el nucli vanilla corresponent he compilat el kernel seguint el procediment establert. La compilacio no m’ha donat cap problema, pero a l’hora de reinstalar ha continuat petant, mira que realment creia que funcionaria…

      Conclusio: A lo millor instalant un altre parche (TUX) funcionara.

    • Un altre filo que he intentat explotar ha estat el de Fedora. Els kernels de Fedora curiosament tenen noms tipo kernel-2.4.22-1.2163.nptl.src.rpm. I si, despres d’estar mirant uns quants Changelogs he vist que els kernels porten el parche per d’NPTL. Intentare instalar un kernel d’aquestos per a la rocks, a veure que me diu. De moment no em deixa, ni per a athlon (que esta mal fet, pq l’hauria de compilar per a Rocks), ni el source, ja que no acabo de dominar el rpm.

      Conclusio: Aquest filo encara es pot investigar.
      Alguns links mes sobre Fedora:

    • Una de les ultimes coses que he trobat ha estat la phil-list — A new thread library for GNU systems, la llista on es discuteixen els canvis dintre el threading de linux.

      Conclusio: He de mirar-la d’aprop, ja que aqui segur que sortiran direccions cap a webs amb els parches.

    • Tambe he buscat informacio sobre que era el TLS. Al final he trobat que son els “Thread Local Storage”, una part q tambe s’ha de modificar per tenir els NPTL. Un document que explica tot sobre el TLS es pot trobar aqui. Suposo que per aixo la rocks te 2 llibreries, les normals de /lib i les TLS a /lib/tls/lib.

      Conclusio: Tambe s’ha d’investigar mes per aqui, pero no se quins fruits donara.

    • Per ultim (que ja es molt tard), fa una estona he trobat que el kernel de la Rocks dintre del menu de Networking Options i dintre de “TCP/IP Networking” te una opcio anomenada “Threaded linUX application protocol accelerator layer (TUX)”, que ve a ser un altre parche que porta incorporat el RHEL. El que no se es que fa aquest parche ni si pot arribar a afectar la fallada del Ganglia. Suposo que no, pero aqui queda.

Leave a Reply

WP Theme & Icons by N.Design Studio
RSS RSS comentaris Log in