UNIVERSIDAD NACINAL AUTÓNOMA DE MÉXICO
FACULTAD DE INGENIERÍA
INGENIERÍA EN TELECOMUNICACIONES
LABORATORIO: PROCESAMIENTO DE SEÑALES EN TIEMPO REAL
Eval: 10+1 = 11
(1pt) Cover: 1
(1 pt) Objectives:1
(1 pt) Materials: 1
(1 pt) Code: 1
(1 pt) Time measurements:1 Práctica 6: Parallel processing
(1 pt) Video: 5
Addons:
-Introduction
-Bibliography
-Conclusions
Alumnos:
Esquivel Rivera Iván
López García José Eduardo
Vega León Lino David
There are some wording errors in your "Bibliography section"
Introducción:
Division de trabajo
La siguiente figura muestra una secuencia de paquetes de datos. Esos paquetes son alimentados a
un procesador. Cada paquete ocurre en un tiempo de TD y el procesador toma tiempo de TP. Como
TP> TD, el procesador descartará uno de los dos paquetes.
Una posible solución consiste en dividir cada paquete y alimentar cada subpaquete a procesadores
gemelos. De esta manera, cada procesador, al trabajar con menos datos, reducirá el tiempo de
procesamiento. La siguiente figura muestra cómo es.
Pool
"pool" es un término utilizado por la gente de negocios para describir las acciones de una persona
o personas en un proceso de producción. Como saben, el proceso se compone de varios carriles de
producción.
En Python, un "pool" compuesto por varios núcleos de procesador, memoria asignada a cada núcleo
y copias del mismo programa. La copia de cada programa se llama "worker(trabajador)". Cada
conjunto de {core, memoria asignada, trabajador} se denomina "lane".
Como puede observar, administrar los recursos para cada "lane(carril)" requiere negociación con el
sistema operativo y mucho tiempo, por lo que el "grupo" debe ser algo estático.
Para ayudar al lector, se ha agregado un apéndice con información sobre el pool de Python.
OBJETIVOS:
El alumno paralelizará un proceso de compresión de imágenes.
El estudiante podrá evaluar la efectividad de paralelizar un proceso.
MATERIALES:
1. Laptop or desktop.
2. Linux installed (Ubuntu, Mint, Fedora, ...)
3. Python installed.
4. cv2 python library installed
5. An image of 1920x1080
EJERCICIO 1:
Problema
i) Haga un programa que contenga dos funciones y un código principal:
-La primera función toma un marco que contiene una imagen. Esta función devolverá un
cuadro con el espectro de potencia reducido.
-La segunda función toma un marco que contiene un espectro de potencia reducido. Esta
función devolverá un cuadro con la imagen reconstruida.
-El código principal recuperará una imagen de 1920x1080 pixeles. Invocará la función que
calcula el espectro e invocará la función que reconstruye la imagen.
-Agregue líneas que midan el tiempo para calcular el espectro de potencia reducido
ii)Cree un segundo programa usando un "grupo".
-Divide la imagen en dos subimágenes.
-Crea un "grupo" con dos trabajadores.
-Agregue líneas que midan el tiempo para calcular el espectro de potencia reducido.
iii) Compara los tiempos y concluye sobre las diferencias.
REPORTE:
i) Informe su código
ii) Informe sus medidas
iii) Reporte su video en youtube o en cualquier otra plataforma.
Código
imágenes del programa
Tiempo
El tiempo reportado en la imagen de arriba es el tiempo usando procesos en paralelo.
Ahora, en la siguiente imagen mostraremos el tiempo por un programa que tiene la misma
función, la diferencia es que los procesos los hace secuenciales.
Podemos ver que la diferencia de tiempo es relativamente corto, sin embargo a nivel
procesamiento es una gran diferencia, pues normalmente hablamos de procesos que requieren
una mayor rapidez. Sin embargo, este tiempo puede variar según las características físicas
del equipo de cómputo.
Video
[Link]
Conclusión
Se notó que los procesos paralelos reducen el tiempo que un programa tarda para procesar,
en este caso, una imagen. Además, se observó que el tiempo de procesamiento en paralelo
dependen de las características del equipo, pues se comparó con los tiempos que otros
compañeros obtuvieron, la diferencia no es mucha, pero es notable.
BIBLIOGRAFÍA:
[elma;2020] Evgeneva, Valeria. Lección 3: Personalización de proceso de negocio con
elementos BPMN: Pools, Carriles y Tareas. elma blog.[consulting date: May 21, 2020]
Availavble on [Link]
de-negocio-con-elementos-bpmn-pools-carriles-y-tareas/
[evgeneva;2020] Evgeneva, Valeria. Understanding BPMN Pools and Lanes.
SIGNAVIO, published on: August 19 2016,last modified: April 21st, 2020 [consulting date:
May 21 2020]. Availavble on [Link]
personalizacion-de-proceso-de-negocio-con-elementos-bpmn-pools-carriles-y-tareas/