El jue., 12 may. 2016 a las 21:57, Francesc Alted (<fal...@gmail.com>) escribió:
> 2016-05-12 18:10 GMT+02:00 Chema Cortes <pych...@gmail.com>: > >> El jue., 12 may. 2016 a las 10:51, Javier Sangalo (<jjsang...@gmail.com>) >> escribió: >> >>> muchas gracias! >>> No tengo ningun problema en particular, tan solo que me hen hecho esa >>> pregunta y no estaba seguro de que responder jeje. >>> >> >> La diferencia entre trabajar con datos en memoria en lugar de en disco >> supone un factor multiplicativo de x200000. Con los nuevos discos SSD >> mejora bastante bajando a unos x10000. Vamos, que es muy recomendable tener >> todos los datos en memoria, aunque sea como matrices dispersas (sparse >> matrices), con el fin de operar más rápido sin pasar por disco. Tanto R >> como numpy tienen técnicas para optimizar el espacio ocupado en memoria. >> > > Supongo que estás citando números de latencia. Aunque la cifra para > discos duros es más o menos correcta, la que das para SSDs está bastante > desfasada. Actualmente puedes comprar SSDs SATA con latencias de entre 40 > y 100 us sin hacer un gran desenbolso. Teniendo en cuenta que las > latencias típicas de la RAM son de 0.1 us, la diferencia es ('solo') de > entre 500x y 1000x. Para los discos SSD de PCIe, las latencias son > bastante más bajas, y ya se pueden ver tarjetas a buen precio con latencias > de 2 y 10 us (e incluso de menos de 1 us, como las de > http://www.violin-memory.com/, aunque estas ya son *muy* caras). > > Respecto a las diferencias en ancho de banda las cosas van bastante más > ajustadas, y los discos SSD SATA que saturan el bus (~520 MB/s) son muy > habituales, mientras que los SSD PCIe pueden llegar hasta 2 GB/s. Compara > esto con la RAM que va entre 10 GB/s a 20 GB/s (en ordenadores modernos). > Añade compresión ultra-rápida para mejorar el ancho de banda de I/O y se ve > claro que estamos asistiendo a una verdadera revolución que cambiará (está > cambiando) la manera de guardar y efectuar cálculos con datos. > > Hablé justamente de esto en mi charla de PyData Madrid del mes pasado: > > https://speakerdeck.com/francescalted/new-computer-trends > > Francesc > Tienes toda la razón, me había quedado desfasado. Hasta ahora sólo consideraba los SSDs para acelerar los sistemas críticos (eg: sistemas oracles), pero con lo que dices ya empiezan a ser muy interesantes para realizar cálculos masivos. Incluso me puedo imaginar ya realizable un viejo deseo: que la persistencia de los datos se independice de la vida de la aplicación. O visto de otro modo, los datos no se mueven, se mueven las aplicaciones (pensando siempre en programación funcional). > > >> >> Pero no siempre es la mejor opción. A veces tu datos vienen como streams >> de datos desde algún servidor web o desde algún nodo de la base de datos. >> En estos casos, los tiempos invertidos en traerte los datos pueden ser >> mucho mayor que el que inviertes escribiendo/leyendo del disco local, con >> lo que puedes usar el disco como almacenamiento secundario para liberar >> RAM. Es en parte lo que hace Hadoop para poder procesar colecciones de >> datos enormes (aunque luego venga Spark y pulverize los tiempos de proceso >> cacheándolo todo en RAM). >> >> Una comparativa tecnológica e histórica de los tiempos de latencia: >> >> https://gist.github.com/jboner/2841832 >> http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html >> >> >> >>> >>> El 12 de mayo de 2016, 10:40, Kiko <kikocorre...@gmail.com> escribió: >>> >>>> >>>> El 12 de mayo de 2016, 10:23, Javier Sangalo <jjsang...@gmail.com> >>>> escribió: >>>> >>>>> Buenos días, >>>>> >>>>> Me surge una duda, R trabaja en memoria con el inconveniente que tiene >>>>> si no dispones de suficiente memoria ram, pero...y Python? trabaja de la >>>>> misma forma? >>>>> >>>>> >>>> Sí. R, Python y el resto del universo. Tendrás que encargarte de >>>> gestionar la memoria. Hay formas más o menos eficientes de hacerlo. Si >>>> describes un poco mejor tu problema relacionado con Python quizá te puedan >>>> ofrecer mejor ayuda. >>>> >>>> >>>>> Gracias! >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es@python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es@python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> -- >> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >> http://ch3m4.org/blog >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Francesc Alted > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/