lunes, 23 de septiembre de 2013

Octrees

Un Algoritmo rápido para mostrar Octrees:

Voxel:
Hagamos una analogía con el pixel que es la mínima unidad de información de una imagen 2D, algo similar con el voxel mínima unidad de representación de una imagen en 3D.

Abstract: El octree es una estructura de datos usado para modelar datos en 3 dimensiones. El octree linear es una representación compacta de un octree. El Algoritmo presentado trabaja ordenando voxels de un octree lineal ordenándolos de forma ascendente en función a la distancia del observador. Introducción: Existe un gran número de técnicas para modelamiento de objetos 3D y la selección de la técnicas depende de la aplicación. Una de las razones predominantes del uso del octree es para la representación compacta y la capacidad que tiene para realizar operaciones tales como neighbor finding. Otra razón importante también es por la existencia de una forma primitiva El Cubo, y sabemos que un objeto arbitratio puede ser representado con precición por unidades cúbicas pequeñas. De esta manera podemos trabajar recursivamente con algoritmos por niveles donde el nodo raiz representa el objeto total y los nodos hijos pertenecen una partición matemática del bloque. La principal desventaja de la técnica de 'encoding'.


                           Ilustración de una imagen 2D almacenada en un quad-Tree.

En la figura se ilustra como se almacena de forma recursiva una imagen 2D en un quad-Tree para la región 4.

Ventajas del Octree para la computación paralela:
  Una de las razones por la cual se utiliza el octree es pues permite almacenar imágenes 3D partiendo la región en sub-bloques mutuamente excluyentes de tal forma que cuando se quiere paralelizar alguna tarea sobre la imagen cada sub-tarea trabaja sobre una sola región minimizando así la comunicación entre procesos.

viernes, 20 de septiembre de 2013

Escalonamiento de Aplicaciones Paralelas: De clústers para Grids.

  
 Un entorno de  procesamiento paralelo está constituido por múltiples procesadores, memoria centralizada o distribuida y sistema operacional que permita la manipulación de dicho procesamiento sobre un algoritmo paralelo.
Como ejemplo de este tipo de sistemas podemos citar los sistemas multiprocesadores orientados al paradigma de paso de mensajes.

  Los clústers de computadores está caracterizados por  presentar diversos computadores interconectados con una tecnología de red. Esta arquitectura también denominada cluster no posee memoria compartida. Podemos decir que cada procesador solamente tiene acceso a una memoria local y alternativa de paso de mensajes con la utilización de librerías basados en los protocolos de la arquitectura TCP/IP(Transmission Control Protocol / Internet protocol ).

  La creación de los cluster de computadores viene dado por el bajo costo que trae construirlos en comparación con los procesadores paralelos y aparte de ello son facilmente escalables, y podemos decir que no existen límites para el número de procesadores pudiendo ser adicionados en función de las necesidades de la aplicación. Resaltar que lo último mencionado no es del todo cierto pues trae como consecuencia lo que se conoce como cuello de botella lo cual en ciertas aplicaciones donde involucra muchas comunicaciones hace que el sistema se sature.

 El gran avance en el desempeño de las redes de computadores despertó la idea de utilizar este sistema multiprocesador en otros recursos de cómputo, conectados independientemente dando origen a la computación grid.
   Este nuevo entorno dispone de muchos recusos compartidos entre diferentes dominios institucionales los cuales involucran acceso directo a hardware, software y datos que necesitan de un control y procesamiento. Tal conjunto de recursos, usuarios y reglas de compartición constituyen una forma de organización virtual.

  Todo ello trae como consecuencia el concepto de interoperabilidad que trabaja en el establecimiento de relaciones entre los componentes del grid utilizando protocolos comunes de información de servicios, administración de recursos, transferencia de datos y autenticación segura de usuarios ,todo lo dicho pasa a formar parte del middleware que será responsable de gerenciar el grid.

  Distintos algoritmos permiten el escalonamiento eficiente de aplicaciones paralelas en plataformas computacionales heterogéneas y distribuídas, tales como grids computacionales. Muchos algoritmos de escalonamiento para esos entornos necesitan de un modelo de aplicación representado por un grafo acíclico direccionado(GAD), sleccionando tarifas para ejecución de acuerdo con sus características de comunicación de procesamiento.
 

sábado, 14 de septiembre de 2013

Computación Paralela en la UNI

 



    



   Computación Paralela, inmediatamente se nos viene a la mente clústers, multinúcleo, grid, multitarea, procesadores i3,i5,i7,incluso celulares como el ADM FX,o los multicores para Android,GPUs,CUDA'sNVIDA. Bueno todo eso para abrirnos un inimaginable mundo donde cada vez lo virtual se asemeja más a lo real.

 ¡Bienvenidos a COMPUTACIÓN PARALELA EN LA UNI !