Muchos administradores de TI han escuchado acerca de los beneficios (baja potencia, alto ancho de banda de E/S, baja latencia) de agregar SSD a su sistema existente para mejorar la velocidad de E/S y el rendimiento de las aplicaciones. También han escuchado sobre algunos de los problemas asociados con la adición de SSD, como el alto costo, el desgaste del dispositivo y la interrupción de la organización de datos. Aún así, los SSD están aquí para quedarse y la lista de proveedores y productos crece cada día. La forma más fácil de aprovechar los beneficios de SSD es implementar SSD como caché. Sin embargo, incluso hacer algo que suena tan simple puede desperdiciar este valioso recurso. Introduzca el concepto de software de almacenamiento en caché SSD. El software de almacenamiento en caché SSD se utiliza para administrar sin problemas el flujo de datos al SSD para maximizar el retorno de la inversión de esta costosa tecnología.
Por Peter Velikin, vicepresidente de marketing en línea, velobit, inc.
Muchos administradores de TI han escuchado acerca de los beneficios (baja potencia, alto ancho de banda de E/S, baja latencia) de agregar SSD a su sistema existente para mejorar la velocidad de E/S y el rendimiento de las aplicaciones. También han escuchado sobre algunos de los problemas asociados con la adición de SSD, como el alto costo, el desgaste del dispositivo y la interrupción de la organización de datos. Aún así, los SSD están aquí para quedarse y la lista de proveedores y productos crece cada día. La forma más fácil de aprovechar los beneficios de SSD es implementar SSD como caché. Sin embargo, incluso hacer algo que suena tan simple puede desperdiciar este valioso recurso. Introduzca el concepto de software de almacenamiento en caché SSD. El software de almacenamiento en caché SSD se utiliza para administrar sin problemas el flujo de datos al SSD para maximizar el retorno de la inversión de esta costosa tecnología.
¿Por qué almacenar en caché los datos de la aplicación en primer lugar?
En pocas palabras, los cachés se utilizan para acelerar el acceso a los datos. Un caché es un componente que se coloca frente a un dispositivo principal para almacenar datos de manera transparente, de modo que las futuras solicitudes de datos se puedan atender más rápido. A medida que los datos pasan a través de un caché en su camino hacia o desde el dispositivo principal, algunos de los datos se almacenan de forma selectiva en el caché. Cuando una aplicación o proceso accede posteriormente a los datos almacenados en la memoria caché (un golpe de memoria caché), esa solicitud se puede atender más rápido desde la memoria caché que desde el dispositivo más lento. Cuantas más solicitudes se puedan atender desde la memoria caché, más rápido será el rendimiento general del sistema.
Existe una compensación en el costo y el rendimiento de la memoria caché. Los cachés más grandes producen una mayor tasa de aciertos de caché y, por lo tanto, un mejor rendimiento. Desafortunadamente, el hardware utilizado para la memoria caché suele ser más caro que el hardware utilizado para el dispositivo principal. El diseño de caché es una compensación entre tamaño y rendimiento.
¿Por qué usar SSD como caché?
Como se mencionó anteriormente, los SSD tienen varias características que los hacen ideales para usar como la solución de caché preferida. Los SSD tienen velocidades de E/S vertiginosas, que es el objetivo principal de almacenar datos en caché en primer lugar. El uso de SSD como dispositivos de almacenamiento principal es costoso y simplemente instalarlos en un sistema existente plantea desafíos porque la mayoría de las aplicaciones no se escribieron pensando en SSD. Se suponía que el software de almacenamiento en niveles resolvería problemas como este, pero terminó causando más dolores de cabeza y gastos. Entonces, si va a invertir en SSD, manténgalo simple e implemente SSD como caché.
¿Qué tiene de difícil usar SSD como caché?
Bueno, si llegaste tan lejos en el artículo, puedes manejar la verdad. Los SSD no son perfectos. Tienen problemas asociados con la física de la memoria flash utilizada para fabricarlos. Primero, los SSD tienen un rendimiento asimétrico de lectura/escritura. Las operaciones de lectura son mucho más rápidas que las operaciones de escritura. Por supuesto, debe escribir en ellos en algún momento, pero la escritura debe administrarse con cuidado. En segundo lugar, los SSD se desgastan. Hay un número limitado de ciclos de escritura en la SSD antes de que los chips de memoria flash tengan fallas en las celdas. Por lo tanto, escribir en el SSD debe administrarse con cuidado. En tercer lugar, los SSD exhiben un fenómeno llamado "amplificación de escritura", que básicamente significa que una sola escritura en SSD puede resultar en muchas reescrituras a medida que los datos se reorganizan en SSD para dar lugar a la nueva escritura. Esto ralentiza el rendimiento y acorta la vida útil de la SSD. Aquí vamos de nuevo: la escritura en el SSD debe administrarse con cuidado.
Cómo "gestionar cuidadosamente la escritura" en el SSD
La implementación de SSD como caché es buena. La escritura ilimitada en SSD es mala. ¿Qué se puede hacer con esto? Bueno, Business 101 ha proporcionado la respuesta: el desarrollo de la industria del software de almacenamiento en caché SSD. Las personas inteligentes vieron las ventajas de los SSD y descubrieron una manera de minimizar las desventajas mediante el desarrollo de software para (lo adivinó) administrar cuidadosamente la escritura de datos en los SSD. El software de almacenamiento en caché SSD tiene tres objetivos principales:
- Administre de manera transparente la memoria caché SSD para que no sea necesario modificar el software de la aplicación
- Determine qué datos son buenos candidatos para almacenar en SSD y qué datos deben enviarse al almacenamiento principal
- Minimice la escritura de datos en el SSD para reducir la amplificación de escritura
Tipos comunes de almacenamiento en caché SSD
Dado que el tamaño de la memoria caché SSD suele ser solo una fracción del conjunto de datos general, no todos los datos de la aplicación caben en la memoria caché. Un caché es más eficaz si contiene datos a los que es más probable acceder en el futuro. El objetivo del diseño del algoritmo de caché es "predecir" de alguna manera a qué datos se accederá para que un subconjunto óptimo de los datos se mantenga en caché. Cuanto mejor sea la capacidad de predecir el acceso futuro a los datos, mayor será la tasa de aciertos de caché y mejor será el rendimiento de la aplicación.
Tres tipos de algoritmos comunes de almacenamiento en caché de SSD son:
- Almacenamiento en caché de localidad temporal que almacena datos en función de la fecha de uso reciente
- Almacenamiento en caché de localidad espacial que almacena datos en función de su ubicación de almacenamiento físico
- Almacenamiento en caché de localidad de contenido que almacena bloques de datos que se usan y se hace referencia con más frecuencia
Algunos algoritmos de almacenamiento en caché son genéricos; Los nuevos algoritmos de almacenamiento en caché, como el almacenamiento en caché de localidad de contenido, están diseñados específicamente para SSD. Al seleccionar una solución de software de almacenamiento en caché SSD, debe investigar si el algoritmo de almacenamiento en caché es adecuado para el patrón de datos que se almacenarán en caché en SSD (de modo que pueda obtener tasas de aciertos de caché más altas y un mejor rendimiento) y si el software de almacenamiento en caché administra cuidadosamente las escrituras en SSD (para que obtenga un mejor rendimiento y confiabilidad de SSD). Y, por supuesto, compare el rendimiento de cada solución: está implementando SSD para aumentar el rendimiento; cuanto mejor sea la relación precio/rendimiento, mayor será el ROI.
Peter es vicepresidente de marketing en línea en velobit, inc., responsable de todo el marketing. Tiene 12 años de experiencia creando nuevos mercados y comercializando productos en múltiples industrias de alta tecnología. Antes de VeloBit, fue vicepresidente de marketing en Zmags, una plataforma de contenido digital basada en SaaS para comercio electrónico y dispositivos móviles, donde gestionó todos los aspectos de marketing, gestión de productos y desarrollo empresarial. Antes de eso, Peter fue director de estrategia de mercado y productos en PTC y en EMC Corporation, donde ocupó cargos en gestión de productos, desarrollo empresarial y gestión de programas de ingeniería. Peter tiene una Maestría en Ingeniería Eléctrica de la Universidad de Boston y una Maestría en Administración de Empresas de la Escuela de Negocios de Harvard.