Snabbt, byte-adresserbar icke-flyktigt minne (NVM) omfattar både nära-DRAM latens och disk liknande uthållighet, vilket har genererat betydande intressen att revolutionera system programvara stack och programmeringsmodeller. Det är dock mindre förstådd hur NVM kan kombineras med hanterad körtid som Java virtuella maskin (JVM) för att underlätta persistenshantering. I detta dokument föreslås Espresso 1, en holistisk förlängning till Java och dess körtid, för att Java programmerare ska kunna utnyttja NVM för uthållighetshantering med hög prestanda. Espresso ger först en allmän ihållande hög design som kallas Persistent Java Heap (PJH) för att hantera ihållande data som normala Java objekt. Högen stärks sedan med en återvinningsmekanism för att ge kraschkonsistens för högmetadata. Espresso ger vidare en ny abstraktion kallad Persistent Java Object (PJO) för att ge en lättanvänd men säker beständig programmeringsmodell för programmerare att upprätthålla applikationsdata. Utvärderingen bekräftar att Espresso avsevärt överträffar toppmodernt NVM-stöd för Java (dvs. JPA och PCJ) samtidigt som det är kompatibelt med datastrukturer i befintliga Java-program. CCS-koncept • Hårdvara → Icke-flyktigt minne; • Programvara och dess teknik → Runtime miljöer; 1 Espresso kaffe innehåller fler icke-flyktiga kemikalier (såsom koffein);
Nyligen utökar Espresso REF Java och dess drifttid, vilket gör det möjligt för programmeraren att tillämpa NVM-persistens på sina tillämpningar.
Espresso: Brewing Java For More Non-Volatility with Non-volatile Memory
{'venue': "ASPLOS '18", 'journal': None, 'mag_field_of_study': ['Computer Science']}