La mayoría de los sitios web modernos almacenan datos en bases de datos, y dado que las consultas de bases de datos son relativamente lentas, la mayoría de los sitios también mantienen los llamados servidores de caché, que enumeran los resultados de consultas comunes para un acceso más rápido. Un centro de datos para un servicio web importante como Googleo Facebook podría tener hasta 1,000 servidores dedicados solo al almacenamiento en caché.
Los servidores de caché generalmente usan memoria de acceso aleatorio RAM, que es rápida pero costosa y consume mucha energía. Esta semana, en la Conferencia Internacional sobre Bases de Datos Muy Grandes, los investigadores del Laboratorio de Ciencias de la Computación e Inteligencia Artificial CSAIL del MIT están presentandoun nuevo sistema para el almacenamiento en caché del centro de datos que utiliza memoria flash, el tipo de memoria utilizada en la mayoría de los teléfonos inteligentes.
Por gigabyte de memoria, el flash consume aproximadamente un 5 por ciento de energía que la RAM y cuesta aproximadamente una décima parte. También tiene aproximadamente 100 veces la densidad de almacenamiento, lo que significa que se pueden acumular más datos en un espacio más pequeño. Ademáspara costar menos y consumir menos energía, un sistema de almacenamiento en caché flash podría reducir drásticamente la cantidad de servidores de caché requeridos por un centro de datos.
El inconveniente de flashear es que es mucho más lento que RAM. "Ahí es donde entra la incredulidad", dice Arvind, profesor de Ingeniería de Ciencias Computacionales de Charles y Jennifer Johnson y autor principal del artículo de la conferencia. "La gente dice: 'Realmente? Puede hacer esto con memoria flash? 'El tiempo de acceso en flash es 10,000 veces más largo que en DRAM [RAM dinámica]. "
Pero lento, ya que es relativo a la DRAM, el acceso flash es aún mucho más rápido que las reacciones humanas a los nuevos estímulos sensoriales. Los usuarios no notarán la diferencia entre una solicitud que tarda .0002 segundos en procesarse, un viaje típico de ida y vueltatiempo a través de Internet, y uno que toma .0004 segundos porque involucra una consulta flash.
manteniendo el ritmo
La preocupación más importante es mantenerse al día con las solicitudes que inundan el centro de datos. El sistema de investigadores de CSAIL, denominado BlueCache, lo hace mediante la técnica informática común de "canalización". Antes de que un servidor de caché basado en flash devuelva el resultadode la primera consulta en llegar, puede comenzar a ejecutar las siguientes 10.000 consultas. La primera consulta puede tardar 200 microsegundos en procesarse, pero las respuestas a las siguientes surgirán a intervalos de .02 microsegundos.
Incluso utilizando la canalización, sin embargo, los investigadores de CSAIL tuvieron que implementar algunos trucos ingeniosos de ingeniería para hacer que el almacenamiento en caché flash sea competitivo con el almacenamiento en caché DRAM. En las pruebas, compararon BlueCache con lo que podría llamarse la implementación predeterminada de un servidor de caché basado en flash, quees simplemente un servidor de base de datos del centro de datos configurado para el almacenamiento en caché. Aunque es lento en comparación con la DRAM, el flash es mucho más rápido que los discos duros magnéticos, que prácticamente ha reemplazado en los centros de datos. BlueCache fue 4.2 veces más rápido que la implementación predeterminada.
Uniéndose a Arvind en el artículo están el primer autor Shuotao Xu y su compañero estudiante graduado del MIT en ingeniería eléctrica y ciencias de la computación Sang-Woo Jun; Ming Liu, quien era un estudiante graduado del MIT cuando se realizó el trabajo y ahora está en Microsoft Research;Sungjin Lee, profesor asistente de ciencias de la computación e ingeniería en el Instituto de Ciencia y Tecnología Daegu Gyeongbuk en Corea, quien trabajó en el proyecto como un postdoc en el laboratorio de Arvind; y Jamey Hicks, un arquitecto de software independiente y afiliado del MIT que ejecuta el software.consultoría tecnología acelerada
El primer truco de los investigadores es agregar una pequeña DRAM a cada caché de memoria flash BlueCache, unos pocos megabytes por millón de megabytes de memoria flash. La DRAM almacena una tabla que empareja una consulta de base de datos con la dirección de memoria flash del resultado de la consulta correspondienteEso no hace que las búsquedas de caché sean más rápidas, pero hace que la detección de errores de caché, la identificación de datos que aún no se importan en el caché, sea mucho más eficiente.
Esa pequeña cantidad de DRAM no compromete los ahorros de energía del sistema. De hecho, debido a todas sus eficiencias adicionales, BlueCache consume solo un 4 por ciento de energía como la implementación predeterminada.
Eficiencias de ingeniería
Normalmente, un sistema de caché solo tiene tres operaciones: leer un valor del caché, escribir un nuevo valor en el caché y eliminar un valor del caché. En lugar de confiar en el software para ejecutar estas operaciones, como lo hace la implementación predeterminada, Xu desarrolló un circuito de hardware de propósito especial para cada uno de ellos, aumentando la velocidad y disminuyendo el consumo de energía.
Dentro de un servidor BlueCache, la memoria flash está conectada al procesador central por un cable conocido como "bus", que, como cualquier conexión de datos, tiene una capacidad máxima. BlueCache acumula suficientes consultas para agotar esa capacidad antes de enviarlas amemoria, asegurando que el sistema siempre use el ancho de banda de comunicación de la manera más eficiente posible.
Con todas estas optimizaciones, BlueCache puede realizar operaciones de escritura tan eficientemente como un sistema basado en DRAM. Siempre que cada resultado de la consulta que está recuperando sea de al menos ocho kilobytes, también es tan eficiente en las operaciones de lectura.la memoria flash devuelve al menos ocho kilobytes de datos para cualquier solicitud, su eficiencia disminuye para resultados de consulta realmente pequeños.
BlueCache, como la mayoría de los sistemas de almacenamiento en caché de centros de datos, es un denominado almacén de valores clave o KV. En este caso, la clave es la consulta de la base de datos y el valor es la respuesta.
Fuente de la historia :
Materiales proporcionado por Instituto de Tecnología de Massachusetts . Nota: El contenido puede ser editado por estilo y longitud.
Cita esta página :