Estimado Carlos Ortega Comprendo que hay que tener el paquete compilado para acceder al alto rendimiento, por lo cuál si está todo preparado para trabajar en un clúster y para aprovechar múltiples hilos, no habría problemas, calculo que si una librería no tiene esa tecnología no traería inconvenientes, ¿o por el contrario si está distribuido crea varias instancias y al correr separadas hay ?lío?? Ejemplo esquemático para simplificar mi duda paso 1) mllib, paso 2) mllib, paso 3) NO mllib ?problema? paso 4) mllib Otra parte, hay un artículo que encontré donde da la pista para utilizar la tecnología de Microsoft pero en Linux, sin tener que pagar licencias. https://blogs.technet.microsoft.com/machinelearning/2016/09/15/building-deep-neural-networks-in-the-cloud-with-azure-gpu-vms-mxnet-and-microsoft-r-server/ Hace unos años tuve que compilar un paquete en macosx con el compilador de Intel, si el código fuente no está preparado para procesar en varios núcleos, el compilador de Intel en Linux puede ser gratis y tiene una optimización mayor. Posiblemente, Microsoft abrió una puerta para que casi cualquiera puede montar un cluster de R bajo Linux utilizando tecnología propietaria, algo como una gran donación a la ciencia. Javier Rubén Marcuzzi De: Carlos Ortega Enviado: martes, 11 de octubre de 2016 14:21 Para: Javier Marcuzzi CC: Carlos J. Gil Bellosta; r-help-es Asunto: Re: [R-es] Alto rendimiento Hola, Son muchas cosas juntas... por separar: ? Las librerías de Microsoft. o ¿Te refieres a las que soporta su versión de R: "Open R"? o Están modificadas para que en Windows puedas utilizar fácilmente varios cores (varios hilos) utilizando una librería de Intel que se instala con la versión. o Si es la versión que está en la nube, que también hablaron de ello (Azure Machine Learning), ahí tienen sus algoritmos propietarios que puedes complementarlos con "R" y gran parte de las librerías que están en CRAN. ? En este caso, en lo que te ayuda estar en su cloud si quieres usar sólo la parte de "R" es en tener por debajo máquinas con mucha RAM. ? Lo de "sparklyr": o Si te montas varias máquinas en un clúster como dices e instalas Linux sobre el que pones Hadoop y Spark puedes con esta librería de RStudio trabajar en modo distribuido. ? El configurar un clúster de este tipo no es trivial....hay ejemplos comentado por ahí de cómo hacerlo en EC2 Amazon. o Puedes ejecutar procesos de machine learning en modo paralelo, pero solamente los que incluyen las librerías MLlib de Spark que no son todos los que hay disponibles en CRAN, no todos los algoritmos son paralelizables. Pero sí que se contemplan los de clúster, los glm, randomForest, gbm, survival, etc (http://spark.rstudio.com/mllib.html). También es capaz de distribuir trabajos sobre H2O, que también tiene básicamente las mismas librerías que las MLlib con el añadido de "deeplearning". o En este caso, escribes en lenguaje R (en concreto dplyr) y esta librería "traduce" a lenguaje que entiende Spark. Puedes como verás incluso lanzar igualmente sentencias SQL. Saludos, Carlos Ortega. www.qualityexcellence.es El 11 de octubre de 2016, 16:22, <javier.ruben.marcuzzi en gmail.com> escribió: Estimado Carlos Gil Bellosta ¿Cómo está usted? En estos lados de América del sur comienza la primavera, desde la ventana miro la parra contando las posibles uvas, siempre aparece un ave que se arrima a la ventana o incluso llegan hasta la computadora como si supiesen usarla. Ahora en R. En ese esquema un modelo lineal tendría que ir con mlib que es aportada por sparklyr, en ese caso tendría toda la capacidad de proceso, pero no en un ml tradicional como modelo <- lm (y ~ var1 + var2). En otras palabras http://spark.rstudio.com/mllib.html aporta beneficios, pero lo que está por fuera correría como el R de CRAN con un hilo del procesador. Los otros días vi el video de la charla, no me quedo claro si Microsoft optimiza las librerías de sus repositorios al compilarlas o solo las de su propiedad. Javier Rubén Marcuzzi De: Carlos J. Gil Bellosta Enviado: martes, 11 de octubre de 2016 10:59 Para: Javier Marcuzzi CC: r-help-es Asunto: Re: [R-es] Alto rendimiento Hola, ¿qué tal? Spark correría en tantos hilos como estuviese configurado a utilizar (con límite en los existentes). La promesa de sparklyr es que se trata de una mera interfaz que delega el procesamiento de datos en Spark. Spark paralelizaría (que de eso trata). Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El 11 de octubre de 2016, 15:55, <javier.ruben.marcuzzi en gmail.com> escribió: Estimados En el sitio de https://www.rstudio.com/ hay un aviso sobre http://spark.rstudio.com/index.html ( sparklyr ). Microsoft publico un artículo donde comparan el R Server que está dentro de SQL server (o por separado, depende un poco), o el Microsoft R, junto con algunas librerías que se pueden compilar y obtener lo mismo en Ubuntu. Supongamos que tengo el dinero como para comprar por ejemplo http://www.intel.la/content/www/xl/es/processors/xeon/xeon-processor-e7-family.html uno de estos procesadores con 36 núcleos. Supongamos que tengo aún más dinero y puedo comprar 4 computadoras y colocarlas de tal forma que puedan trabajar en conjunto. Ahora mi pregunta, spark (sparklyr) utiliza mis cuatro computadoras pero ¿un solo núcleo o los 36? (java usa solo un núcleo) La parte de Microsoft utiliza los 36 procesadores, pero las librerías que están en los repositorios de Microsoft (no las de CRAN) ¿están optimizadas para los 36 procesadores? O solo hay partes en spark como mlib o lo específico de R Microsoft optimizado, que puedan utilizar todos los núcleos y/o procesadores. Por ejemplo MCMCglmm ¿tiene beneficios en cualquiera de estas tecnologías o solo utiliza lo mismo que puede procesar en una portátil? O si compro los cuatro equipos con 36 núcleos, instalo la versión de Microsoft junto con sparklyr y: ¿tengo una capacidad de cálculo impresionante, o esa capacidad es solo en sectores de R siendo el resto procesado en forma tradicional? ¿Hay comentarios al respecto desde la experiencia de alguno del grupo? Javier Rubén Marcuzzi [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Hola, - Si tu "paso 3" te refieres a un algoritmo que no está en MLlib, este algoritmo se ejecutaría en el "Master" sin distribuir. El problema vendría de si tiene suficiente capacidad para procesar todo lo que le devuelva el "paso 2". - Lo que comentas de Microsoft, ¿no pagas licencias?... No pagas licencias por instalar diferentes librerías (para procesado con GPUs, la de la red MXNET que son libres) y versiones de R que son igualmente libres (R Open), pero pagas y mucho por tener todo esto en la nube de Microsoft. - Por matizar también lo último que comentas de MaxOS y compilar sobre un micro de Intel; es algo que ahora haces a diario con cada paquete que te instalas en R. Puedes instalarlo en binario o compilarlo directamente (vaya como en Linux). Pero esta compilación no tiene nada que ver con ninguna cesión de Microsoft. Con esto no quiero decir que Microsoft no ha cedido nada al mundo Linux, especialmente de un tiempo a esta parte es de los que más: http://thenextweb.com/microsoft/2016/09/15/in-your-face-google/#gref Saludos, Carlos Ortega www.qualityexcellence.es El 11 de octubre de 2016, 19:48, <javier.ruben.marcuzzi en gmail.com> escribió:> Estimado Carlos Ortega > > > > Comprendo que hay que tener el paquete compilado para acceder al alto > rendimiento, por lo cuál si está todo preparado para trabajar en un clúster > y para aprovechar múltiples hilos, no habría problemas, calculo que si una > librería no tiene esa tecnología no traería inconvenientes, ¿o por el > contrario si está distribuido crea varias instancias y al correr separadas > hay ?lío?? > > > > Ejemplo esquemático para simplificar mi duda > > > > paso 1) mllib, > > paso 2) mllib, > > paso 3) NO mllib ?problema? > > paso 4) mllib > > > > Otra parte, hay un artículo que encontré donde da la pista para utilizar > la tecnología de Microsoft pero en Linux, sin tener que pagar licencias. > > > > https://blogs.technet.microsoft.com/machinelearning/ > 2016/09/15/building-deep-neural-networks-in-the-cloud- > with-azure-gpu-vms-mxnet-and-microsoft-r-server/ > > > > Hace unos años tuve que compilar un paquete en macosx con el compilador de > Intel, si el código fuente no está preparado para procesar en varios > núcleos, el compilador de Intel en Linux puede ser gratis y tiene una > optimización mayor. > > > > Posiblemente, Microsoft abrió una puerta para que casi cualquiera puede > montar un cluster de R bajo Linux utilizando tecnología propietaria, algo > como una gran donación a la ciencia. > > > > Javier Rubén Marcuzzi > > > > *De: *Carlos Ortega <cof en qualityexcellence.es> > *Enviado: *martes, 11 de octubre de 2016 14:21 > *Para: *Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com> > *CC: *Carlos J. Gil Bellosta <cgb en datanalytics.com>; r-help-es > <r-help-es en r-project.org> > > *Asunto: *Re: [R-es] Alto rendimiento > > > > Hola, > > > > Son muchas cosas juntas... por separar: > > - Las librerías de Microsoft. > > > - ¿Te refieres a las que soporta su versión de R: "Open R"? > - Están modificadas para que en Windows puedas utilizar fácilmente > varios cores (varios hilos) utilizando una librería de Intel que se instala > con la versión. > - Si es la versión que está en la nube, que también hablaron de > ello (Azure Machine Learning), ahí tienen sus algoritmos propietarios que > puedes complementarlos con "R" y gran parte de las librerías que están en > CRAN. > > > - En este caso, en lo que te ayuda estar en su cloud si quieres usar > sólo la parte de "R" es en tener por debajo máquinas con mucha RAM. > > > - Lo de "sparklyr": > > > - Si te montas varias máquinas en un clúster como dices e instalas > Linux sobre el que pones Hadoop y Spark puedes con esta librería de RStudio > trabajar en modo distribuido. > > > - El configurar un clúster de este tipo no es trivial....hay ejemplos > comentado por ahí de cómo hacerlo en EC2 Amazon. > > > - Puedes ejecutar procesos de machine learning en modo paralelo, pero > solamente los que incluyen las librerías MLlib de Spark que no son todos > los que hay disponibles en CRAN, no todos los algoritmos son > paralelizables. Pero sí que se contemplan los de clúster, los glm, > randomForest, gbm, survival, etc (http://spark.rstudio.com/ > mllib.html). También es capaz de distribuir trabajos sobre H2O, que > también tiene básicamente las mismas librerías que las MLlib con el añadido > de "deeplearning". > - En este caso, escribes en lenguaje R (en concreto dplyr) y esta > librería "traduce" a lenguaje que entiende Spark. Puedes como verás incluso > lanzar igualmente sentencias SQL. > > > > Saludos, > > Carlos Ortega. > > www.qualityexcellence.es > > > > > > > > El 11 de octubre de 2016, 16:22, <javier.ruben.marcuzzi en gmail.com> > escribió: > > Estimado Carlos Gil Bellosta > > ¿Cómo está usted? En estos lados de América del sur comienza la primavera, > desde la ventana miro la parra contando las posibles uvas, siempre aparece > un ave que se arrima a la ventana o incluso llegan hasta la computadora > como si supiesen usarla. > > Ahora en R. > > En ese esquema un modelo lineal tendría que ir con mlib que es aportada > por sparklyr, en ese caso tendría toda la capacidad de proceso, pero no en > un ml tradicional como modelo <- lm (y ~ var1 + var2). > > En otras palabras http://spark.rstudio.com/mllib.html aporta beneficios, > pero lo que está por fuera correría como el R de CRAN con un hilo del > procesador. > > Los otros días vi el video de la charla, no me quedo claro si Microsoft > optimiza las librerías de sus repositorios al compilarlas o solo las de su > propiedad. > > Javier Rubén Marcuzzi > > De: Carlos J. Gil Bellosta > Enviado: martes, 11 de octubre de 2016 10:59 > Para: Javier Marcuzzi > CC: r-help-es > Asunto: Re: [R-es] Alto rendimiento > > Hola, ¿qué tal? > > Spark correría en tantos hilos como estuviese configurado a utilizar (con > límite en los existentes). La promesa de sparklyr es que se trata de una > mera interfaz que delega el procesamiento de datos en Spark. Spark > paralelizaría (que de eso trata). > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > > > El 11 de octubre de 2016, 15:55, <javier.ruben.marcuzzi en gmail.com> > escribió: > Estimados > > En el sitio de https://www.rstudio.com/ hay un aviso sobre > http://spark.rstudio.com/index.html ( sparklyr ). > > Microsoft publico un artículo donde comparan el R Server que está dentro > de SQL server (o por separado, depende un poco), o el Microsoft R, junto > con algunas librerías que se pueden compilar y obtener lo mismo en Ubuntu. > > Supongamos que tengo el dinero como para comprar por ejemplo > http://www.intel.la/content/www/xl/es/processors/xeon/ > xeon-processor-e7-family.html uno de estos procesadores con 36 núcleos. > > > Supongamos que tengo aún más dinero y puedo comprar 4 computadoras y > colocarlas de tal forma que puedan trabajar en conjunto. > > Ahora mi pregunta, spark (sparklyr) utiliza mis cuatro computadoras pero > ¿un solo núcleo o los 36? (java usa solo un núcleo) > > La parte de Microsoft utiliza los 36 procesadores, pero las librerías que > están en los repositorios de Microsoft (no las de CRAN) ¿están optimizadas > para los 36 procesadores? > > O solo hay partes en spark como mlib o lo específico de R Microsoft > optimizado, que puedan utilizar todos los núcleos y/o procesadores. Por > ejemplo MCMCglmm ¿tiene beneficios en cualquiera de estas tecnologías o > solo utiliza lo mismo que puede procesar en una portátil? > > O si compro los cuatro equipos con 36 núcleos, instalo la versión de > Microsoft junto con sparklyr y: ¿tengo una capacidad de cálculo > impresionante, o esa capacidad es solo en sectores de R siendo el resto > procesado en forma tradicional? > > ¿Hay comentarios al respecto desde la experiencia de alguno del grupo? > > Javier Rubén Marcuzzi > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Estimado Carlos Ortega Comprendo, si se ejecuta en el master no se distribuye y no habría problemas, salvo la capacidad de cálculo en máquina, que por más optimización de código la memoria y el proceso son necesarios y no se pueden esquivar. Los servicios me Microsoft son desde gratis a precios elevados, claro que lo gratis dura muy poco, algo personal o en desarrollo podría utilizar tecnología sin tener de pagar, luego para mi billetera es muy elevado. Por eso pensé en la parte de spark, que documenta entre algunas cosas a postgresql, aunque también este último se conecta por sí solo a R, lo bueno es que hay básicamente dos formas de tener una base de datos en conjunto con R, sin tener que pasar por Microsoft (sqlserver) u Oracle (mysql u Oracle). Hace mucho que no compilo algo en R, pero se puede, sobre todo en Linux, donde un servicio rest o web está bastante aceitado. Gracias a los dos Carlos, tenía una duda que me resolvieron. Javier Rubén Marcuzzi De: Carlos Ortega Enviado: martes, 11 de octubre de 2016 16:45 Para: Javier Marcuzzi CC: r-help-es Asunto: Re: [R-es] Alto rendimiento Hola, ? Si tu "paso 3" te refieres a un algoritmo que no está en MLlib, este algoritmo se ejecutaría en el "Master" sin distribuir. El problema vendría de si tiene suficiente capacidad para procesar todo lo que le devuelva el "paso 2". ? Lo que comentas de Microsoft, ¿no pagas licencias?... No pagas licencias por instalar diferentes librerías (para procesado con GPUs, la de la red MXNET que son libres) y versiones de R que son igualmente libres (R Open), pero pagas y mucho por tener todo esto en la nube de Microsoft. ? Por matizar también lo último que comentas de MaxOS y compilar sobre un micro de Intel; es algo que ahora haces a diario con cada paquete que te instalas en R. Puedes instalarlo en binario o compilarlo directamente (vaya como en Linux). Pero esta compilación no tiene nada que ver con ninguna cesión de Microsoft. Con esto no quiero decir que Microsoft no ha cedido nada al mundo Linux, especialmente de un tiempo a esta parte es de los que más: http://thenextweb.com/microsoft/2016/09/15/in-your-face-google/#gref Saludos, Carlos Ortega www.qualityexcellence.es El 11 de octubre de 2016, 19:48, <javier.ruben.marcuzzi en gmail.com> escribió: Estimado Carlos Ortega Comprendo que hay que tener el paquete compilado para acceder al alto rendimiento, por lo cuál si está todo preparado para trabajar en un clúster y para aprovechar múltiples hilos, no habría problemas, calculo que si una librería no tiene esa tecnología no traería inconvenientes, ¿o por el contrario si está distribuido crea varias instancias y al correr separadas hay ?lío?? Ejemplo esquemático para simplificar mi duda paso 1) mllib, paso 2) mllib, paso 3) NO mllib ?problema? paso 4) mllib Otra parte, hay un artículo que encontré donde da la pista para utilizar la tecnología de Microsoft pero en Linux, sin tener que pagar licencias. https://blogs.technet.microsoft.com/machinelearning/2016/09/15/building-deep-neural-networks-in-the-cloud-with-azure-gpu-vms-mxnet-and-microsoft-r-server/ Hace unos años tuve que compilar un paquete en macosx con el compilador de Intel, si el código fuente no está preparado para procesar en varios núcleos, el compilador de Intel en Linux puede ser gratis y tiene una optimización mayor. Posiblemente, Microsoft abrió una puerta para que casi cualquiera puede montar un cluster de R bajo Linux utilizando tecnología propietaria, algo como una gran donación a la ciencia. Javier Rubén Marcuzzi De: Carlos Ortega Enviado: martes, 11 de octubre de 2016 14:21 Para: Javier Marcuzzi CC: Carlos J. Gil Bellosta; r-help-es Asunto: Re: [R-es] Alto rendimiento Hola, Son muchas cosas juntas... por separar: ? Las librerías de Microsoft. o ¿Te refieres a las que soporta su versión de R: "Open R"? o Están modificadas para que en Windows puedas utilizar fácilmente varios cores (varios hilos) utilizando una librería de Intel que se instala con la versión. o Si es la versión que está en la nube, que también hablaron de ello (Azure Machine Learning), ahí tienen sus algoritmos propietarios que puedes complementarlos con "R" y gran parte de las librerías que están en CRAN. ? En este caso, en lo que te ayuda estar en su cloud si quieres usar sólo la parte de "R" es en tener por debajo máquinas con mucha RAM. ? Lo de "sparklyr": o Si te montas varias máquinas en un clúster como dices e instalas Linux sobre el que pones Hadoop y Spark puedes con esta librería de RStudio trabajar en modo distribuido. ? El configurar un clúster de este tipo no es trivial....hay ejemplos comentado por ahí de cómo hacerlo en EC2 Amazon. o Puedes ejecutar procesos de machine learning en modo paralelo, pero solamente los que incluyen las librerías MLlib de Spark que no son todos los que hay disponibles en CRAN, no todos los algoritmos son paralelizables. Pero sí que se contemplan los de clúster, los glm, randomForest, gbm, survival, etc (http://spark.rstudio.com/mllib.html). También es capaz de distribuir trabajos sobre H2O, que también tiene básicamente las mismas librerías que las MLlib con el añadido de "deeplearning". o En este caso, escribes en lenguaje R (en concreto dplyr) y esta librería "traduce" a lenguaje que entiende Spark. Puedes como verás incluso lanzar igualmente sentencias SQL. Saludos, Carlos Ortega. www.qualityexcellence.es El 11 de octubre de 2016, 16:22, <javier.ruben.marcuzzi en gmail.com> escribió: Estimado Carlos Gil Bellosta ¿Cómo está usted? En estos lados de América del sur comienza la primavera, desde la ventana miro la parra contando las posibles uvas, siempre aparece un ave que se arrima a la ventana o incluso llegan hasta la computadora como si supiesen usarla. Ahora en R. En ese esquema un modelo lineal tendría que ir con mlib que es aportada por sparklyr, en ese caso tendría toda la capacidad de proceso, pero no en un ml tradicional como modelo <- lm (y ~ var1 + var2). En otras palabras http://spark.rstudio.com/mllib.html aporta beneficios, pero lo que está por fuera correría como el R de CRAN con un hilo del procesador. Los otros días vi el video de la charla, no me quedo claro si Microsoft optimiza las librerías de sus repositorios al compilarlas o solo las de su propiedad. Javier Rubén Marcuzzi De: Carlos J. Gil Bellosta Enviado: martes, 11 de octubre de 2016 10:59 Para: Javier Marcuzzi CC: r-help-es Asunto: Re: [R-es] Alto rendimiento Hola, ¿qué tal? Spark correría en tantos hilos como estuviese configurado a utilizar (con límite en los existentes). La promesa de sparklyr es que se trata de una mera interfaz que delega el procesamiento de datos en Spark. Spark paralelizaría (que de eso trata). Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El 11 de octubre de 2016, 15:55, <javier.ruben.marcuzzi en gmail.com> escribió: Estimados En el sitio de https://www.rstudio.com/ hay un aviso sobre http://spark.rstudio.com/index.html ( sparklyr ). Microsoft publico un artículo donde comparan el R Server que está dentro de SQL server (o por separado, depende un poco), o el Microsoft R, junto con algunas librerías que se pueden compilar y obtener lo mismo en Ubuntu. Supongamos que tengo el dinero como para comprar por ejemplo http://www.intel.la/content/www/xl/es/processors/xeon/xeon-processor-e7-family.html uno de estos procesadores con 36 núcleos. Supongamos que tengo aún más dinero y puedo comprar 4 computadoras y colocarlas de tal forma que puedan trabajar en conjunto. Ahora mi pregunta, spark (sparklyr) utiliza mis cuatro computadoras pero ¿un solo núcleo o los 36? (java usa solo un núcleo) La parte de Microsoft utiliza los 36 procesadores, pero las librerías que están en los repositorios de Microsoft (no las de CRAN) ¿están optimizadas para los 36 procesadores? O solo hay partes en spark como mlib o lo específico de R Microsoft optimizado, que puedan utilizar todos los núcleos y/o procesadores. Por ejemplo MCMCglmm ¿tiene beneficios en cualquiera de estas tecnologías o solo utiliza lo mismo que puede procesar en una portátil? O si compro los cuatro equipos con 36 núcleos, instalo la versión de Microsoft junto con sparklyr y: ¿tengo una capacidad de cálculo impresionante, o esa capacidad es solo en sectores de R siendo el resto procesado en forma tradicional? ¿Hay comentarios al respecto desde la experiencia de alguno del grupo? Javier Rubén Marcuzzi [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]