LIMES, Simulador de
Multiprocesadores
Descarga de Limes y documentación.
Software
- limeslabac-v1.1.gz : Son las fuentes
del simulador en sí. Modificando estas fuentes y los diferentes makefiles se
consiguen diversas simulaciones y se configura el sistema a simular.
- oldgcc.tgz : Limes está preparado para ser
compilado con la versión 2.6.3 del GCC. En este archivo se incluyen los
ficheros del gcc 2.6.3 necesarios para poder compilar limes. No es necesario
instalar esta versión del gcc, basta con copiar estos archivos en un
directorio y dejar que limes los utilice.
- lib.tgz : Librerías adicionales para sistemas
nuevos en los que Limes no funciona a la primera. Descomprimir en /usr/lib y
luego hacer ldconfig (todo como root). (no olvidar que además habrá que
cargar el módulo binfmt_aout del kernel, ver instalación).
- ld.so : Librería adicional a la anterior para
sistemas nuevos en los cuales ni añadiendo lo anterior funciona. Copiar en /lib,
darle permisos de lectura y ejecución para todos (chmod a+rw ld.so) y luego
ejecutar ldconfig, todo como root.
Manuales
- limesguide-v1.0.zip : Guía completa
del simulador en MS word (comprimido 190 K).
- limesguide-v1.0.pdf : La misma guía
anterior pero en PDF (540 K)
- tracer-short.doc o tracer-short.pdf
: Es una explicación
de una página de cómo utilizar el limes como tracer (22-50 K no se utiliza
en prácticas).
- ANL_macros.pdf : Documento breve con la
lista de todas las macros y directivas ANL para la creación de programas
paralelos basados en hilos.
Instalación.
Salvo que se tenga un Linux muy antiguo, los siguientes pasos no serán
suficientes para que Limes funcione correctamente. Si después de estos pasos no
funciona, entonces hay que realizar también los pasos indicados más abajo en "En
caso de problemas".
- Si no tenemos la versión 2.6.3 del GCC lo primero será instalar los
ficheros correspondientes de esta versión. No es recomendable instalar esta
versión si ya se tiene cualquier otra (probablemente más nueva) sino que se
pondrán todos los ficheros que vienen en oldgcc.tgz
en algún directorio, como por ejemplo /oldgcc. Para hacer esto basta
hacerse root, copiar el fichero anterior en / y hacer tar
xfz oldgcc.tgz creándose automáticamente el directorio /oldgcc en
el directorio raíz. En los ordenadores de prácticas ya está instalado este
directorio. Posteriormente habrá que realizar algunos cambios para que Limes
sepa que el compilador GCC se encuentra en este lugar, más adelante se
explican estos cambios (aunque si se utiliza la versión de limes que se cita
a continuación, no hace falta).
- A continuación podemos descomprimir el fichero
limeslabac-v1.1.tgz para obtener todo el
árbol de directorios de las fuentes del simulador. Para esto copiaremos este
fichero en algún lugar de nuestro directorio de trabajo y haremos tar xfz
limes*.tgz esta operación creará el directorio limes bajo el que
se encuentran los fuentes que podremos modificar.
- Es necesario crear la variable de entorno LIMESDIR para que el
propio Limes sepa donde se encuentra. Si por ejemplo hemos creado el
directorio anterior directamente colgando de nuestro HOME haríamos lo
siguiente: export LIMESDIR=${HOME}/limes o cualquiera que sea el
camino donde se encuentra Limes. Es importante añadir esta orden al fichero
.bash o .profile o en el fichero de inicio de sesión que se
tenga, para que se ejecute automáticamente cada vez que se abre una ventana.
- Si hemos utilizado otro fichero con limes distinto al anterior o hemos
puesto el oldgcc en otro sitio, tendremos que decirle a Limes donde se
encuentran los ficheros de la versión 2.6.3 del GCC. Para ello iremos al
fichero $LIMESDIR/globals.make y cambiaremos la variable GCC263
para que tenga el valor del directorio donde se encuentra el gcc 2.6.3, es
decir, buscaremos la definición de GCC263 en este fichero y la
cambiaremos por el directorio correspondiente. Si este directorio era /oldgcc
entonces no hace falta que cambiemos nada.
- Para ver si funciona iremos al directorio $LIMESDIR/applications/fft y
ejecutaremos make. Si compila bien ya está todo instalado, si se producen
errores entonces seguir con los pasos siguientes.
Con estos sencillos pasos se realiza la instalación completa de Limes
quedando listo para su uso. En el caso de los laboratorios de prácticas no es
necesario realizar el primer paso (instalación del gcc 2.6.3) ni el último
(modificación de las variables de entorno).
La versión de Limes de estas páginas es casi idéntica a la original,
simplemente se ha cambiado el fichero globals.make para incluir los
cambios descritos anteriormente. También se ha cambiado el número de
procesadores máximo a 128 frente a los 16 que permitía la versión original.
En caso de problemas:
- En muchos Linux nuevos no se carga el soporte para ejecutables de tipo
aout. En este caso hay que cargar el módulo correspondiente para dar el
soporte. Esto se hace ejecutando modprobe binfmt_aout como root. Si
queremos que siempre tenga soporte deberemos colocar la instrucción anterior
en alguno de los scripts de arranque o también podemos recompilar el kernel.
Probar a compilar, si no funciona seguir al punto siguiente.
- En muchos Linux nuevos no hay algunas bibliotecas antiguas, ni siquiera
cargando los rpm de soporte con versiones antiguas. En este caso podemos
descomprimir el fichero lib.tgz en /usr/lib y
luego ejecutar ldconfig como root. También se puede descomprimir en
algún otro directorio, incluso de usuario, y exportar la variable
LD_AOUT_LIBRARY_PATH para que apunte a ese directorio, en ese caso no hace
falta ser root en ningún momento. Si sigue sin funcionar aun queda otra
opción:
- También puede pasar que falte la biblioteca ld.so (sin versión).
Lo único que hay que hacer es copiar este fichero ld.so
en /lib por ejemplo, dándole permisos de ejecución y lectura a todos
(chmod a+rx ld.so) y luego ejecutando ldconfig como root.
Probablemente también se puede poner en algún directorio diferente sin más
que incluirlo en la variable de biblioteca anterior (LD_AOUT_LIBRARY_PATH).
Si esto también falla y la aplicación sigue sin poderse compilar, entonces
es posible que no hallamos hecho algún paso bien (caso probable) o que esa
versión de Linux que estamos probando no soporte este programa (menos
probable pero también posible).
Prácticas de OC:
Intalación de LIMES.
[Docencia]
[Home]