Veel IT-managers hebben gehoord over de voordelen (laag stroomverbruik, hoge IO-bandbreedte, lage latentie) van het toevoegen van SSD's aan hun bestaande systeem om de IO-snelheid en applicatieprestaties te verbeteren. Ze hebben ook gehoord over enkele van de problemen die gepaard gaan met het toevoegen van SSD's, zoals hoge kosten, slijtage van apparaten en verstoring van de gegevensorganisatie. Toch zijn SSD's er om te blijven en wordt de lijst met leveranciers en producten elke dag groter. De gemakkelijkste manier om te profiteren van de SSD-voordelen is om SSD's als cache te gebruiken. Maar zelfs iets doen dat zo eenvoudig klinkt, kan deze waardevolle hulpbron verspillen. Betreed het concept van SSD-cachingsoftware. SSD-cachingsoftware wordt gebruikt om de gegevensstroom naar de SSD naadloos te beheren om de ROI van deze dure technologie te maximaliseren.
Door Peter Velikin VP Online Marketing, VeloBit, Inc.
Veel IT-managers hebben gehoord over de voordelen (laag stroomverbruik, hoge IO-bandbreedte, lage latentie) van het toevoegen van SSD's aan hun bestaande systeem om de IO-snelheid en applicatieprestaties te verbeteren. Ze hebben ook gehoord over enkele van de problemen die gepaard gaan met het toevoegen van SSD's, zoals hoge kosten, slijtage van apparaten en verstoring van de gegevensorganisatie. Toch zijn SSD's er om te blijven en wordt de lijst met leveranciers en producten elke dag groter. De gemakkelijkste manier om te profiteren van de SSD-voordelen is om SSD's als cache te gebruiken. Maar zelfs iets doen dat zo eenvoudig klinkt, kan deze waardevolle hulpbron verspillen. Betreed het concept van SSD-cachingsoftware. SSD-cachingsoftware wordt gebruikt om de gegevensstroom naar de SSD naadloos te beheren om de ROI van deze dure technologie te maximaliseren.
Waarom in de eerste plaats applicatiegegevens cachen?
Simpel gezegd, caches worden gebruikt om de toegang tot gegevens te versnellen. Een cache is een component die voor een primair apparaat wordt geplaatst om gegevens transparant op te slaan, zodat toekomstige gegevensverzoeken sneller kunnen worden afgehandeld. Terwijl gegevens een cache passeren op weg naar of van het primaire apparaat, wordt een deel van de gegevens selectief opgeslagen in de cache. Wanneer een applicatie of proces later toegang krijgt tot gegevens die in de cache zijn opgeslagen (een cachetreffer), kan dat verzoek sneller worden afgehandeld vanuit de cache dan vanaf het langzamere apparaat. Hoe meer verzoeken er vanuit de cache kunnen worden afgehandeld, hoe sneller de algehele systeemprestaties zijn.
Er is een wisselwerking tussen cachekosten en prestaties. Grotere caches leveren een hoger slagingspercentage van de cache op en dus betere prestaties. Helaas is de hardware die wordt gebruikt voor cache over het algemeen duurder dan de hardware die wordt gebruikt voor het primaire apparaat. Cache-ontwerp is een afweging tussen grootte en prestaties.
Waarom SSD's als cache gebruiken?
Zoals hierboven vermeld, hebben SSD's verschillende functies die ze ideaal maken voor gebruik als cache-oplossing bij uitstek. SSD's hebben razendsnelle IO-snelheden, wat in de eerste plaats het primaire doel is van het cachen van gegevens. Het gebruik van SSD's als primaire opslagapparaten is duur en het simpelweg installeren ervan in een bestaand systeem vormt een uitdaging omdat de meeste applicaties niet zijn geschreven met SSD in gedachten. Data tiering-software moest dit soort problemen oplossen, maar dat veroorzaakte uiteindelijk alleen maar meer hoofdpijn en kosten. Dus als je gaat investeren in SSD's, houd het dan simpel en zet SSD's in als cache.
Wat is er moeilijk aan het gebruik van SSD's als cache?
Nou, als je zo ver bent gekomen in het artikel, kun je de waarheid aan. SSD's zijn niet perfect. Ze hebben problemen die verband houden met de fysica van het flashgeheugen dat is gebruikt om ze te maken. Ten eerste hebben SSD's asymmetrische lees-/schrijfprestaties. Leesbewerkingen zijn veel sneller dan schrijfbewerkingen. Natuurlijk moet je er een keer in schrijven, maar het schrijven moet zorgvuldig worden beheerd. Ten tweede verslijten SSD's. Er is een beperkt aantal schrijfcycli naar de SSD voordat de flashgeheugenchips celstoringen vertonen. Het schrijven naar de SSD moet dus zorgvuldig worden beheerd. Ten derde vertonen SSD's een fenomeen dat "schrijfversterking" wordt genoemd, wat in feite betekent dat een enkele schrijfbewerking naar SSD kan resulteren in veel herschrijvingen, aangezien gegevens op SSD worden gereorganiseerd om plaats te maken voor de nieuwe schrijfbewerking. Dit vertraagt de prestaties en verkort de levensduur van de SSD. Daar gaan we weer: het schrijven naar de SSD moet zorgvuldig worden beheerd.
Hoe u het schrijven naar de SSD "zorgvuldig beheert".
Het inzetten van SSD's als cache is goed. Onbeperkt schrijven naar SSD's is slecht. Wat kan hieraan worden gedaan? Welnu, Business 101 heeft het antwoord gegeven: de ontwikkeling van de SSD-cachingsoftware-industrie. Slimme mensen zagen de voordelen van SSD's en bedachten een manier om de nadelen te minimaliseren door software te ontwikkelen om (je raadt het al) het schrijven van gegevens naar SSD's zorgvuldig te beheren. SSD-cachingsoftware heeft drie hoofddoelen:
- Beheer de SSD-cache transparant, zodat de toepassingssoftware niet hoeft te worden aangepast
- Bepaal welke gegevens een goede kandidaat zijn om op SSD's op te slaan en welke gegevens naar de primaire opslag moeten worden gestuurd
- Minimaliseer het schrijven van gegevens naar de SSD om schrijfversterking te verminderen
Veelvoorkomende soorten SSD-caching
Aangezien de grootte van een SSD-cache doorgaans slechts een fractie is van de totale dataset, passen niet alle applicatiegegevens in de cache. Een cache is het meest effectief als deze gegevens bevat waarvan de kans het grootst is dat ze in de toekomst zullen worden gebruikt. Het doel van het ontwerp van cache-algoritmen is om op de een of andere manier te "voorspellen" tot welke gegevens toegang zal worden verkregen, zodat een optimale subset van de gegevens in de cache wordt bewaard. Hoe beter de mogelijkheid om toekomstige gegevenstoegang te voorspellen, hoe hoger de hitfrequentie van de cache en hoe beter de prestaties van de applicatie.
Er zijn drie soorten algemene SSD-caching-algoritmen:
- Tijdelijke locatiecaching die gegevens opslaat op basis van hoe recent deze is gebruikt
- Spatial locality caching die gegevens opslaat op basis van de fysieke opslaglocatie
- Content locality caching die gegevensblokken opslaat die het vaakst worden gebruikt en waarnaar wordt verwezen
Sommige caching-algoritmen zijn generiek; nieuwe caching-algoritmen zoals content locality caching zijn speciaal ontworpen voor SSD. Bij het selecteren van een SSD-cachingsoftware-oplossing, moet u onderzoeken of het caching-algoritme geschikt is voor het gegevenspatroon dat op de SSD moet worden gecached (zodat u hogere cache-treffers en betere prestaties kunt krijgen) en of de caching-software zorgvuldig omgaat met het schrijven naar SSD (zodat u betere SSD-prestaties en betrouwbaarheid krijgt). En benchmark natuurlijk de prestaties van elke oplossing: u implementeert SSD om de prestaties te verbeteren; hoe beter de prijs/prestatie, hoe hoger de ROI.
Peter is Vice President Online Marketing bij VeloBit, Inc, verantwoordelijk voor alle marketing. Hij heeft 12 jaar ervaring met het creëren van nieuwe markten en het commercialiseren van producten in meerdere hightech industrieën. Voorafgaand aan VeloBit was hij VP Marketing bij Zmags, een SaaS-gebaseerd digitaal contentplatform voor e-commerce en mobiele apparaten, waar hij alle aspecten van marketing, productbeheer en bedrijfsontwikkeling beheerde. Daarvoor was Peter Director of Product and Market Strategy bij PTC en bij EMC Corporation, waar hij rollen vervulde in productmanagement, bedrijfsontwikkeling en engineeringprogrammamanagement. Peter heeft een MS in Electrical Engineering van de Boston University en een MBA van de Harvard Business School.