Subsecciones

- Programas que funcionan
- Programas que NO funcionan

# 8.1 APÉNDICE A: Aplicaciones funcionando, o no

Este apéndice contendrá una lista de aplicaciones que han sido probadas y otra que mostrará las NO pueden funcionar, en openMosix.

## Programas que funcionan

- Utiliades MPEG. Utilizan pipes de entrada y salida (i/o) intensivamente, hecho que hace que funcionen excepcionalmente bien en clusters de pequeño y mediano tamaño. La codificación y decodificación se realizan en el nodo raíz pero los filtros migrados en los nodos incrementan el rendimiento en la compresión de ficheros de alta calidad (que requieren un mayor procesamiento).
- bladeenc. Esta utilidad sirve para ripear rápidamente nuestros ficheros de audio mp3.
- Povray. Podemos dividir nuestros frames del trabajo de renderización en múltiples procesos desde un shell script o utilizar la versión paralela (PVM) para que se haga automáticamente.
- MPI. Entre MPI y openMosix parece existir una totalidad compatibilidad.
- FLAC. Se trata de un codificador de audio lossless (sin pérdidas). `http://flac.sourceforge.net/`

Podremos encontrar información más actualizada en las referencias Wiki del HOWTO de Kris Buytaert8.1.

## Programas que NO funcionan

Las aplicaciones que utilizan memoria compartida funcionan en un linux estándar, pero no migran. Tampoco podrán migrar pogramas que hagan uso de recursos que no puedan migrar, como por ejemplo pasa con todas las aplicaciones que puedan apoiarse en Java green thread JVM's.

- Programas Java que utilizan threads nativos. Estos programas no migrarán porque utilizan memoria compartida. Los Green Threads JVM's permiten migración pero cada thread en un proceso separado.
- Aplicaciones que utilizan threads. El hecho de que no migren los threads no es una limitación de openMosix sinó de Linux. Contrariamente a las plataformas como Solaris donde los threads son procesos ligeros con su propio espacio de memoria, en Linux no poseen dicho espacio. Si hacemos un `ps` en Linux podremos ver cada thread ya que cada uno será una tarea en el scheduler. No obstante cada una de estas tareas no puede funcionar por ella misma ya que necesita el espacio de direcciones donde fue lanzada. De esta manera queda pues como hecho imposible poder migrar pthread a otro nodo sin poderlo conectar son su espacio de direcciones.
- Phyton con el threading activado.
- MySQL utiliza memoria compartida.
- Apache utiliza memoria compartida.
- Mathematica utiliza memoria compartida.
- SAP utiliza memoria compartida.
- Oracle utiliza memoria compartida.
- Baan utiliza memoria compartida.
- Postgres utiliza memoria compartida.

Podremos encontrar información más actualizada en la página Wiki8.2.