Trabajo sobre una máquina de 8 núcleos y 24 GB de RAM. Y que conste que se me ha llegado a quedar chica.
Algunos programas que ejecuto tienen (o contienen pedazos de) la forma
- calcula A
- calcula B
- calcula C
- combina A, B y C
Obviamente, se me ocurre ejecutarlos así:
- calcula A, B y C en paralelo
- cuando acabe el paso anterior, combina A, B y C
Y aún me sobrarían 5 núcleos y bastante RAM. La pregunta es: ¿cómo?
Inspirado en esto, últimamente hago:
Y la verdad, va como un tiro.
Gracias por este post Carlos, tengo muchas ganas de probar R en paralelo y este post es una gran motivación!!
Por curiosidad, que máquina tienes y con que SO trabajas (creo que alguna vez has comentado que usas ArchLinux).
install.packages(‘parallel’)
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Aviso en install.packages(«parallel») :
‘lib = «/usr/local/lib/R/site-library»‘ is not writable
Would you like to use a personal library instead? (y/n) y
Would you like to create a personal library
~/R/x86_64-pc-linux-gnu-library/3.0
to install packages into? (y/n) y
— Please select a CRAN mirror for use in this session —
Mensajes de aviso perdidos
package ‘parallel’ is not available (for R version 3.0.2)
>
>
parallel
viene de serie en R. No hay necesidad de instalarlo.¿La máquina que menciono? No sé apenas nada del hardware. En eBay tenemos una nube privada (como las de Amazon) en la que podemos pedir recursos (disco, memoria, núcleos). También podemos instalar el software que queremos.
Yo, tal vez por pereza, instalo Ubunbu en los servidores que manejo (uno en la empresa y otro propio) y Xubuntu en mis portátiles. No obstante, no dejo de considerar la opción de migrarlo todo a Archlinux. Sobre todo, para evitar tener que actualizar la versión periódicamente.