El banco de pruebas de computación: BaMos
BaMos (Batería de Mosix) es un conjunto de programas que permiten probar y medir el rendimiento de clusters OpenMosix de un modo sencillo. La idea inicial era disponer de un conjunto de programas paralelos que permitiesen verificar cuales eran las ventajas y desventajas de este tipo de clusters, así como medir las capacidades de cualquier sistema de computación, monoprocesador o multiprocesador. | ![]() |
Clustering de alto rendimiento con OpenMosix
Mosix es un cluster de alto rendimiento, respondiendo a los tipos de sistemas de ficheros de una sóla imagen. Mosix fue diseñado por el profesor universitario Amnon Barak durante 30 años, a través de 7 implementaciones diferentes hasta llegar lo que es actualmente.
En el año 2000 el proyecto cambió su licencia y desde entonces pasó de ser GPL a ser un proyecto cerrado (aún cuando era GPL, era no cooperativo, aceptando código exclusivamente de la Universidad Hebrea de Jerusalem).
Se hizo una ramificación del proyecto con las últimas versiones GPL como punto de partida. El proyecto abierto resultante recibió el nombre OpenMosix y es mantenido por uno de los codificadores y diseñadores que trabajaron sobre el Mosix original.
BaMos a fondo: las pruebas
Lo más importante en BaMos son las pruebas que se pueden realizar. Elegirlas significó estudiar en detalle qué subsistemas y con qué operaciones, pueden incrementar o decrementar su rendimiento en un cluster de tipo OpenMosix.
- Memoria
- Utilización intensiva de memoria
- Cuando a un nodo le falta memoria el sistema trata de migrar procesos a otros nodos con menos uso de memoria para equilibrar el sistema.
- Entrada/Salida
- Utilización intensivo del sistema de ficheros
- Otro de los factores importantes en el cluster son las operaciones de Entrada/Salida. MFS (Mosix File System) permite que los procesos hagan operaciones de lectura y escritura en otros nodos, permitiendo de alguna manera, entrada/salida sobre sistema de ficheros, distribuida.
- Comunicacion entre procesos
- Memoria compartida en multiplicación de matrices
- No todo en los clusters OpenMosix son ventajas; algunas funcionalidades no estan implementadas. Una de dichas funcionalidades es la comunicacion de procesos SysV. La implementación de este mecanismo supone un gran escollo para los diseñadores de sistemas distribuidos, y es necesario que se conozcan las limitaciones del sistema para poder obtener de ellos su máximo rendimiento.
Más adelante se le añadió la opción de obtener estructuras de tipo rusage para disponer de resultados cuantitativos de las pruebas realizadas.
Por último, y para permitir un mejor uso de estos programas de línea de comando, se creó una interfaz de usuario que se encarga de lanzar los comandos de línea y recoger los resultados devueltos para facilitar las pruebas.
BaMos: Instalando
Para instalar BaMos sólo hay que seguir unos sencillos pasos:
Nota: Para compilar la interfaz gráfica es necesario tener instalada cualquier versión de las bibliotecas QT y sus cabeceras.
tar xzf bamos-0.9.tar.gz make make cli make gui | ![]() |
BaMos: Ejecutando
Ejecutar los programas de linea de comandos devuelve los resultados directamente.
Los programas de línea de comandos se corresponden con las pruebas enumeradas anteriormente.
- pru_cpu2 para las pruebas de uso intensivo CPU
- memoria para las pruebas de uso intensivo de memoria
- sist_arch para las pruebas sobre sistema de ficheros
- matriz para las pruebas de comunicación entre procesos
Para solicitar ayuda en pantalla sobre un comando hay que usar la opción -h.
Si quiere tener una mejor muestra de los resultados, use la interfaz gráfica BaMos.
Para ello, lance el programa gráfico bamos desde el propio directorio donde lo compiló.
La ventana principal presenta cuatro pestañas con cada una de las pruebas que se pueden realizar. En la parte inferior de la pantalla se presenta información detallada de cada proceso.
Junto a cada prueba se asocia una explicación de qué está haciendo la prueba. Pruebe a reajustar los parámetros de las pruebas y espere pacientemente a los resultados.
Para monitorizar las pruebas durante su ejecución en el cluster recomendamos utilizar programas como mosmon de las Userland OpenMosix Tools de David Santo Orcero y OpenMosixView de Matthias Rechenburg.
Otras consideraciones
To Do
Los siguientes pasos en la evolución de BaMos deberían ser:
- Traducción a inglés
- Replantear estilos de QT
- guis con uic
- Añadir más pruebas
- Reescribir pruebas de sistema de ficheros
Notas
BaMos lleva mucho tiempo sin desarrollarse... la última versión fue la 0.9 en el año 2000.
Al reencontrarla después de varios años hemos decidido publicarla. Así, quien quiera, puede analizar de un modo sencillo las ventajas e inconvenientes que tiene su cluster OpenMosix.
No existe más documentación que la que ves ahora mismo, así que cualquier colaboración para ampliarla o traducirla a otros idiomas será bien recibida.
Capturas de Pantalla
![]() | ![]() | ![]() | ![]() | ![]() |





