David F. Torres Sola (david7torres@gmail.com) 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