X hits on this document

73 views

0 shares

0 downloads

0 comments

17 / 35

Estado actual de los algoritmos de Reconocimiento de Rostro usando Tecnologı´a GPU

13

operaciones a la vez. Concurrencia que se convierte en un requisito fundamental para los nuevos algoritmos y programas [16].

A medida que pasa el tiempo los procesadores seguira´n mejorando su capacidad de procesamiento y su cantidad por equipo. Ian Foster plantea que la escalabilidad es tan importante como la portabilidad para la proteccio´n de las inversiones en software y que un programa capaz de utilizar so´lo un nu´mero fijo de procesadores es un mal programa, como lo es un programa capaz de ejecutarse en una sola computadora [16].

La ra´pida penetracio´n de los ordenadores en el comercio, la ciencia y la educacio´n debe mucho a la normalizacio´n de principios en un modelo de ma´quina, la computadora de Von Neuman. Una computadora de Von Neuman incluye una unidad de procesamiento central (CPU) conectada a una unidad de almacenamiento. La CPU ejecuta un programa almace- nado que especı´fica una secuencia de lectura y escritura en la memoria. Este modelo simple ha demostrado ser extremadamente robusto. Su persistencia durante ma´s de cincuenta a˜nos ha permitido el estudio de temas tan importantes como los algoritmos y los lenguajes de programacio´n para proceder, en gran medida, independientemente de la evolucio´n de la arquitectura de computadores. En consecuencia, los programadores pueden ser entrenados en el arte abstracto de la programacio´n, ma´s que el arte de la programacio´n de la ma´quina “ X” y pueden dise˜nar algoritmos para una ma´quina abstracta de Von Neuman, confiando en que estos algoritmos se ejecutara´n en la mayorı´a de ordenadores de destino con una eficiencia razonable.

La programacio´n en paralelo introduce fuentes adicionales de complejidad por ejemplo: si tuvie´ramos que programar a bajo nivel, no so´lo aumentarı´a el nu´mero de instrucciones ejecutadas, sino tambie´n tendrı´a que gestionar de manera explı´cita de la ejecucio´n de miles de procesadores y coordinar a millones de interacciones entre los procesadores. Por lo tanto, la abstraccio´n y la modularidad son al menos tan importantes como en la programacio´n secuencial[16].

3.1.

Velocidad

Para lograr una mejora en la velocidad mediante el uso de paralelismo, es necesario dividir el ca´lculo en las tareas o procesos que pueden ser ejecutadas simulta´neamente. Se pude afirmar, que un programa es escalable si mantiene la propiedad que reduce su tiempo de ejecucio´n a razo´n de que que aumente su cantidad de procesadores, debido a que la velocidad es inversamente proporcional a la cantidad de procesadores. El tama˜no de un proceso puede ser descrito por su granularidad. En la granularidad gruesa, cada proceso contiene un gran nu´mero de instrucciones secuenciales y toma un tiempo considerable a ejecutar. En la granularidad, un proceso puede consistir en unas pocas instrucciones, o tal vez incluso una instruccio´n. En algu´n momento la granularidad se define como el tama˜no de la computacio´n entre la comunicacio´n o los puntos de sincronizacio´n. Una medida de rendimiento relativa entre un sistema multiprocesador y el sistema de un u´nico procesador es el factor del aumento de velocidad, definida como:

S n) =

T T s

Document info
Document views73
Page views73
Page last viewedTue Dec 06 09:38:58 UTC 2016
Pages35
Paragraphs855
Words14967

Comments