Welcome the blog of the Computing Service of the UPV/EHU

top500. Munduko ordenagailu potenteenen zerrenda.

June 14th, 2013

Superkonputazioaren munduan, top500  delako  zerrenda erreferente bat da (http://www.top500.org), bertan, munduko potentziarik handieneko 500 ordenagailuak ageri baitira. Zerrenda hau urtean bi aldiz eguneratzen da, ekaina eta azaroan antolatzen diren ISC (International Supercomputing Conference) bileretan.

1993. urtean sortu zen, superkonputazio munduaren joerak aztertzeko eta superkonputagailuen arteko aladaraketa konparagarriak egin ahal izateko. Oinarri beazala,  LINPACK liburutegietan (algebra linearreko liburutegi bat) ageri den LINPACK testa aukeratu zen, beraz, top500 zerrenda test hau azkarren exekutatzen duten ordenagailuen zerrenda da. Orokorrean, zerrenda honetako ordenagailuek test hauek optimizatzen dituzte, emaitzak onak izan eta zerrendan sartu ahal izateko, honek dakarren ospeagatik.

Zerrenda sortu zenetik, bertako sistemen potentzia 14 hilabetero (gutxi gora bera) bikoiztu dela ikusten da azpiko irudian. Moore-en legearekiko hobekuntza nabarmena da. (Moore-en legea: zirkuitu integratuen transistore kopurua bi urtero bikoizten da). Moore-en eratorria den bigarren lega bat ere nabarmen hobetzen du (honek  prozesgailuaren eraginkortasunaren hobekuntza kontutan hartzen eta  potentzia 18 hilabetero hobetzen dela dio). Eraginkortasun hobekuntza honek agerian uzten du arlo honek duen garrantzia. Eragingortasun hau lortzeko, hainbat eragileek, instituzioeek zein makina fabrikatzaileek, egindako esfortzua nabarmena da,  kalkulu zientifikoak gaur-egun duen garrantzia erakusten digularik

Top500

Top500-eko superkonputagailuen eraginkortasunaren garapen exponentziala GFLOP-etan. Lerro gorria superkonputagailu azkarrenari dagokio, horia 500.-ari eta urdina lista guziko ordenagailuen eraginkortasunaren baturari (Wiki Commons).

Superkonputagailuek 1993. urtea ezkero  jasandako  garapena  modu sinple eta argian ikusi daiteke top500 zerrendan. Bertan, prozesagailu kopuruak, prozesagailu motak, fabrikatzaileak, sistema eragileak, kokapen geografikoen aldaketak etb. erraz aztertu daitezke. Kalkulu zientifikoaren gida bat bezala erabili daiteke superkonputazioaren joerak (prozesadore motak, sare motak …) ikusteko edo etorkizunean estandarizatu daitezkeen teknologia berrien froga eremu bat bezala ere ikus daiteke.

Informatikaren islada orokor bat ere eman diezaguke, edo zergaitik, gizartearen zientzia eta teknologiarena garapenarena, batez ere ordenagailu hauek zeinek eraiki eta non kokatuta dauden begiratzen badugu. Adibidez, azaroko 2012 zerrenda aztertuz ikus dezakegu:

  • Prozesagailuen %99.4-a enpresa amerikarrak egindakoak direla (IBM, Intel eta AMD). %0.6-a Fujitsu Japoniarrenak.
  • Ordenagailu hauek egiten dituzten enpresak begiratuz ere %90 inguru EEBB-ak direla.
  • Sareari dagokionez, %45-ak infiniband sare mota dutela eta %37-ak Gigabit ethernet.
  • Sistema eragileak aztertuz, %94-ak Linux erabiltzen dutela, %0.6-ak windows.
  • Kokapenaren aldetik, %50 EEBB,  %21 Europan, %14.4 Chinan eta %6-a Japonen daudela. Hego hemisferioan 9 besterik ez 7 Autralian eta  2 Brasilen.

Datu hauek sakon aztertu beharrik gabe, hainbat ondorio nabarmen erraz atera daitezke.

2006. urtean green500 lista sortu zen. Bertan, top500-eko ordenagilu berak ageri dira berriz, baina erabilitako Watt bakoitzeko ordenatuta, hau da  FLOPS/W erlazioa begiratuz, non FLOPS  (FLoating-point Operations per Second) den, eta W  Watt potentzia unitatea. Superkonputagailuen energi behar izugarria dela eta, energiaren aldetik eraginkorrenak nabarmentzeko sortu zen zerrenda hau. Titan, 2012. Azaroko top500  zerrendako lehenengoa da. Bere kontsumoa  9.000 etxebizitzen adinakoa da, hala ere, konputagailu hau oso eraginkorra da  green500 listako 3. delarik.

Goian esan den bezala, badaude munduan hainbat superkonputagailu zerrendako lehenegoak bezain potenteak direnak eta arrazoi desberdinengaik ageri ez direnak, Blue Waters da horietako bat  (ikus  Blue Waters el superordenador rebelde eta Titan vs. Blue Waters bien top500 lehena eta Blue Waters-en arteko desberdintasunak ikusteko eta  Titan, 2012. Azaroko top500  zerrendako lehenengoa ).

 OHARRA: Posta hau leheango erdaraz idatzi genuen  El Top de los ordenadores más potentes del mundo postaren itzulpen osatu bat da.

HPC

Superordenadores: Titan vs. Blue Waters

June 11th, 2013

En este post comparamos Titan, el superordenador más potente del mundo, y Blue Waters, el controvertido supercomputador al no enviar resultados para entrar en la lista donde debería de ocupar uno de los primeros puestos.

Titan supercomputer

Titan supercomputer

A día de hoy Titan es el superordenador más potente del mundo según la lista del top500.org (se actualiza cada 6 meses, ¿Qué es el top500?). No obstante, como ya comentamos en este post anterior el ordenador Blue Waters decidió no enviar el resultado de su benchmark Linpack al top500.org para ser incluido en la lista. El motivo es que consideran el benchmark Linpack muy simple, que no mide más que ciertas características muy concretas de un supercomputador y que el orientar el diseño y los esfuerzos a conseguir un buen Linpack, y por tanto un buen posicionamiento en el top500.org,  puede perjudicar el rendimiento general de la máquina en aplicaciones reales.

En la siguiente tabla comparamos las características de ambos supercomputadores. Mencionar que para construir Titán se desmantelaron los nodos de su predecesor Jaguar y se instalaron en la misma infraestructura los nuevos nodos y redes de Titan, lo cual habrá influenciado en un menor costo. Recientemente el Lawrence Livermore National Laboratory, que alberga a Titan, ha llegado a un acuerdo con DataDirect para instalar en Titan un potente sistema de ficheros paralelo basado en Lustre con un ancho de banda de más de 1 TB/s y 40 PB de capacidad, que no se incluyen en la tabla.

 

Característica

Titan

Blue Waters

Vendedores Cray/AMD/NVIDIA Cray/AMD/NVIDIA
Procesadores Interlagos/Kepler Interlagos/Kepler
Rendimiento medido 17.6
Rendimiento pico teórico 27 11.6
Rendimiento pico teórico CPUs 3 PFLOPS 7.1 PFLOPS
Rendimiento pico teórico GPUs 24 PFLOPS 4.5 PFLOPS
Nodos totales 18688 25712
Nodos con GPUs 18688 3072
Memoria RAM total 688 (TB) 1510 (TB)
Interconexión Gemini, 3D Torus Gemini, 3D Torus
Almacenamiento de disco on-line 20 (?) PB 26 PB
Ancho de banda a disco 0.4-0.7 TB/s <1 TB/s
Almacenamiento en cinta 15-30 PB 300 PB
Ancho de banda a cinta 7 GB/s <100 GB/s
Almacenamiento de disco on-line 20 (?) PB 26 PB
Costo ~97 millones de $ 188 millones de $

 

HPC

Java en supercomputación

June 7th, 2013

La máquina virutal java (JVM) es un programa que ejecuta programas realizados en el lenguaje de proposito general Java. Una de las grandes ventajas de Java es que sus programas pueden correr en cualquier sistema operativo – Linux, Solaris, Windows, etc – una vez se haya instalado la máquina virtual java en el ordenador. Es decir, no es necesario ni compilarlo, ni modificarlo para adaptarlo al sistemas operativo nativo del ordenador.

En la supercomputación o HPC (High Performance Computing) se mantiene a día de hoy la percepción de que Java es un lenguaje que ofrece menos rendimiento que los comúnmente utilizados C, C++ o Fortran. Esta creencia tan fuertemente arraigada tiene su origen en las primeras versiones de la JVM. En 1995 cuando apareció la primera versión de Java su rendimiento si era menor al de C++, sin embargo, la JVM ha sufrido notables mejoras de funcionalidad desde su primera versión. Si además tenemos en cuenta las ventajas inherentes que nos ofrece Java no resulta complicado comprender que su uso en HPC se vea incrementado día a día. Se pueden destacar dos capacidades principales que hacen de Java un lenguaje con el potencial necesario para su uso en HPC: “el recolector de basura” y “el compilador Just-In-Time”.

El recolector de basura (Garbage Collector) se encarga de liberar la memoria no usada, lo cual facilita el trabajo de los programadores, deshaciéndose de la necesidad de liberar la memoria explícitamente en las aplicaciones permitiendo un código más limpio, más seguro y unas aplicaciones más robustas. Aunque esta ventaja también implica un gasto mayor de memoria del que otros lenguajes requieren. El compilador Just-In-Time (JIT), que ofrece la posibilidad de la creación y compilación de nuevas funciones mientras la aplicación se esta ejecutando, permite mejorar el rendimiento.

Cálculo numérico con Java

En lo concerniente a las operaciones de cálculo, Java es incapaz de seguir a otros lenguajes como C, tardando tres o incluso cuatro veces más en completar dichas tareas. Esto se debe a que Java no dispone de soporte nativo para números complejos, arrays multidimensionales y que las funciones trigonométricas no se encuentran optimizadas.

Proyectos de supercomputación en Java para el procesamiento de datos

En los últimos dos años se ha avanzado mucho en lo que a supercomputación con Java se refiere, han surgido grandes proyectos destinados tanto al cálculo científico, como al intercambio de grandes cantidades de información en los sectores financieros. Incluso en la Organización Europea para la Investigación Nuclear (CERN) se han llevado a cabo grandes proyectos con Java.

Gaia satellite

The data collected by the Gaia satellite will be analized using Java.

Dentro del ámbito del tratamiento de datos científicos en HPC mediante el uso de Java podemos encontrar la misión astrométrica espacial Gaia. El objetivo de esta misión es enviar una sonda que orbitará alrededor del Sol a una distancia de 1,5 millones de kilómetros de la Tierra durante los próximos 5 años para crear un mapa tridimensional de nuestra galaxia. Se estima que a lo largo de los cinco años que durará la misión la sonda observará miles de millones de estrellas más de 70 veces para obtener datos como: luminosidad, temperatura, gravitación, la composición en elementos químicos… Esta ingente cantidad de datos se analizarán con Java.

Un supercomputador esta formado por diversos nodos de cálculo interconectados entre sí que trabajan conjuntamente. Para esta colaboración es necesaria que los nodos se intercambien información. El modelo más utilizado para lograrlo es el paso de mensajes (Message Passing Interface, MPI), y su equivalente en Java es Message Passing in Java (MPJ). En este proyecto habría que destacar la creación de una aplicación Java llamada “MPJ-Cache”. Este middleware mediante el uso de MPJ ofrece una interfaz de programación (API) de alto nivel que ofrece al programador funcionalidades como: almacenamiento temporal en cache, precarga de datos, división y recombinación de archivos grandes, precarga de datos… de forma distribuida en los nodos. El uso de la misma registró un rendimiento total de hasta 100 Gbps.

En cuanto al procesamiento de grandes cantidades de datos en Java orientados a la supercomputación nos encontramos con la herramienta “LMAX Disruptor”. Fue creada inicialmente para manejar el procesamiento de datos en un entorno financiero, sin embargo, debido al gran avance que ha supuesto aspira a llegar más allá. El problema inicial es que que los bloqueos en las colas que requieran la mediación del Sistema Operativo resultan muy costosos, por ello decidieron crear este framework libre de bloqueos. Para lograrlo hace uso del “magic ring buffer” que, como indica su propio nombre, es un anillo el cual se usa de buffer para pasar de un proceso a otro. Cada registro del buffer guarda un puntero al siguiente proceso. Este sistema sustituye el uso de las colas lo cual ofrece un mayor rendimiento al evitar los bloqueos, sin embargo, incrementa la complejidad del propio código.

Conclusión

Es posible que Java aun tarde años en acabar por alcanzar a C++ y Fortran en su uso, sin embargo la portabilidad que nos ofrece el propio Java es un gran punto a su favor. Esto unido a las diversas librerías y herramientas dota a Java con las funcionalidades necesarias para suplir con creces las necesidades de proyectos de supercomputación. A pesar de ello, tiene carencias difíciles de ser pasadas por alto, como las dificultades mencionadas para los cálculos. Otra desventaja añadida al uso de Java en comparación con otros lenguajes es la memoria, Java requiere más de la que C++ utiliza. De modo que, si bien Java dispone de las capacidades necesarias para el HPC, no siempre resulta ser eficiente en todos los aspectos necesarios, lo cual le augura un futuro incierto como entorno de desarrollo general en HPC, aunque si es viable en ciertos campos.

Gorka Frade Camino,
Alumno en prácticas del centro IEFPS Elorrieta-Erreka Mari en prácticas en el IZO-SGI.

Referecias

Tesis de Aidan Fries. The use of Java in large scientific applications in HPC environments.
Java vs C++ performace.
Wikipedia. High performance computing.

Wikipedia. Compilación en tiempo de ejecución.

Wikipedia. Java.

Wikipedia. Java performance.

Análisis del rendimiento de Java.
LMAX Disruptor.

 

 

HPC

seq

May 15th, 2013

Regla mnemotécnica

seqSequence

El comando seq escribe la secuencia de números enteros indicada entre un inicio y un final:

seq Inicio Final

o especificando el incremento

seq Inicio Incremento Final

 

Ejemplo1. Imprimir los números del 1 al 5:

 $ seq 1 5
1
2
3
4
5

 

Ejemplo 2. Imprimir la tabla del 8:

$ seq 0 8 80
0
8
16
24
...

 
Ejemplo 3. Imprimir una secuencia hacia atrás.

$ seq 3 -1 -2
3
2
1
0
-1
-1

 
 

Comandos Avanzados, Linux

Charla: Más geometría para vivir mejor

April 30th, 2013

Ferran Hurtado se centrará en la geometría computacional, una de las disciplinas que han surgido recientemente y en sus aplicaciones a la robótica, la medicina, la geografía, la informática gráfica, el diseño, el fútbol, el reconocimiento de formas, etc. Además, contenedrá algunos apuntes básicos sobre la naturaleza de las matemáticas y su papel en la tecnología

La exposición será de carácter divulgativo, requiriendo tan solo conocimientos de matemáticas propios de la enseñanza primaria, y tiene como objetivo hacer conscientes a los asistentes de que hay matemáticas  detrás de cada tecnología, y de que si ésta es nueva, buena parte de las matemáticas que la subyacen también lo han de ser. De este modo, el incesante desarrollo de las matemáticas, y entre ellas el de la geometría computacional, contribuye a mejorar constantemente nuestra vida cotidiana

2 de Mayo de 2013 a las 19:30 en la biblioteca de Bidebarrieta de Bilbao.

Conferenciante

Ferran Hurtado es Catedrático de Matemática Aplicada en Barcelona, en la Universidad Politécnica de Cataluña, donde dirige un reconocido grupo de investigación en geometría discreta y computacional. Ha escrito varios libros y capítulos de libro, que van desde textos de bachillerato hasta temas propios de su especialidad, ha publicado más de un centenar de artículos en revistas arbitradas, ha dirigido quince tesis doctorales y ha liderado numerosos proyectos de investigación, tanto nacionales como internacionales.

Collision of convex shapes

Collision of convex shapes

 

 

 

Anuncios

El cálculo más largo realizado en Arina

April 24th, 2013

El pasado 18 de Abril terminó en Arina, el clúster del Servicio de Informática Aplicada a la Investigación (Cálculo Científico) de la UPV/EHU, el cálculo más largo realizado hasta ahora en el Servicio. Este cálculo fue lanzado el 1 de Enero de 2012 por lo que ha estado ejecutándose ininterrumpidamente 1 año, 4 meses, 16 días y 8 horas, 11335 horas en total. Este cálculo ha supuesto un récord en el Servicio de Cálculo se ejecutan trabajos que duran desde unos pocos minutos hasta algunos meses, aunque no son normales cálculos tan largos como éste.

El cálculo se ha ejecutado empleando 12 cores simultáneamente en paralelo, por lo que el tiempo de cálculo equivale a usar un core durante 15.5 años lo que también ha supuesto un hito. En este sentido existen cálculos que usan muchos más cores en forma paralela (64, 128, etc) y que en menos tiempo real acumulan mucho tiempo de cálculo, aunque ninguno ha llegado a los 15.5 años logrados esta semana. Por supuesto, en clústers más grandes donde se pueden ejecutar fácilmente cálculos en miles de procesadores  estos números se quedan ridículos. Por como está programado el código empleado, éste no puede ejecutarse en varios nodos, es decir en mucho cores,  en paralelo por lo que está limitado a usar un único nodo, en este caso con 12 cores.

A pesar del modesto tamaño de Arina lo que este cálculo ha demostrado es la gran estabilidad y fiabilidad del clúster que gracias a la flexibilidad del servicio, calidad del mismo, y a los servicios y CPD (sala de máquinas) proporcionados por las TIC de la UPV/EHU permiten una operación ininterrumpida tan larga.

Artistic representation of a Coulomb explosion of clusters

Artistic representation of a Coulomb explosion of clusters

El profesor Ikerbasque Andreas Heidenreich trabaja en el estudio teórico de explosiones de Coulomb. Estas explosiones se producen cuando se ionizan de forma extrema y ultrarápida clústers de átomos quedando estos fuertemente ionizados con carga positiva lo que provoca una fuerte repulsión entre los núcleos que salen despedidos a velocidades altísimas. Estas explosiones de Coulomb pueden tener aplicaciones futuras en fusión fría, creación de neutrones o estudios de síntesis en las estrellas. La producción experimental de estas explosiones se realiza en laboratorios singulares y son tremendamente caras, por eso su comprensión teórica es tan importante y económicamente mucho más asequible.

Más información sobre explosiones de Coulomb

Grupo de Química Teórica de la UPV/EHU. Coulomb Eztandak: Fusio hotzarako bidea?

 

 

IZO-SGI

Programming and tUning Massively Parallel Systems summer school, Barcelona

April 16th, 2013

Programming and tuning Massively Parallel Systems Summer School (PUMPS)

This fourth edition offers researchers and graduate students a unique opportunity to improve their skills with cutting-edge techniques and hands-on experience in developing and tuning applications for many-core processors with massively parallel computing resources like GPU accelerators. Participants will have access to a multi-node cluster of GPUs, and will learn to program and optimize applications in languages such as CUDA and OmpSs. Teaching Assistants will be available to help with Hands-on Labs assignments. The summer school is oriented towards advanced programming and optimizations, and thus previous experience in basic GPGPU programming will be considered in the selection process.

Important information

When: July 8-12
Where:

Barcelona Supercomputing Center (BSC) / Computer Architecture Dept. at Universitat Politecnica de Catalunya, Barcelona (Spain)

Application due: May 17
Notification of acceptance: May 31

 Lecturers

  • Wen-mei Hwu, University of Illinois at Urbana-Champaign.
  • David Kirk, NVIDIA Fellow, former Chief Scientist, NVIDIA Corporation.
  • Isaac Gelado, Rosa Badia, Xavier Martorell, Nacho Navarro (BSC and UPC).

Some of the topics that will be covered during the course are

  • CUDA Algorithmic Optimization Strategies.
  • Dealing with Sparse and Dynamic data.
  • Efficiency in Large Data Traversal.
  • Reducing Output Interference.
  • Controlling Load Imbalance and Divergence.
  • Debugging and Profiling CUDA Code.
  • GMAC Runtime.
  • Multi-GPU Execution.
  • Introduction to OmpSs.
  • OmpSs: Leveraging GPU/CUDA Programming.
  • Hands-on Labs: CUDA Optimizations and OmpSs Programming.

More information

Complete information, program and registration: http://bcw.ac.upc.edu/PUMPS2013

Contact: bcw2013@bcw.ac.upc.edu

 

 

Anuncios

Licencias para investigación del programa de CFD STAR-CCM+

April 10th, 2013

El Servicio Cálculo Científico (IZO-SGI) de la UPV/EHU ha adquirido para los investigadores de la UPV/EHU licencia corporativa del programa de simulación computacional de mecánica de fluidos (CFD) STAR-CCM+. El uso del mismo en ordenadores y servidores ajenos a los del IZO-SGI se debe solicitar a los técnicos del Servicio y se facturará anualmente según los siguientes criterios:

  • Licencia para PCs de 4 o menos cores:  100 €. No se facturará si el uso es menor a 100 horas.
  • El acceso de la licencia a servidores se hará en función del número de cores totales de los servidores solicitados de alta según la siguiente tabla:
 1-16 cores  35 € por core
 17-40 cores  Tramo anterior más 25 € por core extra.
 A partir de 40 cores  Tramo anterior más 15 € por core extra.
  • Existen licencias para docencia cuyas condiciones se pueden consultar en este link.

 

Sobre Starccm+

b0221_fornasari_buggyStarccm+ provides the world’s most comprehensive engineering simulation inside a single integrated package. Much more than just a CFD solver, STAR-CCM+ is an entire engineering process for solving problems involving flow (of fluids or solids), heat transfer and stress.

 
 
 
 

IZO-SGI

Licencias para docencia del programa de CFD STAR-CCM+

April 10th, 2013

El Servicio General de Informática Aplicada a la Investigación (Cálculo Científico) dispone de licencias para docencia del programa de CFD StarCCM+ para el año 2013 para impartir asignaturas de la UPV/EHU y proyectos fin de carrera. También se disponen de licencias para Inversigación (ver quí).

Es necesario que el docente haga una solicitud a los técnicos.

  1. Licencias de docencia

    Se deberá de remitir la siguiente información a los técnicos.

    • Número de alumnos.
    • Número de licencias (ordenadores en el aula).
    • Periodo y horario de las clases.
    • Nombre de la asignatura.
  2. Proyectos fin de carrera

    Se deberá de remitir la siguiente información a los técnicos.

    • Título del proyecto.
    • Periodo de realización.
    • Si hubiese colaboración con alguna empresa nombre de la misma.
    • Tras su finalización se deberá de remitir la memoria del proyecto a CD-Adapco.

 

Sobre Starccm+

b0221_fornasari_buggyStarccm+ provides the world’s most comprehensive engineering simulation inside a single integrated package. Much more than just a CFD solver, STAR-CCM+ is an entire engineering process for solving problems involving flow (of fluids or solids), heat transfer and stress.

 
 
 
 
 

IZO-SGI

Applied fluid mechanics workshop in Gasteiz

March 21st, 2013

Applied_fluid_mechanics

 
 

El 23 de Abril se celebrará en la Escuela de Ingeniería de Gasteiz el workshop “Applied fluid mechanics” organizado por el “Green Energy Taldea“. Es necesario registrarse.

 
 
 

Programa

  • 9:00-9:15 Opening by UPV/EHU-Green Energy Taldea.
  • 9:15-10:00 Passive and active control strategies implemented in wind energy research at DTU.

C. M. Velte. Technical University of Denmark-DTU.

  • 10:00-10:45 Large Scale Simulations of Turbulent Flows for Industrial Applications

L. Remaki. BCAM-Basque Center for Applied Mathematics, Bilbao.

  • 11:15-12:00 Models of Wind turbine Wakes.

A. Crespo. UPM-Technical University of Madrid.

  • 12:00-12:45 Control Algorithms for Horizontal Axis Wind Turbines.

E. Zulueta. Automatic and control department. University of the Basque Country.

  • 12:45-13:30 IZO-SGI SGIker, Scientific Computing at the UPV/EHU.

J. M. Mercero. IZO-SGI SGIker, University of the Basque Country.

Más información

Página web del evento, aquí.
 
 
 

Anuncios