Recursos de Windows High Performance Computing (HPC) y Programación

Desde el último año, estuve investigando sobre computación distribuida y en grilla. Encontré bastantes recursos útiles, información, que fui agregando a mi delicious. Uno de los tópicos que encontré es la implementación de Microsoft de High Performance Computing (HPC). Este post es una lista de los recursos más relevantes que estoy usando.

Primero, hay que ver la página de Windows HPC Server 2008:

http://www.microsoft.com/hpc

El primer video para mirar es el de último PDC 2008, la sesión de HPC:

HPC Session at last PDC
http://channel9.msdn.com/pdc2008/ES13/

Excelente presentación, cubriendo el nuevo Windows HPC Server 2008, nodos, tareas, trabajos, herramientas de programación, formas de programar, programación MPI (Message Passing Interface) y MPI.NET, computer go en HPC (hermosa idea, jugar al go en cluster), toda la presentación merece un post aparte.

Me gustó también un video corto pero interesante, que muestra la consola de administración en:

http://channel9.msdn.com/shows/The+HPC+Show/Five-Minute-Intro-to-the-HPC-Server-2008-Management-Console/

EL blog a leer es Windows HPC survival guide

Un post como ejemplo: No scientist left behind with CRAY Supercomputer running Windows HPC Server 2008

Hay una colección de recursos en HPC Resource Kit

Todos los videos de HPC:

HPC | Tags | Channel 9

(tópicos interesantes: WCF y programación HPC, HPC Basic Profile: servicios web para invocar desde Java y otros lenguajes)

Hay un sitio de comunidad dedicado a Windows HPC:

http://www.windowshpc.net/

con archivos, recursos, código fuente y ejemplos. 

Software para usar

Para iniciarse en la programación para HPC, hay que instalar Microsoft HPC Pack (Windows). Lo bajé desde:

HPC Pack 2008 SDK download

(no hace falta un HPC Server para los primeros pasos)

Luego, instalé MPI.NET Software

(Instalé el MPI.NET SDK.msi pero también expandí el MPI.NET-1.0.0.zip: éste tiene mejores ejemplos, ya armados como soluciones de Visual Studio)

Un excelente tutorial, sobre programación secuencial, en paralelo, y luego usando HPC 2008, en:

Learning Parallel Programming — from shared-memory multi-threading to distributed-memory multi-processing

Enlaces adicionales

Si quieren explorar las posibilidades de programación de HPC, hay algunos temas a investigar:

HPC

http://www.hpccommunity.org/ Comunidad HPC
http://www.hpcwire.com/ High Productivity Computing
http://www.ddj.com/hpc-high-performance-computing/
YouTube – An Overview of High Performance Computing and Challenges for the Future
http://en.wikipedia.org/wiki/High-performance_computing

MPI

MPI (Message Passing Interface) está soportado en Windows HPC. Hay una implementación de Microsoft:

Microsoft MPI (Windows)

que puede ser invocada desde C++.

Hay una implementacíón .NET sobre esa de Microsoft MPI:

MPI.NET: High-Performance C# Library for Message Passing

Tiene código fuente de ejemplo.

(una anterior implementación en Codeplex:  MPI .Net – Home)

Ya había escrito sobre otra implementación en .NET:

MPI Message Passing Interface in .NET

Más sobre MPI

MPI 2.0 Report
MPI Tutorials
Microsoft Messaging Passing Interface – Wikipedia, the free encyclopedia
Pure Mpi.NET

Programación en paralelo

Introduction to Parallel Computing introducción muy completa (gracias a jgarcia por el enlace)
Microsoft Innovation Day – November 5, 2006 están presentando algo relacionado con DryadLINQ
Multithreading and Concurrency in .NET una lista completa de tecnologías disponibles en .NET
http://www.microsoft.com/ccrdss Ahora, CCR/DSS como paquete separado (antes venían sólo en Microsoft Robotics)
Adobe Press – 9780321603944 – Software Pipelines: The Key to Capitalizing on the Multi-core Revolution
Burton Smith: On General Purpose Super Computing and the History and Future of Parallelism | Going Deep | Channel 9
Welcome to Hadoop!
Dryad – Home Un interesante proyecto de Microsoft research
YouTube – Dryad: A general-purpose distributed execution platform Presentación en Google Talks
Concurrency: What Every Dev Must Know About Multithreaded Apps
Overview of concurrency in .NET Framework 3.5 | Igor Ostrovsky Blogging
Parallel Programming with .NET
Parallel Computing Developer Center de Microsoft
Parallel Virtual Machine – Wikipedia, the free encyclopedia
http://msdn.microsoft.com/msdnmag/issues/07/10/PLINQ/default.aspx Parallel LINQ

Map Reduce

Writing An Hadoop MapReduce Program In Python
Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks
Google Research Publication: MapReduce

Delicious

En mis enlaces en delicious sobre HPC, MPI, Parallel programming, Grid Computing, algoritmos Map Reduce, CCR/DSS:

http://delicious.com/ajlopez/hpc
http://delicious.com/ajlopez/mpi
http://delicious.com/ajlopez/parallel
http://delicious.com/ajlopez/gridcomputing
http://delicious.com/ajlopez/mapreduce
http://delicious.com/ajlopez/ccr
http://delicious.com/ajlopez/dss

En el PDC 2008, Windows HPC fue mostrado con un ejemplo de Computer Go, el programa campeón del mundo ManyFacesOfGo (http://www.smart-games.com) . Computer Go es un tópico fascinante:

http://delicious.com/ajlopez/computergo

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

This entry was posted in 1389, 6149, 9294, 9409. Bookmark the permalink.

One Response to Recursos de Windows High Performance Computing (HPC) y Programación

  1. elyin says:

    quisiera saber como contactate quisiera un poco de ayuda con la configuracion del HPC 2008, GRACIAS DE ANTEMANO.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>