Buscar
Social
Ofertas laborales ES
« Lo mejor y lo peor del 2006 | Main | ¿SOAP muere? »
viernes
dic222006

Pervasive Datarush, framework Java para aprovechar los procesadores mu

Los procesadores multi núcleo cada vez son más comunes, incluso en los equipos de escritorio. La disipación de calor y los propios límites de la física cuántica ya han puesto fin a la ley de Moore. Ahora para incrementar la potencia de cálculo de un microprocesador es económicamente más rentable duplicar el hardware que incrementar su frecuencia de reloj.



Muchas aplicaciones que ejecutamos habitualmente no están preparadas para funcionar sobre más de un núcleo (¿cuántos habéis visto ya un "pico de CPU" de 50% cuando se cuelga una aplicación en un procesador de doble núcleo?). En Java, afortunadamente, la máquina virtual es capaz de abstraer una buena parte de las complicaciones del paralelismo requerido para funcionar sobre estos procesadores. Pero no todo.



Pervasive Datarush probablemente sea el primero de una serie de frameworks que nacerán con el propósito de simplificar el desarrollo de aplicaciones masivamente paralelas que aprovechen al máximo tanto procesadores de múltiples núcleos como los múltiples procesadores disponibles. En el caso de Pervasive Datarush el framework está orientado al procesamiento de cantidades masivas de datos.



Inicialmente, describimos un flujo de datos mediante un documento XML que indica cuál serán las fuentes de los datos, el procesamiento que se realizará sobre ellos y el destino. El framework proporciona una serie de componentes lectores de datos (por ejemplo, se soportan fuentes que sean ficheros de texto plano, ficheros XML, bases de datos...) y una serie de componentes que automatizan el almacenamiento de datos en ciertos formatos comunes.



Obviamente, el framework proporciona puntos de extensión para crear tus propias fuentes de datos, definir el procesamiento que quiero realizar sobre los datos e indicar cómo quieres almacenar los resultados. De modo automático el framework gestionará los threads, la gestión de la concurrencia, el reparto de trabajo entre los procesadores y núcleos disponibles...



Creo que a partir de ahora vamos a empezar a ver soluciones de este tipo para ámbitos muy diferentes. Y, cuando se haya ganado más experiencia en este terreno, soluciones de propósito general. ¿Qué opináis vosotros?

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.