Está en la página 1de 13

Algoritmos paralelos

RANDIEL ARIAS CANELA | 1-17-2703


Que es un algoritmo?

 Un algoritmo es una secuencia lógica y finita de pasos que permite solucionar un


problema o cumplir con un objetivo.

 Los algoritmos deben ser precisos e indicar el orden lógico de realización de cada
uno de los pasos, debe ser definido y esto quiere decir que si se ejecuta un
algoritmo varias veces se debe obtener siempre el mismo resultado, también debe
ser finito o sea debe iniciar con una acción y terminar con un resultado o solución
de un problema.
Ejemplo de un algoritmo
Paralelo

 Esta palabra significa que no puede cruzar o cortar otra


linea u otro plano por mas que se prolonge, osea se conoce
paralelo a cosas que estan una al lado de la otra y en
ningun punto se encuentren.
Algoritmos paralelos

 Un algoritmo paralelo, en oposición a los algoritmos clásicos o algoritmos


secuenciales, es un algoritmo que puede ser ejecutado por partes en el mismo
instante de tiempo por varias unidades de procesamiento, para finalmente unir
todas las partes y obtener el resultado correcto.

El coste o complejidad de los algoritmos secuenciales se estima en términos del


espacio (memoria) y tiempo (ciclos de procesador) que requiera. Los algoritmos
paralelos también necesitan optimizar la comunicación entre diferentes unidades
de procesamiento.
Programacion paralela

 Un modelo de programación paralela es un modelo para escribir programas


paralelos los cuales pueden ser compilados y ejecutados. El valor de un modelo de
programación puede ser juzgado por su generalidad (Si las soluciones ofrecidas
son óptimas a comparación de diferentes arquitecturas o soluciones existentes), y
su rendimiento (Eficiencia, precisión o velocidad de la ejecución). La
implementación de un modelo de programación puede tomar varias formas, tales
como bibliotecas invocadas desde lenguajes secuenciales tradicionales,
extensiones del lenguaje, o nuevos modelos completos de ejecución.
Programacion concurrente

 La computación concurrente es una forma de cómputo en la cual varios cálculos


se realizan concurrentemente, y no uno a la vez de forma secuencial.

 Es una característica propia de un sistema, ya sea un programa, una computadora


o una red, en la cual existe un punto separado de ejecución o "hilo de control"
para cada proceso. Un sistema concurrente es aquel donde un cálculo puede
avanzar sin esperar a que el resto de los cálculos se completen.
Paralelismo
 Se denomina paralelismo a la igualdad de distancia entre todos los puntos de dos
o mas lineas o planos.

 En la informática el paralelismo es una forma de computación en la cual varios


cálculos pueden realizarse simultáneamente, basado en el principio de dividir los
problemas grandes para obtener varios problemas pequeños, que son
posteriormente solucionados en paralelo.
 Hay varios tipos diferentes de paralelismo: nivel de bit, nivel de instrucción, de
datos y de tarea. El paralelismo ha sido empleado durante muchos años, sobre
todo para la Computación de alto rendimiento.
Paralelismo en los procesadores
Hilos
 En sistemas operativos, un hilo, proceso ligero o subproceso es una secuencia de
tareas encadenadas muy pequeña que puede ser ejecutada por un sistema
operativo.

 La destrucción de los hilos antiguos por los nuevos es una característica que no
permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los
distintos hilos de ejecución comparten una serie de recursos tales como el espacio
de memoria, los archivos abiertos, la situación de autenticación, etc. Esta técnica
permite simplificar el diseño de una aplicación que debe llevar a cabo distintas
funciones simultáneamente.
Hilos en un
procesador
Lenguajes para la programacion paralela y
concurrente
 Muchos lenguajes sirven para realizar programación paralela. Dados los
requerimientos de la aplicación es en lo que se basará la adopción de un
determinado lenguaje dada la utilidad que represente. Lo importante es que el
lenguaje sea capaz de soportar técnicas de paralelización.
1. Bloom
2. Hermes
3. Sawzall
4. Golang
5. Julia
6. Limbo

También podría gustarte