O($).

Un interesante artículo que muestra la importancia de la eficiencia en el uso de las infraestructuras que se ofrecen (alquilan) en modo cloud.

En el artículo hablan más concretamente sobre la importancia de la eficiencia (en uso de tiempo y espacio) de los algoritmos cuando se utiliza el cloud, de cara a minimizar los costes. Como cualquier programa informático en definitiva un algoritmo, la reflexión es extrapolable a cualquier uso del cloud.

Extracto:

Maybe you remember yourself taking that algorithms class and thinking: “Who really cares if that algorithm uses a bit more time? Can’t we just wait a little longer?”. Or “Ok, we can save some space here, but if it all fits into my RAM anyway then why bother?”.

So that time and space your professor was talking about – what does it have to do with your spending on the cloud services? The answer is surprisingly simple – if you need 100x more time and space then your billing increases 100 times

En el artículo enlazado acompañan este texto con una imagen muy clarificadora con tres presupuestos de cloud muy diferentes de un mismo proveedor (ese mismo sobre el que tanto hemos hablado en el blog desde hace dos años y que ha empezado el año con una caída en picado en bolsa; desconozco si más o menos que la media del mercado). Cuando tiempo, espacio y otros parámetros de complejidad computacional se traducen al lenguaje universal, el de la pela, todo se entiende mucho más rápidamente, por cualquiera (igual tenía que haber utilizado este lenguaje de cara a los examinadores en el último documento que les he presentado).

Por su interés la reproducimos (espero que el autor no tenga problemas al respecto; 100x etc… indica el número de máquinas idénticas que se utilizan en el cloud; no se exactamente de dónde sacan la cifra de 73000 etc…pero debe de ser una cosa intermedia entre 30×24 y 31×24, por el correspondiente multiplicador 100x etc…):

cloud-pricings (1)

Como se ve en algunos casos, más tiempo o espacio es más  coste. En otros casos, por ejemplo en

HFT (el enlace lo es a un artículo interesante sobre la importancia de las infraestructuras para esta actividad: Dans l’exemple de Spread Network, un investissement en fibre optique de 300 millions de dollars a été réalisé pour gagner 0,0000015 secondes par rapport à l’infrastructure précédente, principalement en allant « le plus droit possible » dans la montagne et sous les rivières afin de réduire la longueur du câble et accélérer la vitesse de transmission de l’information. L’image suivante, extraite de l’excellent article « Raging Bulls: How Wall Street Got Addicted to Light-Speed Trading » , montre la différence entre le câble datant des années 1980 et initialement mis en place pour la télécommunication (en rouge, passant Pittsburgh sur une distance d’environ 1000 miles) et le câble de Spread Network installé pour le trading haute-fréquence (en vert, sur une distance plus courte d’environ 825 miles) e incluso en aplicaciones dónde aparentemente el tiempo es menos importante, como el e-commerce, más tiempo, un segundo de más, puede suponer menos ingresos (quizás también -x100). Que se lo digan a Amazon. En definitiva lo barato lento sale caro. Y la lentitud (la eficiencia) no es lo único que puede mermar ventas. La eficacia (robusta) es muy importante también.

Nota. El lector pensará que, a diferencia de en HFT, en e-commerce hay un límite psicológico en la tendencia hacía mayor velocidad. A partir de una velocidad óptima, el comprador humano ya no percibiría la diferencia. Se equivoca,

al pensar sólo en un comprador humano. Al igual que un e-shop es básicamente, digamos, una red comercial automatizada, un robot que realiza operaciones comerciales, una máquina de fabricar pedidos, de la misma manera puede automatizarse el proceso de compra, en cuyo caso la velocidad será tan relevante en las diversas fases como lo es para el HFT. De hecho diría que no es complicado extender el concepto de arbitraje a este campo. Fin de nota.

Realmente las dos manifestaciones del mismo fenómeno pueden ser intercambiables (en muchos casos, modulo algoritmos inherentemente secuenciales, si es que existen): las soluciones lentas que reducen ingresos del segundo tipo de casos,  se pueden acelerar metiendo más máquinas idénticas (paralelización), lo cual nos lleva a las soluciones caras del primer caso.

Relacionado: ¿ Cuanto paralelismo (físico) incorpora un servidor en el hardware ?. En este artículo nos explican la diferencia entre procesador, núcleo (core) e hilo (thread). Y ojo, no se debe confundir el paralelismo físico con el virtual, que ya es software. Un comentario clarificador al respecto: Basically, hyperthreading uses very fined-grained time (single cycle) and space (each issue slot [of 6 in the Sandy Bridge microarchitecture of Xeon E5-2620] could be used by either thread) slicing controlled by hardware to support multiple threads while software virtualization (like Virtual Box) uses coarser-grained time (perhaps every millisecond, which would be 2M cycles) slicing only. A guest OS can then distribute the time slices that it is given to application threads (or use part or all of any slice for OS work). 

La virtualización tiene como poco un coste temporal, pero también tiene sus ventajas.

P.s. El título es un chascarrillo que sólo entenderán los iniciados…

Terms and conditions: 1. Any commenter of this blog agrees to transfer the copy right of his comments to the blogger. 2. RSS readers and / or aggregators that captures the content of this blog (posts or comments) are forbidden. These actions will be subject to the DMCA notice-and-takedown rules and will be legally pursued by the proprietor of the blog.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: