top500. Munduko ordenagailu potenteenen zerrenda.
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-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.
Superordenadores: Titan vs. Blue Waters
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.
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 $ |
Java en supercomputación
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.
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.
seq
Regla mnemotécnica
seq: Sequence
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
Charla: Más geometría para vivir mejor
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.
El cálculo más largo realizado en Arina
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.
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?
Programming and tUning Massively Parallel Systems summer school, Barcelona
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
Licencias para investigación del programa de CFD STAR-CCM+
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+
Starccm+ 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.
Licencias para docencia del programa de CFD STAR-CCM+
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.
- 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.
- 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+
Starccm+ 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.
Applied fluid mechanics workshop in Gasteiz
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.






Comentarios