David F. Torres Sola
([email protected])
Sistema de álgebra computacional
Muy utilizado en el cálculo científico
Para científicos, en lugar de para informáticos
También es un lenguaje de propósito general
Se divide en 2 partes:
◦ el kernel: encargado de desempeñar los cálculos
◦ el front-end: despliega los resultados y permite al usuario
interactuar con el núcleo como si fuera un documento
Basado en re-escritura de términos (computación
simbólica)
Usa reglas de transformación siempre que sea posible
Implementado en una variante de C
Pero la mayor parte de código de las librerías,
implementadas en el propio lenguaje Mathematica
Actualmente, versión 7
A pesar de que estos sistemas suelen ser usados por
informáticos para prototipado, esta fase de desarrollo es de
vital importancia, y puede ser lo suficientemente larga
como para que el speedup que se obtendrá merezca la
pena.
Además, estos sistemas son ampliamente usados por
científicos, los cuales los utilizan como herramienta de
desarrollo final. En este caso, la paralelización es áún más
importante.
Las operaciones para las que sobre todo está pensado estos
sistemas son altamente paralelizables.
Librería de Mathematica que permite hacer uso de computación paralela.
Red de máquinas o una máquina con varios procesadores.
Usa primitivas y comandos sofisticados para programación en paralelo.
Se proporciona el código fuente de dichos comandos como plantilla, para
que los usuarios desarrollen los suyos propios.
Con una licencia básica, se tienen hasta 4 kernels de computación. Más uno
que gestiona el trabajo que deben ejecutar los 4.
Actualmente, estos son los productos que amplían la
versión 7:
Añade 4 kernels más a los 4 ya incluidos en una licencia
básica
El reparto de tareas se realiza automáticamente
No es necesario modificar el código
Ofrece una pool compartido de 16 kernels de
computación administrados en red
Pensado para aprovechar la potencia de varias
máquinas
Ideal para compartirse entre un grupo de personas
Varias alternativas:
◦ Local Hardware
◦ High-Performance Cluster
◦ Ad-hoc Grid
Viene incluido en gridMathematica 7 SERVER
Hace fácil el descubrimiento y la conexión a kernels de
computación remotos
Habilita inmediatamente los recursos inactivos para el
grupo de trabajo
Con Wolfram Lightweight Grid Client los usuarios pueden
ver inmediatamente todas las computadoras habilitadas
para ellos en su red local
Interfaz web de gestión
A continuación, veremos a través de un ejemplo, como
podemos conseguir un buen speedup utilizando las
primitivas de paralelización.
http://www.addlink.es/productos.asp?pid=15
http://www.wolfram.com/products/gridmathematica/
http://es.wikipedia.org/wiki/Mathematica
http://documents.wolfram.com/applications/parallel/
http://documents.wolfram.com/gridmathematica/
http://reference.wolfram.com/mathematica/guide/Ma
thematica.html