Query Cost Model Calibration in Confidential Virtual Machines
Dit artikel behandelt de prestatieafname van analytische queries in Confidential Virtual Machines door een mismatch tussen hardware en software in query-optimizers te identificeren en een lichtgewicht, CVM-bewuste kostenkalibratie voor te stellen die de prestatiekloof met niet-versleutelde omgevingen aanzienlijk verkleint, waarbij tot 48% van het verloren prestatievermogen wordt hersteld.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een zeer beveiligde, hoogtechnologische kluis hebt (een Confidential Virtual Machine, of CVM) waar je je meest gevoelige gegevens bewaart. Deze kluis is zo ontworpen dat zelfs de gebouwbeheerder (de cloudprovider) niet naar binnen kan gluren. Er is echter een addertje onder het gras: dingen in en uit deze kluis krijgen is langzamer en ingewikkelder dan ze uit een gewone, onbeveiligde kamer (een standaard KVM) halen.
Het probleem is niet alleen dat de kluis traag is; het is dat de beheerder (de Query Optimizer van de database) dit niet beseft.
Het Probleem: Een Kaart voor het Verkeerde Terrein
Denk aan de databasebeheerder als een GPS-navigatiesysteem.
- De Oude Kaart (KVM): Jarenlang heeft de GPS een kaart gebruikt die ontworpen is voor open snelwegen. Het gaat ervan uit dat rijden met een auto (het verplaatsen van data) snel is en dat het controleren van je locatie (geheugentoegang) direct gebeurt.
- Het Nieuwe Terrein (CVM): Nu rijdt de auto door een bergachtig, versleuteld tunnelsysteem. Elke keer als de auto een bocht neemt, moet hij stoppen en een speciale ID-kaart laten zien (RMP-controle), en elke keer als er lading wordt verplaatst, moet deze worden uitgepakt, door een bevelege luchtsluis worden verplaatst en weer worden ingepakt (dataverplaatsing/bounce buffers).
Omdat de GPS nog steeds de "open snelweg"-kaart gebruikt, blijft hij de snelst uitziende routes voorstellen. Maar in de bergtunnel zijn die "snelle" routes juist de langzaamste, omdat ze veel ID-controles of veel handelingen met de lading vereisen. De database kiest hierdoor uiteindelijk het verkeerde plan, wat het hele systeem traag maakt.
De Oplossing: De GPS Herkalibreren
De auteurs van dit artikel hebben niet geprobeerd de bergtunnel te herbouwen of een snellere auto uit te vinden. In plaats daarvan hebben ze de GPS hergekalibreerd.
Ze hebben een nieuw, lichtgewicht "kostenmodel" gemaakt dat de databasebeheerder vertelt: "Hé, in deze beveiligde kluis is het duur om in één keer een enorme hoeveelheid data te verplaatsen, en willekeurig rondspringen (zoals het opzoeken van specifieke items in een lijst) is zelfs nog duurder vanwege de ID-controles."
Ze hebben twee eenvoudige "boetes" toegevoegd aan de berekeningen van de beheerder:
- De "Doos Verplaatsen"-boete: Als een plan vereist om een enorme stapel data te verplaatsen (zoals een Hash Join), weet de beheerder nu dat dit extra "luchtsluis"-stappen zal triggeren en voegt een tijdskost toe aan dat plan.
- De "ID-Check"-boete: Als een plan vereist om willekeurig rond te springen om data te vinden (zoals een Index Scan of Nested Loop), weet de beheerder dat dit veel "ID-kaart"-controles (RMP-controles) zal triggeren en voegt een tijdskost toe aan dat plan.
De Resultaten: De Echt Snelle Rijstrook Vinden
Door de GPS te updaten met deze nieuwe regels, begon de databasebeheerder andere routes te kiezen. In plaats van de "snelle snelweg"-route te kiezen die in de tunnel een file bleek te zijn, koos hij voor iets langere routes die in de beveiligde omgeving eigenlijk soepeler liepen.
Wat gebeurde er?
- Snellere Queries: In hun tests maakte deze eenvoudige aanpassing queries tot wel 48% sneller in de beveiligde kluis.
- De Onbeveiligde Kamer Verslaan: In sommige gevallen was de geoptimaliseerde beveiligde kluis zelfs sneller dan de standaard, onbeveiligde kamer! Dit klinkt tegenstrijdig, maar dit gebeurde omdat de standaard kamer een "slecht plan" gebruikte (gebaseerd op de oude kaart), terwijl de beveiligde kluis een "slim plan" gebruikte (gebaseerd op de nieuwe, nauwkeurige kaart).
In een Notendop
Dit artikel laat zien dat je geen volledig nieuw ontwerp nodig hebt voor beveiligde computersystemen om ze snel te maken. Je hoeft alleen maar de besluitvormer van de database (de optimizer) te leren dat de verkeersregels zijn veranderd. Door het enkele eenvoudige, realistische "kosten" te geven voor het verplaatsen van data en het controleren van ID's in een beveiligde omgeving, vindt het systeem automatisch betere manieren om te werken, waardoor de prestatiekloof tussen beveiligde en standaard computing wordt gedicht.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.