Experter på datorarkitektur förväntar sig att icke-flyktiga minne (NVM) hierarkier kommer att spela en mer betydande roll i framtida system inklusive mobil, företag och HPC arkitekturer. Med denna förväntan i åtanke presenterar vi NVL-C 1 : ett nytt programmeringssystem som underlättar effektiv och korrekt programmering av NVM:s huvudminnessystem. Den NVL-C programmering abstraktion utökar C med en liten uppsättning intuitiva språkfunktioner som riktar NVM huvudminne, och kan kombineras direkt med traditionella C-minne modell funktioner för DRAM. Vi har utformat dessa nya funktioner för att möjliggöra kompilatoranalyser och run-time kontroller som kan förbättra prestanda och skydda mot ett antal subtila programmeringsfel, som, när de lämnas okorrigerade, kan korrumpera NVM-lagrade data. Dessutom innehåller dessa NVL-C-funktioner ett flexibelt direktiv för att specificera NVM-transaktioner för att möjliggöra insamling av data över program- eller systemfel. För att vårt genomförande ska kunna utvidgas till andra kompilatorers frontändar och språk genomförs majoriteten av våra kompilatoranalyser i en utökad version av LLVM:s mellanliggande representation (LLVM IR). Vi utvärderar NVL-C på ett antal applikationer för att visa dess flexibilitet, prestanda och korrekthet.
NVL-C REF inför flexibla direktiv och kontroller av körtid som skyddar mot fel som korrumperade data består av.
NVL-C: Static Analysis Techniques for Efficient, Correct Programming of Non-Volatile Main Memory Systems
{'venue': "HPDC '16", 'journal': None, 'mag_field_of_study': ['Computer Science']}