Introducción a la Computación Paralela

Antes de pasar factura a la computación paralela, primero, echemos un vistazo a los antecedentes de los cómputos del software de computadora y por qué falló en la era moderna. 

El software de computadora se escribió convencionalmente para la computación en serie. Esto significaba que para resolver un problema, un algoritmo divide el problema en instrucciones más pequeñas. Estas instrucciones discretas luego se ejecutan en la Unidad Central de Procesamiento de una computadora una por una. Solo después de que finaliza una instrucción, comienza la siguiente. 

Un ejemplo de la vida real de esto sería gente haciendo cola esperando un boleto de cine y solo hay un cajero. El cajero va dando boletos uno por uno a las personas. La complejidad de esta situación aumenta cuando hay 2 colas y un solo cajero. 

Entonces, en resumen, Serial Computing es lo siguiente: 

  1. En esto, un enunciado del problema se divide en instrucciones discretas. 
  2. Luego, las instrucciones se ejecutan una por una. 
  3. Solo se ejecuta una instrucción en cualquier momento. 
     

Mire el punto 3. Esto estaba causando un gran problema en la industria informática ya que solo se ejecutaba una instrucción en cualquier momento. Esta fue una gran pérdida de recursos de hardware, ya que solo una parte del hardware se ejecutará para instrucciones particulares y tiempo. A medida que las declaraciones de problemas se volvían más pesadas y voluminosas, también lo hace la cantidad de tiempo en la ejecución de esas declaraciones. Ejemplos de procesadores son Pentium 3 y Pentium 4. 

Ahora volvamos a nuestro problema de la vida real. Definitivamente podríamos decir que la complejidad disminuirá cuando haya 2 colas y 2 cajeros dando boletos a 2 personas simultáneamente. Este es un ejemplo de Computación Paralela. 

Cómputo Paralelo: 
Es el uso de múltiples elementos de procesamiento simultáneamente para resolver cualquier problema. Los problemas se dividen en instrucciones y se resuelven simultáneamente, ya que cada recurso que se ha aplicado al trabajo funciona al mismo tiempo. 

Las ventajas de la computación en paralelo sobre la computación en serie son las siguientes: 

  1. Ahorra tiempo y dinero, ya que muchos recursos trabajando juntos reducirán el tiempo y reducirán los costos potenciales. 
  2. Puede ser poco práctico resolver problemas más grandes en la computación en serie. 
  3. Puede aprovechar los recursos no locales cuando los recursos locales son finitos. 
  4. La computación en serie ‘desperdicia’ el poder de cómputo potencial, por lo que la computación en paralelo hace que el hardware funcione mejor. 
     

Tipos de paralelismo: 

  1. Paralelismo a nivel de bits:
    es la forma de computación paralela que se basa en el aumento del tamaño del procesador. Reduce la cantidad de instrucciones que el sistema debe ejecutar para realizar una tarea en datos de gran tamaño. 
    Ejemplo: considere un escenario en el que un procesador de 8 bits debe calcular la suma de dos números enteros de 16 bits. Primero debe sumar los 8 bits de orden inferior, luego sumar los 8 bits de orden superior, por lo que requiere dos instrucciones para realizar la operación. Un procesador de 16 bits puede realizar la operación con una sola instrucción.
  2. Paralelismo a nivel de instrucción:
    un procesador solo puede abordar menos de una instrucción para cada fase del ciclo de reloj. Estas instrucciones se pueden reordenar y agrupar para luego ejecutarlas simultáneamente sin afectar el resultado del programa. Esto se llama paralelismo a nivel de instrucción.
  3. Paralelismo de
    tareas: el paralelismo de tareas emplea la descomposición de una tarea en subtareas y luego asigna cada una de las subtareas para su ejecución. Los procesadores realizan la ejecución de subtareas simultáneamente.

       4. Paralelismo de nivel de datos (DLP) :
las instrucciones de un solo flujo funcionan simultáneamente en varios datos. Limitado por patrones de manipulación de datos no regulares y por el ancho de banda de la memoria.

¿Por qué computación paralela? 

  • Todo el mundo real funciona de forma dinámica, es decir, suceden muchas cosas en un momento determinado pero en diferentes lugares al mismo tiempo. Esta información es muy grande para administrar.
  • Los datos del mundo real necesitan una simulación y un modelado más dinámicos, y para lograr lo mismo, la computación paralela es la clave.
  • La computación paralela proporciona concurrencia y ahorra tiempo y dinero.
  • Los conjuntos de datos grandes y complejos, y su gestión, pueden organizarse únicamente y únicamente utilizando el enfoque de la computación paralela.
  • Asegura la utilización efectiva de los recursos. Se garantiza que el hardware se usará de manera efectiva, mientras que en el cálculo en serie solo se usó una parte del hardware y el resto quedó inactivo.
  • Además, no es práctico implementar sistemas en tiempo real utilizando computación en serie.

Aplicaciones de la Computación Paralela: 

  • Bases de datos y minería de datos.
  • Simulación en tiempo real de sistemas.
  • Ciencia e Ingenieria.
  • Gráficos avanzados, realidad aumentada y realidad virtual.

Limitaciones de la computación en paralelo: 

  • Aborda, por ejemplo, la comunicación y la sincronización entre múltiples subtareas y procesos, lo que es difícil de lograr.
  • Los algoritmos deben administrarse de tal manera que puedan manejarse en un mecanismo paralelo.
  • Los algoritmos o programas deben tener bajo acoplamiento y alta cohesión. Pero es difícil crear tales programas.
  • Los programadores expertos y con más habilidades técnicas pueden codificar bien un programa basado en paralelismo.

Futuro de la computación en paralelo: el gráfico computacional ha experimentado una gran transición de la computación en serie a la computación en paralelo. El gigante tecnológico como Intel ya ha dado un paso hacia la computación paralela al emplear procesadores multinúcleo. La computación paralela revolucionará la forma en que funcionan las computadoras en el futuro, para bien. Con todo el mundo conectado entre sí incluso más que antes, Parallel Computing hace un mejor papel para ayudarnos a mantenernos así. Con redes más rápidas, sistemas distribuidos y computadoras con múltiples procesadores, se vuelve aún más necesario.

Publicación traducida automáticamente

Artículo escrito por universedecoder y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *