Limes, simulador de multiprocesadores
Software
- limeslabac-v1.1.tgz 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.
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).
Área de Arquitectura y Tecnología de
Computadores.
Asignatura impartida actualmente por Vicente Arnau Llombart y
Fernando Pardo Carpio. Enviar
sugerencias sobre esta página a
Última actualización: