Programación paralela (Computadores electrónicos)

Top PDF Programación paralela (Computadores electrónicos):

Programación paralela e híbrida

Programación paralela e híbrida

Las arquitecturas actuales contemplan entornos multicomputador integrados por un cierto número de subsistemas multi-núcleo. En este escenario, la programación paralela permite la incorporación de otras formas de trabajo como es la comunicación mediante variables compartidas. Esto nos va a llevar a considerar en este curso el estándar OpenMP como alternativa o complemento a MPI. Otro aspecto en el que vamos a profundizar es el relativo a la planificación. Entendiendo como tal, la influencia de las decisiones tomadas por el Administrador del sistema en cuanto a la gestión de las colas de procesos, en el rendimiento global de la máquina.
Mostrar más

41 Lee mas

Programación paralela de algoritmos básicos empleados en el análisis filogenético

Programación paralela de algoritmos básicos empleados en el análisis filogenético

Las operaciones básicas de este paradigma de programación paralela, a part ir de las cuales se desarrollan las demás, son send y receive. Como las operaciones de envío y recepción de mensajes tienen que especificar un destino y, a veces, una fuente; se usa un mecanismo para asignar una identificación o ID a cada uno de los procesos que ejecutan un programa paralelo. Este ID suele ser puesto a disposición del programa por medio de una función whoami (el verdadero nombre de la función varía de una API a otra, pero el significado es el mismo). Por último se necesita de una cuarta función para completar el conjunto básico de operaciones de paso de mensajes: numprocs, que indica el número de procesos trabajando en conjunto. Con estas cuatro operaciones básicas es posible escribir cualquier programa que se base en el envío de mensajes (Grama, Gupta et al. 2003). Las distintas APIs que siguen este paradigma, como Message Passing Interface (MPI) y Parallel Virtual Machine (PVM), soportan estas operaciones básicas además de otras de más alto nivel.
Mostrar más

74 Lee mas

Modelo de un algoritmo eficiente para el alineamiento de secuencias biomoleculares basado en programación paralela

Modelo de un algoritmo eficiente para el alineamiento de secuencias biomoleculares basado en programación paralela

El resto de este trabajo está organizado de la siguiente manera. En la Sección 2, se explica cómo es el procedimiento para realizar el alineamiento de secuencias con Programación Dinámica y se detalla cómo se mide el Factor de SpeedUp en Programación Paralela. La Sección 3 muestra los trabajos previos. La Sección 4 detalla la propuesta algorítmica para solucionar el problema usando el Paradigma Paralelo. La Sección 5 muestra los experimentos y resultados de la aplicación comparándolo con la implementación clásica del algoritmo de Programación Dinámica para alineamiento de secuencias y Resultados. Finalmente, se dan las conclusiones en la Sección 6.
Mostrar más

9 Lee mas

Programación paralela en sistemas híbridos

Programación paralela en sistemas híbridos

2.2. Línea 2: Programación Paralela Estructurada Esta línea trata con nuevas formas de programación paralela que tienen por objetivo reducir el tiempo de diseño, testing y codificación de aplicaciones paralelas. En esta dirección estamos desarrollando un sistema de programación esqueletal que simplifique la tarea de desarrollar software paralelo. Con el advenimiento de las arquitecturas actuales (cluster con nodos multicores) es necesario la adaptación de estos sistemas para obtener las ventajas del modelo híbrido (Pasaje Mensajes y de Memoria compartida). Además, esto implica abordar nuevos problemas que surgen en este entorno, como la sincronización, planificación, mapeo de procesos sobre procesadores, balance de carga, etc [Sae08a, Sae08b].
Mostrar más

5 Lee mas

Programación paralela e híbrida

Programación paralela e híbrida

Vamos a explicar un posible procedimiento para desarrollar aplicaciones paralelas de forma ordenada. Debe entenderse que la programación paralela, al igual que la programación secuencial, es una tarea fundamentalmente creativa, por lo que lo que se va a exponer a continuación no pretende ser sino una secuencia de etapas que se considera interesante cubrir ordenadamente para obtener buenos resultados. El trabajo que implica cada tarea es una labor esencialmente creativa cuyos resultados dependen de las aptitudes y experiencia del programador. El procedimiento consta de cuatro etapas:
Mostrar más

54 Lee mas

Enseñanza de programación paralela y distribuida en las carreras de grado de Computación

Enseñanza de programación paralela y distribuida en las carreras de grado de Computación

En los últimos años se han propuesto y desarrollado muchos modelos y estilos de programación para los diferentes arquitecturas paralelas y distribuida. Los primeros mecanismos propuestos y ampliamente utilizados como threads, uso de locks, semáforos, monitores y mensajes parecen ser de demasiado bajo nivel y poco adecuados para la formulación y descripción de algoritmos y sistemas complejos. Otros modelos se basan en que los aspectos de concurrencia y distribución de datos y computaciones deberían ser implícitas o descriptas exteriormente al programa en algún lenguaje de configuración del sistema. Ambos enfoques parecen no cubrir las necesidades prácticas. Los mecanismos de bajo nivel
Mostrar más

10 Lee mas

Uso del Modelo de Componentes en Programación Paralela Para el Desarrollo de Aplicaciones Distribuidas   Arequipa   2003

Uso del Modelo de Componentes en Programación Paralela Para el Desarrollo de Aplicaciones Distribuidas Arequipa 2003

Los continuos avances en la Informática y las Telecomunicaciones están haciendo cambiar la forma en la que se desarrollan actualmente las aplicaciones software. En particular, el incesante aumento de la potencia de los ordenadores personales, el abaratamiento de los costos del hardware y las comunicaciones, y la aparición de redes de dato de cobertura global han disparado el uso de los sistemas abiertos y distribuidos. Esto ha provocado entre otras cosas, que los modelos de programación existentes se vean desbordados, siendo incapaces de manejar de forma natural la complejidad de los requisitos que se les exigen a las aplicaciones en dichos sistemas. Comienzan a aparecer por tanto nuevos paradigmas de programación, como pueden ser la coordinación, la programación paralela, la programación orientada a componentes, o la movilidad, que persiguen una me jora en los procesos de construcción de aplicaciones software. Dentro de uno de ellos, la programación orientada a componentes, se trabaja tanto en nuevos modelos de componentes como en extensiones para los existentes, así como en la estandarización de sus interfaces y servicios, y en la pertinaz búsqueda de cada vez más necesario mercado global de componentes software.
Mostrar más

95 Lee mas

Mejora de la eficiencia de KNN utilizando programación paralela en F

Mejora de la eficiencia de KNN utilizando programación paralela en F

Se instancia una Concurrent-Bag (estructura ofrecida por el framework .NET para ofrecer concurrencia sobre la colecci´ on de datos) y se lanza de for- ma asincr´ onica la ejecuci´ on del c´ alculo de distancias entre el dato de prueba en cuesti´ on y el conjunto de datos de entrenamiento. La ejecuci´ on de dicho c´ alculo se hace de forma paralela y en varios hilos de ejecuci´ on (para con- textos de ejecuci´ on que lo permitan) gracias al Forall ofrecido por PLINQ. Mientras se van calculando las distancias, ´ estas se almacenan en la estructura concurrente, y de forma paralela son recolectadas y procesadas por la fun- ci´ on ObtenerKMenores, que fue ejecutada instant´ aneamente despu´ es de la funci´ on de c´ alculo de distancias. Para mayor claridad respecto a lo explicado anteriormente ver diagrama 5.2.
Mostrar más

83 Lee mas

Programación paralela con esqueletos: fundamentos e implementación

Programación paralela con esqueletos: fundamentos e implementación

En este trabajo, se comentaron algunos de los conceptos de dise˜no que deben so- portar los sistemas esqueletales si se desea obtener un entorno de programaci´on flexible que ayude al programador a resolver una amplia gama de problemas irre- gulares y complejos en forma paralela.

5 Lee mas

Acercamiento a la programación paralela usando CUDA

Acercamiento a la programación paralela usando CUDA

sede en Austin, Texas. Dispone de un software de derivados avanzado para acortar el tiempo de desarrollo y acelerar el resultado de las simulaciones realizadas mediante el método de Monte Carlo. La compañía ha perfeccionado SciFinance para acelerar el cálculo de los modelos de valoración de derivados mediante la tecnología CUDA de NVIDIA, lo que permite ejecutar estos modelos hasta 100 veces más rápido de lo que se ejecutan con código no paralelo. Pero lo más importante es que esta aceleración puede lograrse sin ningún trabajo o programación manual extra, algo que en un mercado donde las esperas o la falta de precisión pueden generar millones de pérdidas, es un avance esencial. La clave para este aumento de la velocidad es utilizar la GPU, para efectuar los cálculos. Esta extraordinaria capacidad de procesamiento se logra con la ayuda de la arquitectura CUDA de NVIDIA.
Mostrar más

83 Lee mas

Programación paralela usando CUDA: aplicación en la Bioinformática

Programación paralela usando CUDA: aplicación en la Bioinformática

La computación paralela ha tenido un tremendo impacto en gran variedad de áreas que van desde aplicaciones para la simulación científica e ingenieriles a aplicaciones comerciales de minería de datos. En este capítulo se abordan elementos básicos de los modelos de memoria en la programación paralela, teniendo en cuenta los dos modelos trabajados en el grupo del programación paralela del laboratorio de Programación e Ingeniería de Software. Estos modelos se corresponden con la memoria distribuida al programar en MPI y la memoria compartida al programar en OpenMP, para luego dar paso al estudio de la memoria en CUDA y sus diferentes tipos. También se abordan otros elementos de programación y herramientas de software disponibles en CUDA que amplían el trabajo desarrollado en (Brito 2012).
Mostrar más

65 Lee mas

Simulación paramétrica paralela. Aplicación a modelos de predicción de inundaciones.

Simulación paramétrica paralela. Aplicación a modelos de predicción de inundaciones.

Mediante el aporte de la programación paralela sobre clusters de PC´s (y eventualmente distribuida sobre grid) se pretende ir algunos pasos más allá de la metodología clásica provista por los modelos de predicción de inundaciones, aprovechando el paralelismo inherente en algunas técnicas de optimización. Gracias a los avances en High Performance Computing se busca estudiar su aplicación en este trabajo para intentar proveer al simulador potencia de cómputo que mejore el proceso de predicción.

5 Lee mas

SISTEMA PARA EL ENTRENAMIENTO PARALELO DE REDES NEURONALES DE PROPAGACIÓN HACIA ATRÁS

SISTEMA PARA EL ENTRENAMIENTO PARALELO DE REDES NEURONALES DE PROPAGACIÓN HACIA ATRÁS

Existen hoy en el mundo varios sistemas de gestión empresarial que presentan un elevado precio en el mercado, debido a que la gran mayoría de los procesos son altamente optimizados y mejorados mediante la incorporación de modelos no lineales y técnicas neuronales. El presente trabajo pretende aumentar, aún más, estas ventajas con la utilización de la programación paralela.

5 Lee mas

Aprendizaje de la programación de computadores basado en PBL y emparejamiento por cuadrantes del modelo 4Q

Aprendizaje de la programación de computadores basado en PBL y emparejamiento por cuadrantes del modelo 4Q

Este estudio se justifica en el hecho de que la estrategia de trabajo por parejas en el aula de clases es un modelo recurrente, muy común en los programas de ingeniería, especialmente, en la ingeniería de sistemas y programación de computadores. Dado que esta estrategia ha sido utiliza- da con mucha frecuencia en las asignaturas asociadas a la programación, surge la pregunta: ¿qué mecanismo para la conformación de parejas de trabajo en el aula de clases es el más efectivo, de manera que no solo la pareja sea altamente productiva (es decir, que cumpla con los objetivos en el tiempo establecido), sino que le permita a cada uno de los integrantes apropiar, asimilar, retroa- limentar y evaluar el conocimiento de manera exitosa? Una respuesta posible está en el presente artículo. Este documento es resultado del proyecto de investigación Análisis de la Relación, Im- plicaciones e Incidencia del Aprendizaje de las Ciencias Básicas y del Conocimiento Básico en el Proceso de Formación de Ingenieros de Sistemas, que fue recomendado por el Consejo de Facul- tad de Ingenierías y aprobado por la Vicerrectoría de Investigaciones, Innovación y Extensión de la Universidad Tecnológica de Pereira.
Mostrar más

14 Lee mas

Implementación de algoritmos en hardware: de la puerta NAND al bucle FOR

Implementación de algoritmos en hardware: de la puerta NAND al bucle FOR

“El hardware es muy complicado. Requiere conocer muchos detalles, la mayoría de muy bajo nivel (voltajes e interfaces eléctricos, temporización de señales, principios físicos, etc..). Además nosotros no podemos fabricar chips (saldría muy caro) e incluso comprarlos para hacer un placa de circuito impreso requiere inversión o acceso a maquinaria difícil de obtener. Por todo ello la mejor opción es comprar hardware comercial. Este debe ser flexible y escalable en prestaciones de forma tal que nuestro objetivo sea su personalización mediante la programación del software asociado.”
Mostrar más

11 Lee mas

Una plataforma de evaluación automática con una metodología efectiva para la enseñanza/aprendizaje en programación de computadores

Una plataforma de evaluación automática con una metodología efectiva para la enseñanza/aprendizaje en programación de computadores

Evaluar el aprendizaje en programación es un proceso que involucra principalmente verificar que los programas construidos por los alumnos operan correctamente (ejecución de varios casos de prueba) y obtener información desde el código fuente de los programas (estilo de codificación, patrones de error, métricas de software, evaluar diseño, detectar plagio, etc.) [14]. Adicionalmente hay que considerar que para un problema particular es posible construir diferentes programas que lo resuelven y no existen reglas que permitan convertir uno en otro. Estos factores limitan la cantidad de tareas y exámenes que se pueden realizar en el contexto de un curso, produciendo escalones de complejidad que pueden impactar negativamente la autoeficacia (confianza en sí mismo para solucionar problemas) de los alumnos, y que los docentes puedan observar y apoyar adecuadamente la correcta formación del modelo mental (idea) del estudiante.
Mostrar más

13 Lee mas

Sitio Web colaborativo para el cluster de computadoras del CEI

Sitio Web colaborativo para el cluster de computadoras del CEI

Teniendo en cuenta las razones antes mencionadas llegamos al acuerdo de que es una necesidad la creación de una biblioteca virtual en la Universidad Central “Marta Abreu” de Las Villas porque no se cuenta con un local que tenga concentrado todos los documentos sobre la asignatura de Programación Paralela, ni existe un Sitio Web en el cual los interesados puedan instruirse en este campo, ya sean alumnos del curso o no. Los profesores de esta asignatura y de la dirección del Centro de Estudios de Informática (CEI) decidieron la construcción de un Sitio web para que los usuarios puedan ver y descargar información relacionada con el tema. Debido a que se quieren correr ejemplos en tiempo real desde dicho sitio es necesario que este se ejecute en un servidor con gran capacidad de procesamiento, por lo que se tomo el acuerdo de ubicarlo en el cluster de computadoras del CEI. Nuestro Sitio Web también facilitará la creación de cuentas de usuarios en el cluster de computadoras. Para realizar dicho trabajo se sugiere el uso de CMS Drupal y para el diseño UML Visual Paradigm.
Mostrar más

72 Lee mas

Metodología y didácticas aplicadas en el área de tecnología en cinco colegios distritales de Bogotá

Metodología y didácticas aplicadas en el área de tecnología en cinco colegios distritales de Bogotá

Es muy bien conocido el interés que tiene el sector educativo por adoptar en los colegio el área de tecnología e informática, originada en la ley 115, puesto que en los últimos años muchos colegios de Bogotá se han dado a la tarea de incluir en su Proyecto Educativo Institucional y en su currículo el área para estar a acorde con los avances del mundo actual, puesto que se hace necesario orientar a los alumnos sobre el buen uso y aprovechamiento de las nuevas tecnologías de la información y la comunicación. El distrito se ha encargado de dotar las instituciones públicas con herramientas tecnológicas como (computadores, tableros digitales, internet, redes institucionales) y materiales didácticos como (aulas de tecnología, material lego) las cuales son recursos que el maestro puede aprovechar como apoyo a la hora de seleccionar las actividades que va a trabajar en el área.
Mostrar más

113 Lee mas

Programación de computadores por imitación. Aproximación al aprendizaje en ingeniería de sistemas

Programación de computadores por imitación. Aproximación al aprendizaje en ingeniería de sistemas

Vale la pena tener en cuenta que la aproximación al pensamiento crítico permite que el estudiante evalúe el conocimiento en relación con un marco de referencia, de manera que pueda confrontarlo, revisarlo, evaluarlo y realimentarlo para bien de sus expectativas de aprendizaje y de la evolución de los conceptos teóricos y prácticos que surjan en el campo académico en beneficio de la sociedad. De la misma manera, el aprovechamiento de las nuevas tecnologías de la información y la comunicación facilita establecer un diálogo con los jóvenes en los términos de su lenguaje natural moderno (sc., tecnológico) sobre las posibilidades de conectividad e interacción con otras personas y sus servicios asociados. Con estos elementos se puede pensar que el estudiante planee soluciones algorítmicas realizables, por eficiencia, en sistemas electrónicos computacionales dentro de un marco de referencia que atienda necesidades y resuelva problemas de la sociedad (Trejos, 2017).
Mostrar más

15 Lee mas

ISAD_Tema3_2

ISAD_Tema3_2

Históricamente, la utilización del computador en aplicaciones industriales se inició (de forma casi coincidente con la comercialización del “PC” en 1980) para llevar a cabo las tareas IHM (visualización,…) y CAD (edición, puesta en marcha y depuración) de los programas de control asociados a los sistemas electrónicos de control de procesos, como los PLC, DCS, CNC, …

27 Lee mas

Show all 4410 documents...