Source: http://docplayer.es/2360064-Reduccion-de-los-tiempos-de-computo-de-la-migracion-sismica-usando-fpgas-y-gpgpus-un-articulo-de-revision.html
Timestamp: 2017-01-20 17:06:09+00:00

Document:
⭐Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs: Un artículo de revisión
Download "Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs: Un artículo de revisión"
Consuelo Acuña Valdéz
1 Ingeniería y Ciencia ISSN: ISSN-e: ing. cienc., vol. 9, no. 17, pp , enero-junio This a open-access article distributed under the terms of the Creative Commons Attribution License. Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs: Un artículo de revisión Carlos Fajardo 1, Javier Castillo Villar 2 y César Pedraza 3 Recepción: , Aceptación: Disponible en línea: MSC:68M20 / PACS:93.85.Rt 1 Resumen Este artículo hace una revisión entorno a los esfuerzos que actualmente se están realizando con el propósito de reducir el tiempo de cómputo de la MS. Nosotros introducimos los métodos más utilizados para realizar el proceso de Migración, así como también las dos arquitecturas computacionales que están ofreciendo mejores tiempos de procesamiento. Revisamos las implementaciones más representativas de este proceso sobre estas dos tecnologías y resumimos los aportes de cada una de estas investigaciones. El artículo finaliza con un análisis acerca de la dirección que deben tomar futuras investigaciones en esta área. Palabras clave: Evaluación del desempeño, FPGA, GPGPU, Métodos sísmicos de exploración, Migración Sísmica. Ph.D.(c) Universidad Industrial de Santander, Bucaramanga, Colombia. 2 Doctor en Ingeniería Informática, Universidad Rey Juan Carlos, Madrid, España. 3 Doctor en Ingeniería Informática, Universidad Santo Tomás, Bogotá, Colombia. Universidad EAFIT 2612 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs Aspectos relevantes Métodos más usados para realizar la Migración Sísmica. Revisión de la implementación de la Migración Sísmica sobre FPGA y GPGPU. Futuras investigaciones. Reduction of computation time of Seismic Migration using FPGAs and GPGPUs: A review article. Abstract This article makes a review around the efforts that are currently being carried out in order to reduce the computation time of the MS. We introduce the methods used to make the migration process as well as the two computer architectures that are offering better processing times. We review the most representative implementations of this process on these two technologies and summarize the contributions of each of these investigations. The article ends with our analisys about the direction that future research should take in this area. Key words: Exploration seismic methods, FPGA, GPGPU, Performance evaluation, Seismic Migration. 1 Introducción En los últimos 150 años se han consumido alrededor de 1 billón de barriles (de equivalente) de petróleo, debido al incremento de la demanda, durante los próximos veinte años será necesario encontrar y extraer la misma cantidad de petróleo que en los 150 precedentes [1]. El petróleo y gas de fácil extracción ya han sido agotados y para ubicar nuevas reservas se tendrá que buscar en áreas geológicas complejas y que en el pasado fueron descartadas por el alto coste de extracción. Para tal fin la industria petrolera deberá realizar imágenes del subsuelo con una mayor resolución a las realizadas anteriormente. Para la construcción de las imágenes del subsuelo, las empresas tradicionalmente han usado plataformas de cómputo hasta con miles de CPU, sin embargo, los sistemas de computo basados en procesadores tradicionales se han visto frenados principalmente por tres causas: la primera consiste en la relación cúbica entre la frecuencia y la potencia, lo cual ha detenido la carrera por la velocidad, este efecto se conoce como muro de 262 Ingeniería y Ciencia3 Carlos Fajardo, Javier Castillo Villar y César Pedraza potencia (power wall); otra causa es la gran diferencia que existe entre la velocidad a la cual los datos son transferidos al procesador y la velocidad a la que éste ejecuta las instrucciones, esta limitación se conoce con el nombre de muro de memoria (memory wall); finalmente las posibilidades para que los procesadores continúen aumentando el paralelismo a nivel de instrucción IPL(Instruction Level Parallelism) no son prometedoras, este efecto se conoce como IPL wall [2]. Debido a las tres barreras mencionadas anteriormente, la computación de alto rendimiento se ha encaminado hacia la computación híbrida, en donde las CPU trabajan conjuntamente con una serie de nuevas arquitecturas que aprovechan mejor el paralelismo de las aplicaciones. Ahora bien, la pregunta para los investigadores en computación sísmica de alto rendimiento es: cuál es el hardware más apropiado para implementar el proceso de Migración Sísmica (MS)? investigaciones recientes [3], [4], [5] muestran que tanto las GPGPU (General-Purpose Computing on Graphics Processing Units) como las en FPGAs (Field Programmable Gate Array) son dos opciones para acelerar el proceso de MS. Este artículo describe el problema de la MS desde la perspectiva computacional, de igual manera revisa las fortalezas y debilidades que estas dos arquitecturas (FPGAs y GPGPUs) tienen a favor o en contra del proceso de MS. En esta revisión también se analizan las implementaciones más representativas de la MS tanto en las FPGAs como las GPGPUs encontradas en la literatura y se resumen los aportes que éstas han hecho en relación a los problemas de memoria, transferencia de datos y de cómputo. El resto de este artículo está organizado de la siguiente manera: la sección 2 corresponde a la descripción del experimento sísmico y las diferentes estrategias para realizar el proceso de migración, las secciones 3 y 4 se dedican para introducir las FPGAs y las GPGPUs respectivamente, en la sección 5 se revisan las diferentes implementaciones de la MS sobre estas arquitecturas y se resumen los principales aportes de cada una de estas implementaciones y finalmente se muestran las conclusiones. ing.cienc., vol. 9, no. 17, pp , enero-junio4 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs 2 Adquisición y procesamiento de datos Sísmicos El costo de una exploración del subsuelo está en el orden de las decenas de millones de dólares y la probabilidad de encontrar petróleo es relativamente baja, por lo cual, la industria petrolera debe realizar estudios que le permitan reducir la incertidumbre en las áreas a explorar. La principal técnica utilizada por la industria del petróleo para identificar posibles reservas de hidrocarburos es construir una imagen del subsuelo por medio de la técnica de la Reflexión Sísmica, esta técnica está basada en las propiedades de reflexión de las ondas sonoras. 2.1 Adquisición de las trazas sísmicas Para la construcción de una imagen del subsuelo, se requiere adquirir gran cantidad de datos sísmicos, esta adquisición se inicia con la ubicación de una serie de sensores, llamados geófonos, sobre el área a explorar; si los sensores se ubican en línea recta se dice que la adquisición es 2D o si ocupan una área se dice que la adquisición es 3D. Una vez ubicados los geófonos, se activa una fuente artificial de sonido en el área a explorar (un camión vibrador, una carga explosiva o bombas de aire en el océano). El registro de un geófono durante un disparo recibe el nombre de traza sísmica. 2.2 La migración sísmica Con el propósito de construir una imagen del subsuelo, las señales sísmicas detectadas por los geófonos (las trazas) deben ser procesadas en varios módulos de procesamiento, el último de ellos se denomina Migración Sísmica y es el de mayor costo computacional. Este módulo busca reubicar los reflectores (las uniones de los diferentes geológicos) de una posición virtual a su posición correcta; la importancia de la migración de los datos sísmicos fue reconocida desde 1921 [6] ya que sin este último módulo la imagen que se obtendría sería incorrecta, especialmente en zonas geológicamente complejas [7]. 264 Ingeniería y Ciencia5 Carlos Fajardo, Javier Castillo Villar y César Pedraza En el experimento sísmico se asume que la tierra está compuesta por una serie de capas z i, como se ilustra en la Figura 1; las fuentes y los receptores se ubican en la superficie del área a explorar; la velocidad de la propagación de la onda en la tierra v(x, y, z), varía en todas las direcciones, pero para simplificar el modelo algunas veces se asume que la velocidad sólo varía verticalmente y que es constante durante toda la capa z i. La migración permite reubicar el reflector AB supuesto en el punto medio entre el emisor y el receptor (Figura 1), a su posición correcta AB; esto se logra por medio de la solución de la ecuación de onda, Ecuación (1). La solución de esta ecuación utiliza un modelo de velocidad (v) del terreno a explorar y la información recolectada por los geófonos [8]. Fuente Receptor Figura 1: Problema que resuelve la migración sísmica. (Adaptado de [8]) Matemáticamente, la migración sísmica trata de encontrar una solución P (x, y, z, t) a la Ecuación (1), usando la condición de frontera P (x, y, 0, t), que fue recolectada en la superficie del terreno [7]. 2 P x + 2 P 2 y + 2 P 2 z 2 = 1 v 2 2 P t 2, (1) ing.cienc., vol. 9, no. 17, pp , enero-junio6 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs La imagen del subsuelo I(x, y, z) puede ser extraída de P (x, y, z, t), evaluando esta última en t = 0 (Ecuación (2)), basado en el concepto del reflector que explota [9]: I(x, y, z) = P (x, y, z, t) t=0, (2) 2.3 Algoritmos utilizados para realizar la migración sísmica Como se mencionó anteriormente, la importancia de la migración fue reconocida desde hace varios años y a partir de ahí han aparecido una serie de algoritmos que permiten realizar este procedimiento. La industria del petróleo usa paquetes comerciales de software para hacer el procesamiento de sus datos sísmicos, como por ejemplo ProMAX R Family Seismic Data Processing Software y SeisUP R. Estas herramientas procesan los datos sísmicos por medio de varios módulos, el último de ellos es el de migración. Los algoritmos son diferentes estrategias de solución a la Ecuación (1) y utilizan alguna aproximación escalar a dicha ecuación [10],[7]. A continuación se hace una descripción de algunos de estos algoritmos desde el punto de vista computacional: Migración de Kirchhoff Este es el método de migración más popular en la industria del petróleo y fue el primero en ser implementado en un equipo de cómputo y uno de los de menor costo computacional. El principio matemático que utiliza este algoritmo es bastante sencillo: se parte de un emisor y un receptor en la superficie a explorar, se mide el tiempo que se tarda el frente de onda en hacer la trayectoria emisorreflector-receptor; con este valor se pueden calcular todos los posibles reflectores. Con velocidad constante, el lugar geométrico que ocupan estos posibles reflectores, es la mitad inferior de una elipse para el caso 2D o un elipsoide para el caso 3D (de acuerdo a la definición geométrica de una elipse) como se muestra Figura 2. Esta información (la traza no migrada) no es suficiente para decidir cuál de todos los infinitos puntos que conforman este lugar geométrico es el receptor verdadero, con otra 266 Ingeniería y Ciencia7 Carlos Fajardo, Javier Castillo Villar y César Pedraza traza sísmica, la migración puede calcular otros posibles reflectores, la migración de Kirchhoff repite este procedimiento sobre todas las trazas y finalmente suma todas las contribuciones de las elipses (o los elipsoides) y de esta manera se forma la imagen del subsuelo [10]. Fuente Receptor Figura 2: Lugar geométrico de los posibles reflectores (Adaptado de [11]) Matemáticamente la migración de Kirchhoff implica operaciones de suma, resta, multiplicación, división y radicación las cuales generalmente se realizan en formato de coma flotante precisión sencilla pues el formato de precisión doble no es requerido para esta aplicación Cambio de Fase El cambio de fase es un método que hace uso del concepto del reflector que explota [9]. Se parte de P (x, y, 0, t) hasta llegar a P (x, y, z, 0); en este método la extrapolación se hace en el dominio de la frecuencia y por medio de un operador de cambio de fase. Este método comienza con una transformada de Fourier de los datos, que puede ser en 2D o 3D (dependiendo del tipo de adquisición), luego se aplica el operador de cambio de fase y finalmente se utiliza una transformada inversa de Fourier [7] Método por Diferencias Finitas Consiste en la discretización de la Ecuación (1) (o una aproximación de ella), reemplazando las derivadas parciales por una aproximación en diferencias centrales (esto se ing.cienc., vol. 9, no. 17, pp , enero-junio8 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs logra por medio de la aproximación de la serie de Taylor). Para mejorar la precisión en este método se requiere aumentar el número de puntos que se toman en la aproximación, pero obviamente esto requiere una mayor cantidad de operaciones computacionales. De igual manera en este método se hace necesario tener en cuenta problemas relacionados con los errores de truncamiento y criterios de estabilidad con el fin de asegurar la convergencia del método [12] Migración Reversa en el Tiempo Este es el método que en la actualidad ofrece una mejor calidad en la imágenes y aunque fue introducido en 1983 [13] su alto costo computacional impidió que se usara en el pasado [5]. Este consiste en resolver una aproximación de la Ecuación (1) dos veces, estas dos soluciones reciben el nombre de propagaciones hacia adelante y hacia atrás, luego los dos resultados son correlacionados para obtener la imagen [4]. Matemáticamente este método implica el operador Laplaciano, diferencias finitas y un método explícito para realizar integración en el tiempo [14]. 2.4 Clases de Migración La migración puede ser aplicada de diferentes formas, estas formas son llamadas clases: pos-apilado, pre-apilado, 2D o 3D, en tiempo o en profundidad. Estas clases forman ocho posibles combinaciones [15] Migración Pos-apilada y Migración Pre-apilada Un proceso usado para mejorar la relación señal a ruido de la trazas sísmicas y reducir el costo de procesamiento es el apilamiento. Este proceso consiste en sumar las trazas obtenidas en varios disparos que se reflejan en un mismo punto [16]. Si la migración se aplica después del apilamiento se denomina migración pos-apilada y su principal ventaja es la reducción del tiempo de cómputo, debido a que el número de trazas a ser procesadas se decrementa significativamente; su desventaja es que este procedimiento disminuye la precisión, especialmente en terrenos geológicamente complejos. Cuando la migración se aplica antes del apilamiento (migración pre-apilada) se mejora la precisión, pero se requiere más tiempo 268 Ingeniería y Ciencia9 Carlos Fajardo, Javier Castillo Villar y César Pedraza de cómputo (entre 60 y 120 veces más) que en la migración pos-apilada [16],[15] Migración 2D o Migración 3D Dependiendo de como las trazas sísmicas son grabadas, la migración puede ser clasificada en 2D o 3D. En la migración 2D, la energía es reflejada en un plano, luego los geófonos son localizados en linea recta. En la migración 3D los geófonos ocupan un área sobre la superficie a explorar. De manera general la migración 3D puede proveer una mayor resolución en la imágenes pero requiere un mayor tiempo de cómputo, lo que puede durar días en el procesamiento en sísmica 2D puede tardar semanas con adquisiciones 3D [15] Migración en tiempo o Migración en profundidad Existen dos enfoques para la migración sísmica: el tiempo y la profundidad. En términos simples la migración en tiempo localiza los reflectores midiendo el tiempo de viaje del frente de onda, mientras que la migración en profundidad lo hace en función de la profundidad. La migración en tiempo ha sido la más empleada durante los últimos años, pero algunos estudios [16] muestran que la migración en profundidad ofrecen mejores resultados pero se requiere un mejor modelo de velocidad y mayor capacidad de cómputo. 2.5 Criterios para la selección de la clase migración Como se mencionó anteriormente si se combinan las diferentes posibilidades que se tienen actualmente para aplicar la migración, se tienen ocho diferentes posibilidades. En la Figura 3 se resumen los criterios de selección descritos por Farmer en [15] (aqui no se tiene en cuenta el tipo de adquisión 2D o 3D): ing.cienc., vol. 9, no. 17, pp , enero-junio10 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs Aumenta la Velocidad (a) (b) (c) (d) Figura 3: Esquema para la selección de la clase de migración [15]:(a) Velocidades simples + estructura simple = Migración pos-apilada en tiempo; (b) Velocidades simples + estructura compleja = Migración pre-apilada en tiempo; (c) Velocidades complejas + estructura simple = Migración pos-apilada en profundidad; (d) Velocidades complejas + estructura compleja = Migración pre-apilada en profundidad 2.6 Costo computacional de la migración sísmica Una ventaja del proceso de la MS es que gracias a que los disparos se hacen en tiempos diferentes, cada una de las trazas sísmicas puede ser procesada de manera independiente, lo cual facilita la paralelización del proceso al ser implementado [14],[17]. Sin embargo, la implementación de la MS sobre un sistema de cómputo tiene tres retos principales: Transferencia de Datos La cantidad de datos que requieren ser transferidos desde la memoria principal a los dispositivos de cómputo es elevada. una adquisición típica puede requerir geófonos y cada sensor muestrea datos a más de 2kbps, con una nueva detonación cada 10 segundos, de tal forma que la cantidad de datos que se obtienen cada día puede estar en el orden de los terabytes [18]. 270 Ingeniería y Ciencia11 Carlos Fajardo, Javier Castillo Villar y César Pedraza Memoria La cantidad de memoria requerida para realizar la MS fácilmente supera la capacidad de memoria disponible en el dispositivo de cómputo [14] Cómputo La migración sísmica es una aplicación que requiere gran cantidad de cómputo, actualmente el tiempo requerido para migrar los datos obtenidos durante un estudio sísmico está en el orden de las semanas. 3 Dispositivos Lógicos Programables Una alternativa para acelerar el proceso de migración sísmica son los dispositivos lógicos programables. Entre estos se destacan las FPGA (Field Programmable Gate Array), siendo su uso muy extendido en multitud de problemas de aceleración de algoritmos complejos. Las FPGA permiten crear funciones complejas mediante la interconexión de una gran cantidad de recursos lógicos. Los bloques lógicos configurables (CLBs por sus siglas en inglés) son el principal recurso para la construcción de funciones lógicas. Los bloques de entrada/salida (IOBs por sus siglas en inglés) facilitan la comunicación de los pines de entrada/salidas hacia el mundo exterior y la matriz de interconexión permite interconectar los CLBs entre sí, así como también facilitar la interconexión con el mundo exterior a través de los bloques de entrada/salida. La comunicación de las FPGA con el exterior puede realizarse mediante gran cantidad de interfaces de salida. Actualmente uno de las más utilizados son los puertos PCI-Express que permiten transferir datos entre la FPGA y la CPU a velocidades de varios Gb/s. Para las tareas de computación de alto rendimiento es también habitual que la placa donde va insertada la FPGA contenga una gran cantidad de memoria externa del tipo DDR2 o incluso DDR3. Los proveedores de FPGAs como Xilinx R, Altera R, Atmel R, Lattice Semiconductor Corporation R y Achronix Semiconductor Corporation R -dentro de los que se destacan los dos primeros- ofrecen una serie móduing.cienc., vol. 9, no. 17, pp , enero-junio12 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs los IP tanto softcore (descritos en un HDL) como hardcore (implementados en fábrica) que van desde módulos matemáticos hasta procesadores completos [19],[20]. De esta forma, bloques comunmente utilizados en los diseños, como unidades de punto flotante, no deben de ser diseñadas desde cero en cada nueva aplicación. Adicionalmente desde hace un par de años, algunos fabricantes tradicionales de equipos de computación de alto rendimiento (Cray R, SGI R, Annapolis Micro Systems R, Nallatech R, Maxeler R, DRC R y Mercury Computer R ) empezaron a incluir dentro de su catálogo de productos, sistemas de cómputo que incluyen FPGA. De manera general, estos equipos de cómputo cuentan con potentes CPU combinadas con FPGA. 3.1 Las FPGA y la computación de alto rendimiento Las FPGA ofrecen muchas posibilidades para acelerar aplicaciones de cómputo intensivo, gracias a que pueden ser configurados para desarrollar tareas con un alto grado de paralelismo[21],[22], sin embargo la frecuencia a la que actualmente operan las FPGA es unas diez veces menor que la frecuencia de un procesador de escritorio, por lo cual, se requiere que las aplicaciones implementadas en la FPGA realicen al menos 10 veces más trabajo computacional por ciclo de reloj, para estar a la par con un procesador convencional. Las FPGA ya han demostrado que tienen el potencial para acelerar aplicaciones de cómputo intensivo, prueba de esto es la constante publicación de procesos computacionales implementados sobre FPGA; estas publicaciones cubren áreas como: redes neuronales [23],[24],[25],[26], búsqueda de secuencias genéticas [27],[28], filtrado digital [29],[30],[31], [32], filtrado de paquetes de red [33],[34] y simulaciones financieras Monte- Carlo [35],[36] entre otras. 272 Ingeniería y Ciencia13 Carlos Fajardo, Javier Castillo Villar y César Pedraza 3.2 Características de las aplicaciones susceptibles de ser aceleradas en una FPGA No todas las aplicaciones se pueden beneficiar de igual manera en una FPGA y debido a la dificultad que representa mapear una aplicación en estos dispositivos, Es aconsejable hacer algunas estimaciones previas con el fin determinar las posibilidades de aceleración que tendrá un algoritmo específico. Las aplicaciones que requieran procesar gran cantidad de datos con poca o ninguna dependencia de datos son las ideales para implementar en las FPGA, adicionalmente se requiere que dichas aplicaciones estén limitadas por cómputo y no por transferencia de datos [37]. La migración sísmica requiere procesar gran cantidad de datos (en el orden de las decenas Terabytes) y por otro lado las trazas sísmicas pueden ser procesadas de manera independiente, lo cual disminuye sustancialmente la dependencia de los datos. Sin embargo, la migración también tienen una gran transferencia de datos y las las operaciones de entrada/salida en las FPGA están limitadas por el ancho de banda del PCI-express (2Gb/s). Por otro lado, la precisión y el formato de los datos son otro aspecto influyente sobre el rendimiento de las aplicaciones sobre las FPGA, por lo general con una menor precisión (menor cantidad de bits para representar los datos) se aumenta el rendimiento de la aplicación dentro de la FPGA; con respecto al formato de los datos, las FPGA obtienen mejores desempeños en números en punto fijo que números en coma flotante, algunas estrategias para implementar aplicaciones en números de coma flotante en las FPGA es reducir la cantidad de bits con los cuales se representa los números [37]. La migración se ha implementado con números en coma flotante precisión simple [17] y algunas investigaciones [38], [3] muestran que es posible implementar algunas partes de este módulo utilizando punto fijo en lugar de coma flotante y obtener imágenes con patrones muy similares (visualmente idénticas). ing.cienc., vol. 9, no. 17, pp , enero-junio14 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs 3.3 Lenguajes de programación para las FPGA La implementación de una aplicación sobre esta tecnología se realiza por medio de Lenguajes de Descripción de Hardware (HDLs por sus siglas en inglés) como VHDL o Verilog. La descripción de una aplicación utilizando HDLs no consiste simplemente en escribir un código sin errores sintácticos, el proceso corresponde más al diseño de un circuito a nivel RTL (Register-Transfer Level), en el cual se describen ciclo a ciclo de reloj todas las transferencias de datos entre los registros que componen el diseño, por lo cual la implementación de una aplicación sobre una FPGA es una tarea que consume bastante tiempo y además requiere conocimientos de hardware digital. Actualmente existen dos enfoques para tratar de reducir el tiempo de diseño requerido en los diseños sobre FPGA: La primera estrategia es usar compiladores CtoHDL tales como: Vivado R Design Suite (Xilinx R ), Catapult Product Family Overview (Calypto Design System, Inc.), C to Verilog, ROCCC 2.0 (Jacquard Computing, Inc.), Nios R II C-to-Hardware Acceleration (Altera R ) e Impulse CoDeveloper C-to-FPGA Tools (Impulse R ), en los que a partir de un código C generan una descripción en un HDL (ej. VHDL o Verilog) sin necesidad de tener que realizar manualmente el RTL. En este tipo de compiladores existe una correlación directa entre: la cantidad de restricciones que tienen en cuanto al subset ANSI-C, el esfuerzo para modificar el código en C y el número de tipos de kernel soportados [39]. La otra estrategia para facilitar el uso de las FPGA usando lenguajes de alto nivel, dentro de estos lenguajes se encuentran los denominados Like-C como Mitrion-C (Mitrionics R ). En noviembre de 2011, Altera R abrió la posibilidad de que sus FPGA sean programadas usando el estandar opencl [40]. También existen lenguajes emergentes hardware-software, como el propuesto en 2011 por Dave [41]. A pesar de su necesidad, estos lenguajes todavía no logran gran penetración en el mercado, debido a que su uso todavía compromete la eficiencia de los diseños. Las investigaciones con respecto a la compilación CtoHDL y los lenguajes de alto nivel se encuentran activas [42],[43],[44],[45] y algunos resultados han sido positivos [46], pero la posibilidad de tener acceso a todas las potencialidades de las FPGA 274 Ingeniería y Ciencia15 Carlos Fajardo, Javier Castillo Villar y César Pedraza desde un lenguaje de alto nivel todavía está en desarrollo. 4 El hardware gráfico Las GPGPUs son dispositivos que constan de una gran cantidad de núcleos programables en los que se ejecuta un software, sobre un flujo de datos, en forma de SIMD (Single Instruction Multiple Data). Hasta el año 2007 fueron programadas utilizando lenguajes de programación gráfica y su uso estuvo centrado en aplicaciones de este tipo; a partir del año 2008 empezaron a aparecer una serie de herramientas que han facilitado su programación [2] y por tal razón empezaron a utilizarse en computación de propósito general, de ahí que actualmente se les conozca con el nombre de General Purpose Graphics Processing Units (GPGPU). Una GPGPU está dividida en una red de bloques y cada bloque consta de varios hilos (512 en las últimas GPGPUs de NVIDIA R [3]). El uso de hilos contribuye a optimizar el uso de la memoria: mientras un hilo está esperando por datos, otro hilo está siendo ejecutado. Cada bloque de hilos tiene su propio conjunto de registros y cada bloque de red tiene un espacio de memoria compartida, a la que se puede acceder tan rápido como se accede a un registro, adicionalmente hay un memoria compartida (con 4GB en las ultimas GPGPUs de NVIDIA R ), que tiene una latencia de dos ordenes de magnitud mayor que los registros [3]. Una GPGPU es una tarjeta independiente que se conecta a un sistema de computo a través de un puerto PCI express, lo que limita la transmisión de datos al ancho de banda de este puerto Las GPGPUs y la computación de alto rendimiento El rendimiento y el ancho de banda de las GPGPUs cada vez esta más por encima de los sistemas monoprocesador, como se observa en la Figura 4. Actualmente las GPGPU alcanzan un rendimiento teórico de más de un Teraflops en precisión sencilla y más de medio en precisión doble [2],[47]. Así mismo, las GPGPUs ofrecen una mejor relación rendimiento/potencia y rendimiento/costo [2],[48],[49] lo que explica el gran interés que esta arquitectura ha despertado en las investigaciones relacionadas con el cómputo intensivo. ing.cienc., vol. 9, no. 17, pp , enero-junio16 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs GPUs CPUs Gigaflops (Precisión Simple) Figura 4: Rendimiento en precisión simple de las GPUs y las CPUs [2] Las GPGPUs son una arquitectura que ofrecen características en favor de la implementación de la migración sísmica: Las GPGPUs están diseñadas para tomar ventaja del paralelismo de las aplicaciones y dado el gran potencial de paralelismo que tiene la migración sísmica, esta arquitectura resulta ser una de las más atractivas para la implementación de esta aplicación [14],[3]. Las GPGPUs incluyen una unidad de procesamiento que soporta operaciones vectorizadas con números tanto en precisión simple como en presición doble [49] y su rendimiento en precisión sencilla es más de doble que en precisión doble [47] y cómo se mencionó anteriormente este tipo de aplicación no requiere números en precisión doble. La tasa de crecimiento en el rendimiento de las GPGPUs es de 4x anualmente, mientras que la tasa de crecimiento en el rendimiento de las CPUs es de 1,4x anualmente [50]. Existe una gran número de investigaciones relacionadas con el desarrollo de soluciones computacionales basadas en GPGPU y muchas de 276 Ingeniería y Ciencia17 Carlos Fajardo, Javier Castillo Villar y César Pedraza estas empiezan a aparecer en la literatura. Dentro de las más importantes se encuentran: solución de ecuaciones simultáneas [51], diferentes tipos de transformadas [52],[53],[54], soluciones de la ecuación de onda 2D y 3D [12], [55], comunicaciones [56], simulaciones de dinámica molecular [57], entre otras. 4.1 Lenguajes de Programación para las GPGPUs Cómo se mencionó anteriormente las GPUs sólo podían ser programadas usando lenguajes gráficos cómo OpenGL. Después, para permitir el uso general de las GPUs AMD R lanzó su programa Stream SDK y NVIDIA R publicó su lenguaje CUDA. Sin embargo, actualmente tanto las GPUs de AMD R como las de NVIDIA R soportan opencl. Otro lenguaje que se puede usar en ambos tipos de GPGPUs es DirectCompute [58], de Microsoft R, el cual permite a los desarrolladores aprovechar la extraordinaria capacidad de procesamiento paralelo de las GPUs NVIDIA R para crear aplicaciones de cálculo altamente eficientes. En este momento las GPUs de NVIDIA R están dominando la computación de propósito general, gracias a la acogida que ha tenido su lenguaje de alto nivel CUDA. 5 Implementación de la Migración Sísmica sobre FPGAs y GPGPUs En esta sección se revisan las diferentes implementaciones de la migración sísmica tanto sobre FPGAs como sobre GPGPUs. De igual manera se revisan cómo estas investigaciones han abordado los problemas computacionales que presenta esta aplicación. 5.1 Migración de Kirchhoff, implementada sobre una Virtex II Pro (2004) En el año 2004 en la Universidad de Texas A&M se realizó la primera implementación del proceso de migración sobre una FPGA [11], en este ing.cienc., vol. 9, no. 17, pp , enero-junio18 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs trabajo se implementó la Migración de Kirchhoff Pre-apilada en Tiempo en la plataforma Xilinx Virtex II Pro. La FPGA fue conectado a una estación de trabajo a través del bus PCIe, esta plataforma (llamada SPACE) contiene dos tipos de memoria: Dos RAM static dual-port que hacen las veces de memoria caché de rápido acceso y cuatro módulos DDR-RAM (Double Data Rate Ramdom Access Memory) Aportes del trabajo En este trabajo se busca mejorar el tiempo que tarda la FPGA en realizar una raiz cuadrada utilizando un módulo CORDIC [59]. En la migración de Kirchhoff se requieren realizar tres operaciones matemáticas: sumas, multiplicaciones y raices cuadradas. De las tres operaciones requeridas, la raíz cuadrada es el módulo más lento en hardware con una latencia de al menos diez veces más que un multiplicador full pipeline. Gracias a que algunos datos utilizados en la migración sísmica están acotados (por ejemplo los valores de tiempo no superan los 16 segundos) en este trabajo se implementó un módulo CORDIC full pipeline para realizar la raíz cuadrada. Este módulo primero convierte los datos de punto flotante a punto flotante alineado (los exponentes son iguales), los exponentes se mantienen constantes y las dos mantisas alimentan una unidad CORDIC para realizar la raiz cuadrada Resultados Con una frecuencia de trabajo de 50MHz se logró una aceleración de 15,6x comparada con un 2.4GHz Pentium 4. En este trabajo se realizó una comparación de los errores cometidos al usar el módulo CORDIC y un programa en C (precisión doble) y los errores no tienen mayores repercusiones en los patrones de las imágenes generadas. 278 Ingeniería y Ciencia19 Carlos Fajardo, Javier Castillo Villar y César Pedraza 5.2 Diferencias finitas en el dominio del tiempo, implementada sobre una Xilinx ML401 (2005) La migración sísmica consiste en la solución de una ecuación de onda y las diferencias finitas es uno de los métodos más utilizados en este proceso. Esta implementación [60] es una versión mejorada de [11] y fue realizada por el mismo grupo de investigación Aportes del trabajo En este trabajo se aborda el problema relacionado con el ancho de banda entre la memoria y la FPGA, el cual impide que se puede sacar todo el potencial de las FPGAs. En este trabajo se proponen dos soluciones para mejorar el ancho de banda: reescribir la aplicación con el propósito de disminuir la cantidad de datos que requieren ser leídos y el diseño de una nueva arquitectura para el manejo de la memoria. Las ecuaciones de onda se pueden representar como un sistema de primer orden en forma de derivada, pero también se pueden presentar de segundo orden sin perder generalidad. La representación de las ecuaciones de onda como ecuaciones de segundo orden trae un beneficio en una implementación basada en FPGAs pues ofrece un mejor rendimiento en el acceso a la memoria. En este trabajo se describe la ecuación de onda usando ecuaciones de segundo orden con el propósito de mejorar el uso de ancho de banda de la memoria. Otra propuesta es el uso de las memorias DDR-SDRAM (las cuales se pueden encontrar en las plataformas reconfigurables), éstas tienen la posibilidad de ofrecer un alto throughput a un relativo bajo precio. Basados en la dependencia de datos que tiene la solución de la ecuación de onda, en este trabajo se introduce una interfaz entre los módulos de computo y la memoria onboard usando los módulos onchip de memoria de la FPGA. Este módulo permite utilizar el ancho de banda de la memoria onboard más eficientemente que los trabajos anteriores y puede ser implementado en la mayoría de sistemas de desarrollo basados en FPGAs. Básicamente en este trabajo se propone una nueva manera de acceder a los datos de la grid, almacenando algunos valores dentro de la FPGA con el fin de evitar el acceso a la memoria onboard. Los datos en la FPGA se almacenan en dos FIFOs en cascada, estos buffers se implementan en los módulos de memoria onchip. Los datos del grid van entrando por un puerto de ing.cienc., vol. 9, no. 17, pp , enero-junio20 Reducción de los tiempos de cómputo de la Migración Sísmica usando FPGAs y GPGPUs entrada al fondo del primer FIFO y se va descartando el ultimo del segundo FIFO, de tal forma que en el FIFO se tienen disponibles todos los datos necesarios para cada computo dentro de la FPGA Resultados En este trabajo se obtienen aceleraciones de hasta 8,26x comparado con un Intel P4 3.0 GHz. 5.3 Downward continued migration, implementada sobre la plataforma MAX1 (2007) En [61] buscan mejorar el rendimiento de la FPGA y optimizar el uso del puerto PCIe reduciendo la cantidad de bits con la cual se representan los datos, para tal fin, se implementa una parte de la Downward Continued Migration utilizando un número menor de bits a los empleados anteriormente. La implementación se realizó en una plataforma MAX1 [62] la cual contiene una FPGA Virtex-4 FX Aportes del Trabajo Se simuló todo el proceso de migración sísmica y se seleccionaron aquellas partes que se encuentran acotadas, estas partes se implementaron en punto fijo con 10, 6 y 5 bits en la parte decimal en lugar de utilizar números de coma flotante Resultados Cómo se observa en la Figura 5, las gráficas del subsuelo (para los diferentes números de bits en la parte decimal) son visualmente idénticas. En este trabajo se alcanzaron aceleraciones de hasta 42x comparados con una implementación software (precisión doble) en un 2.8GHz AMD R Opteron-based PC con 12 GB de RAM. 5.4 Downward continued migration, implementada sobre la plataforma MAX1 (2008) En [63] nuevamente se aborda el problema del computo desde la perspectiva de la representación de los datos. El objetivo de esta investigación 280 Ingeniería y Ciencia21 Carlos Fajardo, Javier Castillo Villar y César Pedraza (a) CPU (b) 10 Bits (c) 6 Bits (d) 5 Bits Figura 5: Implementación sobre la FPGA con diferente cantidad de bits en la parte decimal [61] es encontrar las partes de la migración que pueden ser desarrolladas en punto fijo y determinar cuál es el número menor de bits requeridos para conseguir imagenes del subsuelo de aceptable calidad. En este trabajo se utiliza como caso de estudio la Ecuación 3, esta ecuación exponencial compleja es común a todas las clases de Downward continued migration. U(w, k s, k g, z + z) = exp Aportes del Trabajo vk g iwk 1 w + vk s 1 w U(w, k s, k g, z) (3) En este trabajo se usan los resultados de las aproximaciones matemáticas de Lee 2005 [64] que permiten mapear eficientemente sobre FPGAs, raíces cuadradas y funciones trigonométricas. ing.cienc., vol. 9, no. 17, pp , enero-junio Mostrar más
Ingeniería y Ciencia ISSN: 1794-9165 ingciencia@eafit.edu.co Universidad EAFIT Colombia Fajardo, Carlos; Castillo Villar, Javier; Pedraza, César Reducción de los tiempos de cómputo de la Migración Sísmica Más detalles Arquitecturas GPU v. 2013
Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas Más detalles Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.
Desarrollo de un cluster computacional para la compilación de algoritmos en paralelo en el Observatorio Astronómico. John Jairo Parra Pérez Resumen Este artículo muestra cómo funciona la supercomputación Más detalles Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles
Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta Más detalles Seminario II: Introducción a la Computación GPU
Seminario II: Introducción a la Computación GPU CONTENIDO Introducción Evolución CPUs-Evolución GPUs Evolución sistemas HPC Tecnologías GPGPU Problemática: Programación paralela en clústers heterogéneos Más detalles New Architecture for Multi-resolution Fractal Image and Video Compression
New Architecture for Multi-resolution Fractal Image and Video Compression 1 Alejandro Martínez R., Mónico Linares A., Alejandro Díaz S., 2 Javier Vega P. 1 Instituto Nacional de Astrofísica Optica y Electrónica Más detalles Linux Week PUCP. Computación de Alto Rendimiento en Linux. rmiguel@senamhi.gob.pe
EVALUACIÓN COMPARADA DEL RENDIMIENTO DEL PROCESADOR INTEL 5570 (NEHALEM) Carlos Bernal, Ana Silva, Marceliano Marrón, Juan Antonio Ortega, Claudio J. Arjona Área de HPC Centro Informático Científico de Más detalles HOY en día, los arreglos de compuertas
ENINV IE 2010 Encuentro de Investigación en Ingeniería Eléctrica Zacatecas, Zac, Marzo 25 26, 2010 Plataforma para la implementación de algoritmos de Procesamiento Digital de Imágenes en arquitecturas Más detalles El tamaño, estructura, número de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas.
Que es una FPGA? Las FPGA s (Field Programmable Gate Array) Son dispositivos lógicos de propósito general programable por los usuarios, compuesto de bloques lógicos comunicados por conexiones programables. Más detalles WEB SERVER EMPOTRADO EN FPGA PARA MONITORIZACION DE UNA RED DE SENSORES INALAMBRICOS
WEB SERVER EMPOTRADO EN FPGA PARA MONITORIZACION DE UNA RED DE SENSORES INALAMBRICOS M. RODRIGUEZ VALIDO 1, M. GUTIERREZ CASTAÑEDA 1, A. CARDELL BILBAO 2, A. AYALA ALFONSO 1, J. J. DIAZ GOPAR 2, C. SOBOTA Más detalles Fundamentos de Computación e Informática Algoritmos Profesor : Fernando Espinoza S.
Fundamentos de Computación e Informática Algoritmos Profesor : Fernando Espinoza S. Objetivos Principales del Curso Comprender los sistemas computacionales modernos. Desarrollar la lógica de programación Más detalles SÍNTESIS DE SISTEMAS DE CONTROL DIFUSOS MEDIANTE HERRAMIENTAS DE DISEÑO DSP SOBRE FPGAS 1
SÍNTESIS DE SISTEMAS DE CONTROL DIFUSOS MEDIANTE HERRAMIENTAS DE DISEÑO DSP SOBRE FPGAS 1 S. Sánchez-Solano 1, M. Brox 2, A. Cabrera 3 1 Instituto de Microelectrónica de Sevilla (CNM-CSIC). Sevilla, España. Más detalles Implementación de la transformada wavelet discreta para imágenes en un FPGA
Implementación de la transformada wavelet discreta para imágenes en un FPGA Madeleine León 1, Carlos A. Murgas 1, Lorena Vargas 2, Leiner Barba 2, Cesar Torres 2 1 Estudiantes de pregrado de la Universidad Más detalles Tema 1. Hardware. Fundamentos de Informática Grado en Ingeniería Mecánica
Tema 1. Hardware. Fundamentos de Informática Grado en Ingeniería Mecánica Definición de computador Máquina electrónica de propósito general utilizada para procesar información El computador moderno se Más detalles DESARROLLO DE UN COPROCESADOR EN PUNTO FLOTANTE PARA LA RESOLUCIÓN DE LA ECUACIÓN DE POISSON 1D EN ESTRUCTURAS SOI. Ingeniería Electrónica
DESARROLLO DE UN COPROCESADOR EN PUNTO FLOTANTE PARA LA RESOLUCIÓN DE LA ECUACIÓN DE POISSON 1D EN ESTRUCTURAS SOI Ingeniería Electrónica Francisco Pasadas Cantos Granada 01 Directores: Antonio García Más detalles Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores
Sistemas Operativos. Tema 1 Arquitectura Básica de los Computadores http://www.ditec.um.es/so Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Sistemas Operativos. Tema 1 Arquitectura Más detalles Unidad aritmética en coma flotante para sistemas autoreconfigurables dinámicamente sobre Spartan-3 basados en Microblaze.
Unidad aritmética en coma flotante para sistemas autoreconfigurables dinámicamente sobre Spartan-3 basados en Microblaze. Lumbiarres López R. 1, López García M. 1, Cantó Navarro E. 2, Ramos Lara R. 1 1 Más detalles Laboratorio de Diseño de Sistemas Digitales
Proceso de Diseño Laboratorio de Diseño de Sistemas Digitales I Semestre 2008 Ing. Gabriela Ortiz L. Diseño Implementación Depuración Diseño: Concepto inicial. Cuál es la función que lleva a cabo el objeto? Más detalles Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala
Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala 1. Introducción Los procesadores con dos núcleos existen actualmente, y los procesadores de cuatro están insertándose en el mercado lentamente, Más detalles Electrónica Digital II
Electrónica Digital II M. C. Felipe Santiago Espinosa Aplicaciones de los FPLDs Octubre / 2014 Aplicaciones de los FPLDs Los primeros FPLDs se usaron para hacer partes de diseños que no correspondían a Más detalles Memoria de Acceso Aleatorio. Dispositivos de Almacenamiento Masivo
Memoria. Definiciones Componente de una computadora que retiene datos informáticos durante algún intervalo de tiempo. Consiste en la capacidad de registrar datos y volver a incorporarlos en determinado Más detalles Introducción a FPGAs. Contenido
Introducción a FPGAs Dra. Claudia Feregrino cferegrino@inaoep.mx Contenido 1. FPGA 2. Arquitectura genérica 3. Celda lógica 4. Field Programmable 5. Cómo se programa un FPGA 6. Herramientas de diseño 7. Más detalles TEMA 4. Unidades Funcionales del Computador
TEMA 4 Unidades Funcionales del Computador Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción El elemento físico, electrónico o hardware de un sistema Más detalles Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN
Procesamiento de Vídeo en Tiempo Real Utilizando FPGA J. G. Velásquez-Aguilar, A. Zamudio-Lara Centro de Investigación en Ingeniería y Ciencias Aplicadas, Universidad Autónoma del Estado de Morelos, Cuernavaca, Más detalles Viabilidad de acelerar la migración sísmica 2D usando un procesador específico implementado sobre un FPGA
INGENIERÍA E INVESTIGACIÓN VOL. 30 No. 1, ABRIL DE 2010 (64-70) Viabilidad de acelerar la migración sísmica 2D usando un procesador específico implementado sobre un FPGA The feasibility of speeding up Más detalles A continuación se representan los componentes básicos de un sistema computacional (ordenador). Figura 5.6.1 Componentes básicos de un ordenador.
5.6 ESTRUCTURA BÁSICA DE UN ORDENADOR. TERMINOLOGÍA INFORMÁTICA Las aeronaves modernas utilizan sofisticados sistemas de aviónica que necesitan de sistemas de computación basados en microprocesadores. Más detalles [9] IMPLEMENTACIÓN DE FILTROS DIGITALES EN FPGA
[9] IMPLEMENTACIÓN DE FILTROS DIGITALES EN FPGA Emiliano F. Alba Blanco Jaime Ruiz Instituto Superior Politécnico José A. Echeverría (ISPJAE) emiliano@electrica.cujae.edu.cu RESUMEN En este trabajo se Más detalles Laboratorio Web para Prototipado y Verificación de Sistemas Hardware/Software
Laboratorio Web para Prototipado y Verificación de Sistemas Hardware/Software Gómez-Arribas F J, González I, González J y Martínez J Escuela Politécnica Superior, Universidad Autónoma de Madrid, España, Más detalles FUNDAMENTOS DE INFORMATICA
FUNDAMENTOS DE INFORMATICA TEMAS QUE SE TRATARÁN: Arquitectura Interna Sistemas Operativos Programación en Visual Basic Bases de Datos Redes e Internet 1 FUNDAMENTOS DE INFORMATICA Tema 1: Arquitectura Más detalles WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS
WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS Autores: Introducción Diego R. López RedIRIS diego.lopez@rediris.es El trabajo necesario para mantener un servidor de información Más detalles RESOLUCIÓN EFICIENTE DE PROBLEMAS COMPLEJOS MEDIANTE HARDWARE RECONFIGURABLE
RESOLUCIÓN EFICIENTE DE PROBLEMAS COMPLEJOS MEDIANTE HARDWARE RECONFIGURABLE Miguel A. Vega Rodríguez, Juan A. Gómez Pulido, Juan M. Sánchez Pérez Univ. de Extremadura. Dept. de Informática Escuela Politécnica. Más detalles COMPARACIÓN DEL RENDIMIENTO COMPUTACIONAL ENTRE DIFERENTES METODOLOGÍAS DE PROCESAMIENTO EN PARALELO PARA FEA VÍA ANSYS 14.5
Second International Conference on Advanced Mechatronics, Design, and Manufacturing Technology - AMDM 2014 1 COMPARACIÓN DEL RENDIMIENTO COMPUTACIONAL ENTRE DIFERENTES METODOLOGÍAS DE PROCESAMIENTO EN Más detalles EL CLUSTER FING: COMPUTACIÓN DE ALTO DESEMPEÑO EN FACULTAD DE INGENIERÍA
COMPUTADORES MULTINUCLEO Stallings W. Computer Organization and Architecture 8ed Computador multinucleo Un computador multinúcleocombina dos o mas procesadores (llamados núcleos) en una única pieza de Más detalles Chipsets página 1 CONJUNTO DE CHIPS PARA SOCKET 7
Chipsets página 1 El conjunto de chips, o chipset, es un elemento formado por un determinado número de circuitos integrados en el que se han incluido la mayoría de los componentes que dotan a un ordenador Más detalles Capítulo 1. Introducción. 1.1. Antecedentes
Capítulo 1. Introducción En este capítulo se presenta una descripción general del problema a investigar y el enfoque con el que se aborda. Se establece la necesidad de incorporar técnicas de análisis novedosas Más detalles Facultad de Ingeniería ISSN: 0121-1129 revista.ingenieria@uptc.edu.co. Universidad Pedagógica y Tecnológica de Colombia. Colombia
Facultad de Ingeniería ISSN: 0121-1129 revista.ingenieria@uptc.edu.co Universidad Pedagógica y Tecnológica de Colombia Colombia Amézquita-Mesa, Diego Germán; Amézquita-Becerra, Germán; Galindo-Parra, Omaira Más detalles Introducción a LabVIEW FPGA y CompactRIO
Introducción a LabVIEW FPGA y CompactRIO Familia de Productos Embebidos de LabVIEW Tecnología FPGA Interconexiones Programables Bloques Lógicos Bloques de E/S Importancia de FPGA en Sistemas Alta Confiabilidad Más detalles Microblaze en diseño digital de altas prestaciones
Microblaze en diseño digital de altas prestaciones Moreno V, González I, López-Buedo S, Gómez-Arribas FJ, Aracil J Escuela Politécnica Superior, UAM, Madrid, España, {victor.moreno, ivan.gonzalez, sergio.lopez-buedo, Más detalles Medida del rendimiento
Medida del rendimiento Benchmarks V 1.0 José M. Cámara (checam@ubu.es) Motivación El rendimiento debe ser evaluado para: Valorar el comportamiento del sistema. Comparar varios sistemas. Optimizar la utilización. Más detalles Sistema inteligente para el tratamiento de ruidos
Sistema inteligente para el tratamiento de ruidos G.M.Barrera, F.D.Goldenstein, D.M.López de Luise Universidad de Palermo (Tel.: 54--599-4520, aigroup@palermo.edu). Objetivos y alcance El principal objetivo Más detalles (Diseño Hardware/Software a nivel de Sistema)
(Diseño Hardware/Software a nivel de Sistema) Guía de Aprendizaje Información al estudiante 1. Datos Descriptivos Titulación Grado en Ingeniería Informática Módulo Materia Asignatura Carácter Diseño Hardware/Software Más detalles 4. Programación Paralela
4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios Más detalles PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL
PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL N. E. Chávez Rodríguez*, A. M. Vázquez Vargas** *Departamento de Computación **Departamento de Procesamiento Digital de Señales Más detalles Programación híbrida en arquitecturas cluster de multicore. Escalabilidad y comparación con memoria compartida y pasaje de mensajes.
Programación híbrida en arquitecturas cluster de multicore. Escalabilidad y comparación con memoria compartida y pasaje de mensajes. Fabiana Leibovich, Armando De Giusti, Marcelo Naiouf, Laura De Giusti, Más detalles Mejorando el desempeño de una red Gigabit Ethernet en un cluster Linux
Anexo A. Partida 3 Laboratorio Nacional de Cómputo de Alto Desempeño: Fortalecimiento de la Infraestructura 2015 CLUSTER LANCAD3 El bien a adquirir se describe a continuación y consiste en cúmulo de supercómputo Más detalles MAXHC11. TARJETA DE BAJO COSTE PARA EL DISEÑO MIXTO HARDWARE-SOFTWARE
MAXHC11. TARJETA DE BAJO COSTE PARA EL DISEÑO MIXTO HARDWARE-SOFTWARE Sadot Alexandres F.¹, José D. Muñoz F.², Pedro Pérez de A.³ Departamento de Electrónica y Automática. Escuela Técnica Superior de Ingeniería Más detalles TELECOMMUNICATION APPLICATION USING FPGA. A RADIO SOFTWARE APPROXIMATION
TELECOMMUNICATION APPLICATION USING FPGA. A RADIO SOFTWARE APPROXIMATION APLICACIONES PARA TELECOMUNICACIONES EMPLEANDO FPGAs: UNA APROXIMACIÓN A RADIO SOFTWARE Ferney Orlando Amaya Universidad Javeriana Más detalles Memoria RAM. PDF created with FinePrint pdffactory Pro trial version http://www.fineprint.com. 1-Memoria
Memoria RAM 1-Memoria Son los circuitos que permiten almacenar y recuperar la información. En un sentido más amplio, puede referirse también a sistemas externos de almacenamiento, como las unidades de Más detalles GENERADOR AUTOMÁTICO DE FFT CON ALTO GRADO DE PARALELISMO
GENERADOR AUTOMÁTICO DE FFT CON ALTO GRADO DE PARALELISMO Julián F. Acosta Orozco, Mario Vera-Lizcano, Jaime Velasco Medina Grupo de Bio-Nanoelectrónica, EIEE, Universidad del Valle A.A. 25360, Cali, Colombia Más detalles Tecnología de fabricación en VLSI
Tecnología de fabricación en VLSI Clave del curso: EED307-3 (Opcional como curso relacionado con el proyecto de Maestría). INSTRUCTOR: SESION: PERIODO: Dr. Juan Luis del Valle Martes y Viernes, 9:00-11:00 Más detalles Arquitectura Del Computador
Arquitectura Del Computador Unidad I Componentes básicos de una computadora Mg. Ramiro Banda Valdivia Marzo 2013 UNIVERSIDAD ALAS PERUANAS FACULTAD DE INGENIERÍAS Y ARQUITECTURA ESCUELA ACADÉMICO PROFESIONAL Más detalles Uso de un motor de restricciones bajo dispositivos Android
Uso de un motor de restricciones bajo dispositivos Android Gonzalo Hernández 1, Camilo Villota Ibarra 2, James Muñoz Coronel 3, Harold Muñoz Muñoz 4 Universidad de Nariño, Facultad de Ingeniería, Departamento Más detalles CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE
CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE Los FPGA fueron introducidos por Xilinx en la mitad de 1980. Ellos difieren de los CPLDs en la arquitectura, por su tecnología de almacenamiento, número Más detalles Laboratorio Nacional de Cómputo de Alto Desempeño: Fortalecimiento de la Infraestructura 2015
Anexo A. Partida 2 Laboratorio Nacional de Cómputo de Alto Desempeño: Fortalecimiento de la Infraestructura 2015 CLUSTER LANCAD 2 El bien a adquirir se describe a continuación y consiste de un cúmulo de Más detalles 270150 - TGA - Tarjetas Gráficas y Aceleradores
Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 701 - AC - Departamento de Arquitectura de Computadores Curso: Titulación: 2014 GRADO EN INGENIERÍA INFORMÁTICA Más detalles Cursos de Diseño Digital PADTS-INTEL-CINVESTAV Inicio 5 de Agosto del 2013
Cursos de Diseño Digital PADTS-INTEL-CINVESTAV Inicio 5 de Agosto del 2013 DOO & C++ M.C. Eugenio Vargas - INTEL Desde creación C y C++ se han convertido en una de las herramientas fundamentales en los Más detalles El monitoreo de una variable física requiere supervisión permanente de señales que
Capítulo 1 Marco Contextual 1.1. Formulación del problema 1.1.1. Definición del problema El monitoreo de una variable física requiere supervisión permanente de señales que varían con el tiempo. Tal información, Más detalles Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570
Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570 Juan Carlos Fernández Rodríguez. Área de HPC. Centro Informático Científico de Andalucía (CICA) Junta de Andalucía Más detalles GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS
GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS MAURO CANABÉ SERGIO NESMACHNOW Centro de Cálculo, Facultad de Ingeniería Universidad de la República, Uruguay GPU IMPLEMENTATIONS Más detalles Umbral Científico Fundación Universitaria Manuela Beltrán umbralcientifico@umb.edu.co ISSN (Versión impresa): 1692-3375 COLOMBIA
Umbral Científico Fundación Universitaria Manuela Beltrán umbralcientifico@umb.edu.co ISSN (Versión impresa): 1692-3375 COLOMBIA 2004 Dora María Ballesteros DISEÑO DE FILTROS FIR-WAVELET SOBRE FPGAS PARA Más detalles Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006
Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006 Qué son los FPGAs? Matriz de bloques lógicos configurables (CLB) y una matriz de interconexión. Los bloques lógicos Más detalles Generalidades Computacionales
Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos). Más detalles Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008
Procesador Intel Core 2 Traducción de Textos Curso 2007/2008 Versión Cambio 0.9RC Revisión del texto 0.8 Traducido el octavo párrafo 0.7 Traducido el séptimo párrafo Autor: Rubén Paje del Pino i010328 Más detalles Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech www.emtech.com.ar
Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech www.emtech.com.ar Temario Introducción Circuitos Digitales FPGAs Flujo y Herramientas de Diseño Diseño para Síntesis Simulación Ejemplos Más detalles DISEÑO DE DIVISORES PARALELOS Y SECUENCIALES DE N/N BITS USANDO FPGAS
1 DISEÑO DE DIVISORES PARALELOS Y SECUENCIALES DE N/N BITS USANDO FPGAS John M. Espinosa-Duran, Juan G. Catuche-Girón, Mario E. Vera-Lizcano, Jaime Velasco-Medina Grupo de Bio-nanoelectrónica Escuela EIEE. Más detalles La Arquitectura de las Máquinas Virtuales.
La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas, Más detalles Reconocimiento de Facial basado en FPGA. Face Recognition based on FPGA
62 Volumen 8, número 1, enero 2011 Reconocimiento de Facial basado en FPGA Face Recognition based on FPGA Julio C. Molina 1, Miguel A. Risco 1,2 1 Centro de Investigación y Desarrollo en Ingeniería (CIDI), Más detalles El diseño de filtros digitales en FPGAs.
NÚMERO 20 SEPTIEMBRE DEL 2005 vol - 3 ISSN 1696-7208 El diseño de filtros digitales en FPGAs. Es cada vez mayor el uso que la industria da a las FPGAs, un tipo particular de circuito integrado de gran Más detalles VERIFICACIÓN DE FIRMAS DE NCR APTRA
VERIFICACIÓN DE FIRMAS DE NCR APTRA La imagen es todo. Proteja la suya. Primera línea de defensa frente al fraude de firmas Usted tiene una presión constante para reducir los costos de los procesamientos Más detalles Enseñanza de programación multihilo y controladores de dispositivo en entornos Windows para alumnos de electrónica
Enseñanza de programación multihilo y controladores de dispositivo en entornos Windows para alumnos de electrónica A. Da Silva, V. Hernández y J.F. Martínez Departamento de Ingeniería y Arquitecturas Telemáticas. Más detalles Tipos de Dispositivos Controladores
Tipos de Dispositivos Controladores PLC Allen Bradley Siemens Schneider OMRON PC & Software LabView Matlab Visual.NET (C++, C#) FPGAS Xilinx Altera Híbridos Procesador + FPGA (altas prestaciones) µcontrolador Más detalles ITT-327-T Microprocesadores
ITT-327-T Microprocesadores Introducción al Microprocesador y al Microcomputador. al Microcomputador. Profesor Julio Ferreira. Sistema Microcomputador. Un Sistema Microcomputador tiene dos componentes Más detalles HARDWARE DE UN ORDENADOR. Conceptos avanzados
HARDWARE DE UN ORDENADOR Conceptos avanzados Tipos de ordenadores Ordenadores personales: tienen un coste relativamente bajo. Aquí incluiríamos los ordenadores portátiles y de sobremesa que podamos tener Más detalles GRUPOS DE INVESTIGACIÓN EN ARQUITECTURA DE COMPUTADORES GAC-USC y GAC-UDC
GRUPOS DE INVESTIGACIÓN EN ARQUITECTURA DE COMPUTADORES GAC-USC y GAC-UDC GAC-USC: Departamento de Electrónica y Computación http://www.ac.usc.es GAC-UDC: Departamento de Electrónica y Sistemas http://gac.des.udc.es Más detalles FPGA (CAMPO DE MATRIZ DE PUERTAS PROGRAMABLES).
FPGA (CAMPO DE MATRIZ DE PUERTAS PROGRAMABLES). 1 1 FIELD PROGRAMMABLE GATE ARRAY Un FPGA (Field Programmable Gate Array) permite implementar cualquier circuito digital de aplicación específica. Las aplicaciones Más detalles Supercómputo. Oscar Rafael García Regis Enrique Cruz Martínez
Supercómputo Oscar Rafael García Regis Enrique Cruz Martínez 2003-I Oscar Rafael García Regis Laboratorio de Dinámica No Lineal Facultad de Ciencias, UNAM Enrique Cruz Martínez Dirección General de Servicios Más detalles Ingeniero en Informática
Clusters Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Introducción Aplicaciones que requieren: Grandes capacidades de cómputo: Física de partículas, aerodinámica, genómica, etc. Tradicionalmente Más detalles INSTITUTO MEXICANO DE ACÚSTICA UNIVERSIDAD AUTÓNOMA DE GUERRERO, U. A. DE ARQUITECTURA Y URBANISMO Campus TAXCO
INSTITUTO MEXICANO DE ACÚSTICA UNIVERSIDAD AUTÓNOMA DE GUERRERO, U. A. DE ARQUITECTURA Y URBANISMO Campus TAXCO 15º CONGRESO INTERNACIONAL MEXICANO DE ACÚSTICA 15th Mexican International Congreso on Acoustics Más detalles Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs
Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs Enrique S. Quintana-Ortí quintana@icc.uji.es High Performance Computing & Architectures Más detalles Concentradores de cableado
Concentradores de cableado Un concentrador es un dispositivo que actúa como punto de conexión central entre los nodos que componen una red. Los equipos conectados al propio concentrador son miembros de Más detalles Gestión de Hardware 2D Multitarea en FPGAs Dinámicamente Reconfigurables basado en Listas de Vértices
Gestión de Hardware 2D Multitarea en FPGAs Dinámicamente Reconfigurables basado en Listas de Vértices Tabero J 1, Septién J 2, Mecha H 2, Mozos D 2. 1 Instituto Nacional de Técnica Aeroespacial, Madrid Más detalles Aceleradores gráficos. Su impacto en el bus del sistema.
Aceleradores gráficos. Su impacto en el bus del sistema. Conceptos básicos Controladora de video tradicional en modo gráfico Buffer de video en placas ISA se ubica en el rango de posiciones de memoria Más detalles Fundamentos de Computadores
Universidad de Murcia Facultad de Informática TÍTULO DE GRADO EN INGENIERÍA INFORMÁTICA Tema 4: Introducción a la arquitectura de computadores Boletines de prácticas y ejercicios CURSO 2011 / 12 Departamento Más detalles Mgter. Alejandro Ramos
Mgter. Alejandro Ramos Servidores Centralizados de Ficheros. Sistemas de Base de Datos. Sistemas Distribuidos. Evolución de la Tecnología Cliente Servidor 1 2 3 4 5 1982 1986 1990 1995 1995 - actualmente Más detalles Introducción. Trabajo Práctico de TAI 2 - PCI Express Página 1
Introducción El Bus PCI ha sido utilizado ampliamente utilizado por mas de una década y aun se seguirá utilizando por lo menos un poco mas. Sin embargo, dado el gran avance tecnológico, tanto los procesadores Más detalles ARQUITECTURA DE COMPUTADORAS
ARQUITECTURA DE COMPUTADORAS Información General Objetivos Al terminar el curso, el estudiante estará capacitado para: 1. Manejar medidas de performance que permitan comparar diversos sistemas de Computadora. Más detalles Dr.-Ing. Paola Vega Castillo
EL-3310 DISEÑO O DE SISTEMAS DIGITALES Dr.-Ing. Paola Vega Castillo Información n General Curso: Diseño de Sistemas Digitales Código: EL-3310 Tipo de curso: Teórico Créditos/Horas por semana: 4/4 Requisito: Más detalles Especificación de una plataforma de codiseño basada en dsp/fgpa para la implementación de aplicaciones especificadas en simulink
- 79 - Especificación de una plataforma de codiseño basada en dsp/fgpa para la implementación de aplicaciones especificadas en simulink Definition of a dsp/fpga co-design platform to implement applications Más detalles Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN
UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED Más detalles 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.
ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción. Más detalles Introducción a la arquitectura del PC. Informática Básica Curso 2010/2011
Introducción a la arquitectura del PC Informática Básica Curso 2010/2011 Arquitectura Von Neumann Computador de programa almacenado (stored-program computer) 2 Tipos de ordenadores Ordenadores de bolsillo Más detalles GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.
GANTT, PERT y CPM Características Conseguir una buena programación es un reto, no obstante es razonable y alcanzable. Ella debe tener el compromiso del equipo al completo, para lo cual se recomienda que Más detalles TIPOS DE PROCESAMIENTOS
TIPOS DE PROCESAMIENTOS El desempeño de un computador puede tener diferentes medidas de elección para diferentes usuarios. Para un usuario individual que está ejecutando un único programa, la computadora Más detalles 2017 © DocPlayer.es Política de privacidad | Condiciones del servicio | Feedback

References: resolución 
 resolución 
 RESOLUCIÓN 
 RESOLUCIÓN 
 RESOLUCIÓN 

RESOLUCIÓN