elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda - Programación Paralela o Distribuida en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda - Programación Paralela o Distribuida en C++  (Leído 6,481 veces)
CobraCY

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Ayuda - Programación Paralela o Distribuida en C++
« en: 12 Noviembre 2011, 15:46 pm »

Buenas, soy nuevo en la comunidad y me pasé revisando y buscando algo que me ayude a entender un poco mejor la programación paralela o distribuida, de modo que pueda hacer mis programas funcionar en todos los núcleos (procesadores) de un ordenador.

Ya busque mucho en google y sin resultado, muchos papers, proyectos y teoría pero nada práctico.
Me gustaría ver algunos ejemplos de como se aplica esto, que librerías necesito para empezar, como es que funciona y cuales son las ventajas y desventajas que obtengo al usar este tipo de programación.

Si hay algún tema de este tipo, es posible que se me haya pasado por alto, agradecería me brinden el enlace y si en caso yo encuentro algo navegando en la red lo publicaré aquí para ayudar al resto de gente.

Saludos y gracias por su tiempo.


En línea

El_Java

Desconectado Desconectado

Mensajes: 144



Ver Perfil WWW
Re: Ayuda - Programación Paralela o Distribuida en C++
« Respuesta #1 en: 12 Noviembre 2011, 22:30 pm »

Tan dificil es un buscar un poco en google? https://www.google.com/search?client=ubuntu&channel=fs&q=c%2B%2B+varios+procesadores&ie=utf-8&oe=utf-8#sclient=psy-ab&hl=es&client=ubuntu&hs=M6L&channel=fs&source=hp&q=c%2B%2B+SMP&pbx=1&oq=c%2B%2B+SMP&aq=f&aqi=g-L1g-sL1g-vL2&aql=&gs_sm=e&gs_upl=18569l20535l2l20743l7l5l0l1l1l0l419l1449l0.1.1.2.1l6l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=3082a67125ca6cda&biw=1914&bih=961
Por si Google con su ansia de conseguir la personalización de las busquedas consiguiera que a ti no te salieran los mismos enlaces... las primeras paginas que salen no estan nada mal.
1: http://tldp.org/HOWTO/SMP-HOWTO-3.html
2: http://www.faqs.org/docs/Linux-HOWTO/SMP-HOWTO.html

Si no es esto lo que buscabas, mil perdones xDD

Un saludo!


En línea

CobraCY

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Ayuda - Programación Paralela o Distribuida en C++
« Respuesta #2 en: 13 Noviembre 2011, 00:38 am »

Gracias por la respuesta, pero no es lo que busco.

Si me dejo entender, hay una forma de volver la programación en C++ al paralelo, para que de este modo distribuya la ejecución de distintas tareas en diversos nucleos, por ejemplo:

Tengo un código que aplica 2 for, uno dentro del otro(anidado).

Código
  1. for(int i=0; i < x; i++)
  2. {
  3.     for(int j=0; j < y; j++)
  4.     {
  5.        if(i == j)
  6.            return x+y;
  7.     }
  8. }
  9.  

Entonces lo que hace esto es dividir el primer for a un nucleo y el for anidado en otro nucleo, lo cual permite doble ejecución en la mitad del tiempo. Se que para esto hay que usar algunas librerias y declaraciones pero la verdad no he encontrado nada de ejemplos acerca de esto, mucha teoria y poca práctica y/o ejemplos.

Si alguien tuviera conocimientos acerca de este metodo de programación y me brindara su ayuda le estaria eternamente agradecido.

Saludos.


En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Ayuda - Programación Paralela o Distribuida en C++
« Respuesta #3 en: 13 Noviembre 2011, 05:39 am »

Te refieres a hilos?
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Ayuda - Programación Paralela o Distribuida en C++
« Respuesta #4 en: 13 Noviembre 2011, 06:04 am »

Entonces lo que hace esto es dividir el primer for a un nucleo y el for anidado en otro nucleo
El problema con el ejemplo es: lo que ejecuta el bucle externo es el bucle interno. Para que fuera posible realizar el proceso en paralelo deberia ser:
Código
  1. for (int i = 0; i < x; i++){
  2.   // Algun proceso basado en i ...
  3. }
  4.  
  5. for (int j = 0; j < y; j++){
  6.   // Algun proceso basado en j ...
  7. }

Informacion en Wikipedia: Parallel computing

Una de las APIs: OpenMP

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
CobraCY

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Ayuda - Programación Paralela o Distribuida en C++
« Respuesta #5 en: 13 Noviembre 2011, 16:40 pm »

exacto rir3760, es por eso que busco algunos ejemplos acerca de esto, donde pueda ver como aplicarlo y desarrollar software de esta forma, pues como sabemos los ordenadores tienen cada vez más núcleos y haces que tu software trabaje solo en 1 estás desperdiciando potencial de ordenador, así que me gustaría información de como aplicar este método en un lenguaje como C++.

Saludos.
En línea

pucheto

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Ayuda - Programación Paralela o Distribuida en C++
« Respuesta #6 en: 13 Noviembre 2011, 17:05 pm »

Para memoria compartida, averigua sobre Threads ( pthreads o std::thread por ejemplo ), OpenMP, Cilk, Cilk++ . Y averigua sobre algoritmos lock-free.
Para entornos distribuidos averigua sobre MPI, Erlang y design patterns para estos, como MapReduce.
En línea

CobraCY

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Ayuda - Programación Paralela o Distribuida en C++
« Respuesta #7 en: 13 Noviembre 2011, 17:23 pm »

gracias :) ;-) ahora me pondré a investigar, igual agradezco más respuestas :D...

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programacion paralela
Programación Visual Basic
BlackZeroX 5 4,763 Último mensaje 5 Diciembre 2009, 22:14 pm
por raul338
Programación paralela
Programación C/C++
zairillo 0 3,264 Último mensaje 14 Abril 2011, 11:47 am
por zairillo
programacion paralela sobre fractales
Dudas Generales
hernanDemian 0 1,624 Último mensaje 4 Julio 2013, 07:13 am
por hernanDemian
Programación distribuida. Paso de mensajes.
Java
NikNitro! 1 1,779 Último mensaje 9 Agosto 2014, 10:01 am
por Zoik
busco libro de programacion paralela pdf
Programación General
Beginner Web 1 3,507 Último mensaje 1 Mayo 2023, 16:34 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines