Desarrollo de Tutoriales en Línea

En esta asignación los estudiantes desarrollan un tutorial que debe quedar instalado en forma de página Web. La actividad de aula a evaluar consiste en la lectura del tutorial por parte del resto de los estudiantes del curso, mientras que el autor del tutorial, el estudiante evaluado, asiste a los demás en sus dudas y toma nota de las modificaciones que pueden hacerse al tutorial. Las modificaciones y mejoras introducidas en una segunda versión del tutorial son evaluadas. Toda la actividad es seguida muy de cerca por el profesor, que, entre otras cosas, debe velar por la correctitud del contenido del tutorial.

Al final del curso, el tutorial queda  como un servicio público, en una página Web accesible por todos los miembros de la comunidad.

Los principios aplicados en el diseño del curso son:

El material desarrollado es a su vez material de la siguiente edición del curso, que debe ir actualizándose a medida que pasa el tiempo, debido a que las versiones de software de casi cualquier herramienta están en continua evolución. Como un ejemplo de los tutoriales desarrollados en los cursos de postgrado de Caracterización de Desempeño de Sistemas de Computación y Tópicos Especiales en Paralelismo, en los que participan alumnos de pregrado con permisos especiales de la coordinación, se tienen los siguientes tutoriales:


Open PBS: sistema de colas para procesamiento por lotes (batch) instalado en el CAR


HPF: introducción a la programación en Fortran de Alto Rendimiento (High Performance Fortran o HPF)


HPF (2da parte): instrucciones básicas para compilar y ejecutar un programa en HPF bajo los compiladores PGHPF y Adaptor.


LAM: ambiente de programación y sistema de desarrollo MPI, para un conjunto heterogéneo de computadoras en una red.


PVM: paquete de software que permite a una colección heterogénea de computadoras, que estén conectadas a través de una red, ser usadas como una sola máquina paralela


Lapack: librería de rutinas para resolver sistemas lineales, frecuentes en diversas aplicaciones.


pgdbg: depurador (debugger) de Portland Group.


pgprof: perfilador (profiler) de Portland Group.


Orbacus: un software que implementa el estándar CORBA, que es una arquitectura y especificación para crear, distribuir y manejar programas de objetos distribuidos en una red


Globus: un conjunto de herramientas que permite utilizar recursos distribuidos


Aspectos avanzados de Globus: aspectos de programacion en Globus


Netsolve: sistema distribuido que provee servicios de calculo numerico


SUMA: sistema distribuido para ejecucion de bytecode de Java


mpiJava: envoltorio (wrapper) de Java para usar MPI.


jpvm: envoltorio (wrapper) de Java para usar PVM.


jomp: implementacion de Open MP para Java.


Pious: sistema virtual de manejo de archivos en forma paralela.


TotalView: herramienta de ayuda a la programación que permite depurar programas paralelos.


Paradyn: herramienta para medir el desempeño de programas paralelos y distribuidos.


CAPTools: herramienta semi-automática de apoyo a la paralelización de programas seriales escritos en FORTRAN77.


Para++: un conjunto de clases en C++ que permiten manipular tanto las tareas como los mensajes en aplicaciones paralelas y distribuidas.


Condor: una aplicación que crea un ambiente de procesamiento de alto caudal o HTC (High Throughput Computing), aprovechando de manera efectiva el poder de cómputo que da un cluster de máquinas UNIX en una red.


NQS: herramienta para hacer procesamiento por lotes (batch) en el sistema operativo UNIX


PADE: ambiente configurable para el desarrollo de aplicaciones paralelas basadas en el uso de la librería de pase de mensajes PVM.