Estoy publicando esta pregunta para pedir consejos sobre cómo optimizar el uso de múltiples procesadores de R en una máquina con Windows XP.procesamiento de múltiples núcleos en R en Windows XP - a través de doMC y foreach
Por el momento estoy creando 4 scripts (cada script con, por ejemplo, (i en 1: 100) y (i en 101: 200), etc.) que ejecuto en 4 sesiones R diferentes al mismo tiempo. Esto parece usar toda la CPU disponible.
Sin embargo, me gustaría hacerlo un poco más eficiente. Una solución podría ser usar el paquete "doMC" y el paquete "foreach", pero esto no es posible en R en una máquina con Windows.
p. Ej.
library("foreach")
library("strucchange")
library("doMC") # would this be possible on a windows machine?
registerDoMC(2) # for a computer with two cores (processors)
## Nile data with one breakpoint: the annual flows drop in 1898
## because the first Ashwan dam was built
data("Nile")
plot(Nile)
## F statistics indicate one breakpoint
fs.nile <- Fstats(Nile ~ 1)
plot(fs.nile)
breakpoints(fs.nile) # , hpc = "foreach" --> It would be great to test this.
lines(breakpoints(fs.nile))
¿Alguna solución o consejo?
Hola Dirk. Dos cosas: 1) Probé el código en mi computadora y se congeló en "makeCluster" 2) Recuerdo la última vez que probé que no funcionaba con los dos núcleos que tenía, pero simplemente ejecuté dos instancias R en el mismo.Qué piensas ? Tal –
¿Qué te hace pensar que las dos instancias funcionan en el mismo núcleo? A menos que habilite 'fijación de CPU' (generalmente una función que depende bastante del sistema operativo), el sistema operativo asignará trabajos como lo considere conveniente. Numerosas personas, incluido el autor de SNOW, lo usan de esta manera para el propósito declarado de "trabajo paralelo fácil en Windows". Además, los enchufes pueden no ser confiables a mayor escala. El trabajo real debe hacerse con MPI. Por último, en cuanto a la máquina colgando: no tengo idea. Evito este sistema operativo donde puedo, que es casi todo el tiempo. –
Hola Dirk, Gracias por las respuestas. Con respecto a qué núcleo se está utilizando, simplemente verifiqué su uso en el administrador de tareas de Windows. Pero es de memoria, y podría estar equivocado. Mejor, Tal –