¿Qué escritura es la correcta? Una mirada a los métodos de almacenamiento en caché de E / S

Autor: Laura McKinney
Fecha De Creación: 1 Abril 2021
Fecha De Actualización: 25 Junio 2024
Anonim
¿Qué escritura es la correcta? Una mirada a los métodos de almacenamiento en caché de E / S - Tecnología
¿Qué escritura es la correcta? Una mirada a los métodos de almacenamiento en caché de E / S - Tecnología

Contenido


Fuente: Kgtoh / Dreamstime.com

Para llevar:

La velocidad de una aplicación depende en gran medida de la velocidad de E / S de caché. Aquí comparamos diferentes métodos de E / S de caché.

El rendimiento de la aplicación se basa en la velocidad: velocidad para completar las solicitudes de lectura y escritura que sus aplicaciones exigen de su infraestructura. El almacenamiento es responsable de la velocidad de devolución de las solicitudes de E / S (entrada / salida), y el método elegido para confirmar las escrituras y entregar las lecturas tiene un profundo impacto en el rendimiento de la aplicación. Un método común en la industria actual es utilizar SSD para almacenar en caché el almacenamiento tradicional en disco giratorio, matrices híbridas o matrices totalmente flash. La mayoría de las soluciones de almacenamiento en caché tienen lecturas aceleradas para aplicaciones, pero la verdadera pregunta sigue siendo: "¿Qué escritura es la correcta?"


Veamos por qué la optimización de escritura afecta drásticamente el rendimiento de su aplicación. Escribir E / S implica que se trata de datos nuevos que no están escritos en su almacenamiento subyacente. En el almacenamiento SAN tradicional, por ejemplo, las escrituras se escriben directamente en el almacenamiento subyacente y luego se devuelven a la aplicación. Con aplicaciones que constantemente escriben datos nuevos, principalmente aplicaciones de bases de datos grandes (SQL, etc.), los discos giratorios tradicionales no pueden seguir el ritmo. El almacenamiento en caché en SSD se convirtió en una solución que permitió que las escrituras se escribieran localmente y se almacenaran en caché según la frecuencia de la demanda de la aplicación; sin embargo, existen varios métodos para la relación de la caché de escritura con el almacenamiento subyacente que causan una gran diferencia en el rendimiento.


Estas son las 3 formas de escritura de E / S:

  1. Write-Around (alrededor del caché)
  2. Escritura (a través del caché)
  3. Reescritura (desde el caché)

Los tres formularios tienen diferentes beneficios que se basan principalmente en el tipo de datos que se escriben: secuencial versus aleatorio. La E / S secuencial es la más optimizada por el disco subyacente (archivos o secuencias de video, por ejemplo), mientras que la caché optimiza las E / S aleatorias. La mayoría de los dispositivos de almacenamiento en caché no tienen la inteligencia dinámica para cambiar la forma de la tecnología de escritura en función del tipo de datos. Comprendamos la diferencia entre las tres formas de escritura de E / S.

Escritura

La escritura, también conocida como modo de almacenamiento en caché de solo lectura, es beneficiosa únicamente para liberar espacio para las lecturas en caché. La E / S entrante nunca llega al caché. Las E / S se escriben directamente en el almacenamiento permanente sin almacenar en caché ningún dato.

¿Cuál podría ser el beneficio de la memoria caché si no se usa? Ayuda a reducir la memoria caché que se inunda con E / S de escritura que no se volverá a leer posteriormente, pero tiene la desventaja de que una solicitud de lectura de datos recientemente escritos creará una "pérdida de memoria caché" y tendrá que leerse desde un almacenamiento masivo más lento y Experimentar una mayor latencia. Si su aplicación es transaccional, como la mayoría de las aplicaciones de misión crítica, la velocidad de la aplicación disminuirá y las colas de E / S crecerán. Esencialmente, el valor de este modo sería para casos de uso poco frecuente, ya que es lento, lento y no funciona.

Escriba por medio de

Este método se usa comúnmente en el almacenamiento en caché y las soluciones de almacenamiento híbrido en la actualidad. La escritura directa se conoce como modo de almacenamiento en caché de lectura, lo que significa que todos los datos se escriben en la memoria caché y el almacenamiento subyacente al mismo tiempo. La escritura SOLO se considera completa una vez que se ha escrito en su almacenamiento. Suena bastante seguro en realidad ... pero hay un inconveniente en la velocidad.

Aquí está el problema: cada operación de escritura se realiza dos veces, en el caché y luego en el almacenamiento permanente. Antes de que las aplicaciones puedan continuar, el almacenamiento permanente debe devolver la confirmación de E / S al caché y luego a las aplicaciones. Este método se implementa comúnmente para la capacidad de recuperación ante fallas y para evitar implementar una estrategia de conmutación por error o HA con caché porque los datos viven en ambas ubicaciones. Sin embargo, Write-Through incurre en latencia ya que la confirmación de E / S está determinada por la velocidad del almacenamiento permanente, que no coincide con las velocidades de la CPU y las redes. Solo es tan rápido como su componente más lento, y Write-Through puede criticar de manera crítica la velocidad de la aplicación.

Sin errores, sin estrés: su guía paso a paso para crear software que cambie su vida sin destruir su vida

No puede mejorar sus habilidades de programación cuando a nadie le importa la calidad del software.

Respóndeme

La reescritura mejora los resultados del sistema en términos de velocidad, porque el sistema no tiene que esperar a que las escrituras vayan al almacenamiento subyacente.

Cuando los datos se escriben, la reescritura los colocará en la memoria caché, "todo listo", y guardará los datos para escribirlos en el disco de almacenamiento más adelante.

Esto resuelve muchos de los problemas de latencia, porque el sistema no tiene que esperar esas escrituras profundas.

Con el soporte adecuado, la reescritura puede ser el mejor método para el almacenamiento en caché en varias etapas. Ayuda cuando el caché tiene grandes cantidades de memoria (es decir, memoria medida en terabytes, no en gigabytes) para manejar grandes volúmenes de actividad. Los sistemas sofisticados también necesitarán más de una unidad de estado sólido, lo que puede agregar costos. Es muy importante considerar escenarios como fallas de energía u otras situaciones en las que se pueden perder datos críticos. Pero con la "protección de caché" correcta, la reescritura realmente puede acelerar una arquitectura con pocos inconvenientes. Por ejemplo, los sistemas de reescritura pueden utilizar RAID o diseños redundantes para mantener los datos seguros.

Sistemas aún más elaborados ayudarán a que la memoria caché y la SAN o el disco de almacenamiento subyacente trabajen entre sí "según sea necesario", delegando las escrituras en el almacenamiento profundo o la memoria caché, dependiendo de la carga de trabajo del disco.

La filosofía de diseño de Write-Back es una que refleja la resolución de problemas que los sistemas avanzados de manejo de datos de hoy en día llevan a grandes tareas. Al crear una arquitectura más compleja y al usar una memoria caché de una manera compleja, la reescritura destruye los problemas de latencia y, aunque puede requerir más sobrecarga, permite un mejor crecimiento del sistema y menos dolores de crecimiento.