Кое писмо е правилно? Поглед към методите за кеширане на I / O

Автор: Laura McKinney
Дата На Създаване: 1 Април 2021
Дата На Актуализиране: 25 Юни 2024
Anonim
Система линейных уравнений - методы решения
Видео: Система линейных уравнений - методы решения

Съдържание


Източник: Kgtoh / Dreamstime.com

За вкъщи:

Скоростта на приложенията до голяма степен зависи от скоростта на кеш-I / O. Тук сравняваме различни кеш-I / O методи.

Производителността на приложението се корени в бързина - попълване на заявките за четене и запис, които вашите приложения изискват от вашата инфраструктура. Съхранението е отговорно за скоростта на връщане на заявки за вход / изход (вход / изход), а избраният метод за извършване на запис и предаване на четенията има дълбоко влияние върху производителността на приложението. Често срещаният метод в днешната индустрия е да се използват SSD дискове за кеширане на традиционните въртящи се дискови хранилища, хибридни масиви или масиви с пълна светкавица. Повечето кеширащи решения ускоряват четенето на приложенията, но истинският въпрос остава: „Кое писане е правилно?“

Нека да разгледаме защо оптимизацията на писане влияе толкова драстично на приложението ви. Писането на I / O означава, че това са нови данни, които не са записани в базовото ви хранилище. Например в традиционното SAN хранилище, записите се записват директно в съхранението и след това се връщат в приложението. С приложения, които непрекъснато пишат нови данни, предимно големи бази данни (SQL и т.н.), традиционните въртящи се дискове не могат да продължат. Кеширането на SSD дискове се превърна в решение, което позволи записът да се пише локално и да се кешира въз основа на честотата на търсенето на приложението; Въпреки това, има няколко метода за връзка на кеша на запис с основното хранилище, които причиняват огромна разлика в производителността.


Това са 3-те форми на I / O писане:

  1. Write-Around (около кеша)
  2. Записване (през кеша)
  3. Обратно запис (от кеша)

И трите форми имат различни предимства, които се основават главно на вида на данните, които се пишат: последователни срещу случайни. Последователният I / O е най-оптимизиран от основния диск (файлове или видео потоци например), докато случайните I / O са оптимизирани от кеша. Повечето кеширащи уреди нямат динамичната интелигентност да променят формата на технологията за писане въз основа на типа данни. Нека разберем разликата между трите форми на писане на I / O.

Напиши отборно

Режимът на записване, известен също като кеширащ режим само за четене, е от полза само за освобождаване на място за кеширане на четенията. Входящият вход / изход никога не удря кеша. I / OS се записват директно в постоянно съхранение, без да се кешират никакви данни.

Каква евентуална полза от кеша, ако не се използва? Той помага да се намали кешът, наводнен с I / O за запис, който впоследствие няма да бъде препрочитан, но има недостатъка, че заявката за четене на наскоро записани данни ще създаде „пропускане на кеш“ и трябва да се чете от по-бавно съхранение в насипно състояние и изживейте по-висока латентност. Ако приложението ви е транзакционно, както повечето критични приложения за мисията, скоростта на приложението ще се забави и опашките за I / O ще растат. По същество стойността на този режим би била за редки случаи на употреба, тъй като е отнемаща време, бавно и не е ефективна.


Напиши-Through

Този метод често се използва в кеширането и хибридните решения за съхранение днес. Изписването е известно като кеширан режим на четене, което означава, че всички данни се записват в кеша и в съхранението в същото време. Записът е САМО считан за завършен, след като е бил записан във вашето хранилище. Звучи доста безопасно всъщност ... но има недостатък на скоростта.

Ето и проблема: Всяка операция по записване се извършва два пъти, в кеша и след това в постоянно съхранение. Преди да могат да продължат приложенията, постоянното съхранение трябва да върне I / O ангажимента обратно в кеша, а след това обратно към приложенията. Този метод обикновено се прилага за неустойчивост на отказ и за да се избегне прилагането на откази или HA стратегия с кеш, тъй като данните живеят на двете места. Въпреки това, Write-Through има закъснение, тъй като I / O ангажиментът се определя от скоростта на постоянното съхранение, която не съвпада за скоростите на процесора и мрежите. Вие сте само толкова бърз, колкото и най-бавният ви компонент, а Write-Through може критично да възпрепятства скоростта на приложение.

Без грешки, без стрес - Вашето стъпка по стъпка ръководство за създаване на софтуер, променящ живота, без да разрушава живота ви

Не можете да подобрите уменията си за програмиране, когато никой не се интересува от качеството на софтуера.

Пиша в отговор на писмо

Back-Back подобрява резултатите от системата по отношение на скоростта - тъй като не е необходимо системата да чака записването, за да отиде в основното хранилище.

Когато данните влязат да бъдат написани, Write-Back ще постави данните в кеша, „готово“ и ще запази данните за запис в диска за съхранение по-късно.

Това решава много проблеми със закъснението, защото не е необходимо системата да чака тези дълбоки записи.

С правилната поддръжка, Write-Back може да бъде най-добрият метод за многоетапно кеширане. Помага, когато кешът има големи количества памет (т.е. памет, измерена в терабайти, а не гигабайти), за да се справи с големи обеми от активност. Изисканите системи също ще се нуждаят от повече от едно твърдо състояние, което може да увеличи разходите. Важно е да се разгледат сценарии като прекъсване на захранването или други ситуации, при които критичните данни могат да бъдат загубени. Но с правилната „защита от кеш памет“, Write-Back наистина може да ускори архитектурата с няколко странични страни. Например системите за обратно записване могат да използват RAID или излишни дизайни, за да запазят данните.

Още по-сложните системи ще помогнат на кеша и на SAN или на основния диск за съхранение да работят помежду си като "според нуждите", делегирането пише в дълбокото съхранение или в кеша в зависимост от натовареността на диска.

Философията на дизайна на Write-Back е тази, която отразява решаването на проблеми, които съвременните съвременни системи за обработка на данни поставят пред големи задачи. Създавайки по-сложна архитектура и използва кеш по сложен начин, Write-Back унищожава проблемите със закъсненията и въпреки че може да изисква повече режийни разходи, позволява по-добър растеж на системата и по-малко нарастващи болки.