El sólo hecho de contar con muchos procesadores o equivalentemente muchos
nucleos es la base física para hacer computación paralela.
La otra componente tiene dos partes
1. La naturaleza del proceso que se quiere paralelizar. No todo algoritmo
es intrínsecamente paralelizable.Los candidatos ideales en el caso de R son
aquelllos que pueden aplicase en un bajo el paradigama de las distintas
formas de "applys".
2. El software: hay que escribir en paralelo. En R hay varios paquetes (no
muchos) que permiten implementar procedimientos paralelizados. En
particular yo alguna vez realice algo con snow que implementa una froma
paralelizable de apply: "parallelapply" y
efectivament uno ve una reducción signficativa de los tiempos de ejecución,
aunque no necesariamente es dividir por el número de nucleos o
procesadores. Hay un balance entre tiempo de ejecución y transferencia de
datos. Si el procesos es computacionalmente intensivos de pocos datos,
entoces uno gana mucho paralelizando. Si por el contrario uno tienen que
aplicar una función simple a muchos paquetes grandes de datos, la ganancia
es pequeña o incluso puede haber pérdidas.

Prof. Julio Di Rienzo
Estadística y Biometría
FCA- U.N. Córdoba
IBS-RARG President
http://sites.google.com/site/juliodirienzo
"Biometry, the active pursuit of biological
knowledge by quantitative methods."
(R.A. Fisher, 1948)


2013/4/16 neo <ericconchamunoz@gmail.com>

> Estimado Javier, tu primer parrafo me interpreta correctamente ... pero
> ahora mismo yo tengo una duda tambien ... es seguro que la carga de trabajo
> TOTAL se puede distribuir en varios nucleos de un mismo PC o varios PCs en
> un cluster, pero no estoy seguro de que una UNICA TAREA (o hilo) se pueda
> distribuir en varios nucleos o varios PCs de un cluster, si la programacion
> original es secuencial dudo mucho que eso se pueda hacer de ninguna forma,
> pero para estar seguro eso ya habria que preguntarselo a un informatico de
> alto nivel, o sea de los que meten las manos en programacion de bajo nivel
> (yo soy ing forestal) ...
>
> pero de que ganaras potencia de calculo con el cluster, ganaras ... dale
> una mirada a knoppix, que era la distribucion que use para el cluster, en
> ese tiempo habia que ponerle un parche al kernel, pero imagino que a esta
> altura ya no es necesario, debian debe tener tambien todas las herramientas
> necesarias para montar un cluster.
>
> Saludos y suerte,
>
> eric.
>
>
>
>
>
>
>
>
> On 04/16/2013 02:41 PM, Javier Marcuzzi wrote:
>
>>
>> Estimado Eric.
>>
>> No se si comprendo correctamente, supongamos que yo tengo tres
>> computadoras, todas con una conección de red cableada, entonces decido
>> utilizar un linux (por no decir otro sistema), configuro un cluster y
>> corro R.
>>
>> Ahora, como tengo tres computadoras tendría tres procesadores corriendo
>> R. En el caso que tenga tres computadoras core 2 duo tendría 3 x 2 = 6
>> procesadores corriendo R.
>>
>> ¿La parte de R que procesa en paralelo correría sin problemas?
>> ¿Y la parte de R que procesa en un solo procesador?
>> ¿Si con una computadora con dos nucleos no puedo utilizar ambos, como
>> puedo en un cluster?
>>
>> Bueno, yo solo uso una computadora (habría dos), pero creo que para
>> otros usuarios puede ser interesante poder acelerar R.
>>
>> Posiblemente habría que buscar otro hilo de conversación sobre R en
>> paralelo y compartir experiencias al respecto (yo no la tengo).
>>
>> Javier
>>
>>
>> El 16 de abril de 2013 14:21, neo <ericconchamunoz@gmail.com
>> <mailto:ericconchamunoz@gmail.**com <ericconchamunoz@gmail.com>>>
>> escribió:
>>
>>
>>     Si siempre tienes esta necesidad de alta demanda por capacidad de
>>     calculo
>>     Si tienes mas de un computador disponible (ya con 2 puedes)
>>     Si tienes tiempo para hecharlo a andar ...
>>
>>     Yo probaria a montar un cluster con linux, hay distrihuciones linux
>>     que te facilitan la instalacion de un cluster (hace años yo probe
>>     con knoppix) y no se requiere hardware especial, solo que los
>>     computadores puedan conectarse entre si, lo mas simple y rapido, una
>>     red lan, ahora incluso lo puedes hacer con la tarjeta WIFI de los
>>     compus en modo monitor (pero baja el rendimiento comparado con una
>>     LAN) ... en todo caso, esto pasa a ser un tema de computacion y no
>>     ya de R.
>>
>>     En la red hay suficiente material para leer y montar un cluster
>>     casero sin gastar nada.
>>
>>     De esta forma puedes paralelizar no solo R, si no CASI cualquier
>>     tarea (hay algunas limitaciones especificas).
>>
>>     Saludos, Eric.
>>
>>
>>
>>
>>     On 04/16/2013 11:46 AM, Felipe Vargas Reeve wrote:
>>
>>              Hola a todos, quería consultar si alguien sabe alguna
>>         metodología para
>>         aumentar la velocidad en R para lograr la convergencia en
>>         modelos lmer o
>>         lme.
>>
>>              Actualmente he leído que R sólo trabaja con sólo un núcleo,
>>         aunque el pc
>>         presente un mayor número de ellos. También de la existencia de
>>         complementos
>>         (ejemplo: parallel) que pueden aumentar el rendimiento, basándose
>> en
>>         utilizar todos los núcleos del pc, pero creo que esto funciona
>> para
>>         funciones independientes y no optimizan un sólo proceso como es
>>         el caso de
>>         un modelo lineal mixto y su velocidad, compilada en una única
>>         función. Eso,
>>         saludos y agradecido de sus respuestas
>>
>>         Felipe
>>
>>                  [[alternative HTML version deleted]]
>>
>>
>>
>>
>>         ______________________________**___________________
>>         R-help-es mailing list
>>         R-help-es@r-project.org <mailto:R-help-es@r-project.**org<R-help-es@r-project.org>
>> >
>>         https://stat.ethz.ch/mailman/_**_listinfo/r-help-es<https://stat.ethz.ch/mailman/__listinfo/r-help-es>
>>         <https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es>
>> >
>>
>>
>>     ______________________________**___________________
>>     R-help-es mailing list
>>     R-help-es@r-project.org <mailto:R-help-es@r-project.**org<R-help-es@r-project.org>
>> >
>>     https://stat.ethz.ch/mailman/_**_listinfo/r-help-es<https://stat.ethz.ch/mailman/__listinfo/r-help-es>
>>     <https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es>
>> >
>>
>>
>>
> ______________________________**_________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es>
>

	[[alternative HTML version deleted]]

