Persistent memory and orthogonal persistence : a persistent heap design and its implementation for the Java virtual machine / Mem?ria persistente e persist?ncia ortogonal : um projeto heap persistente e sua implementa??o para a m?quina virtual Java

Submitted by Caroline Xavier (caroline.xavier@pucrs.br) on 2017-07-03T15:03:25Z
No. of bitstreams: 1
TES_TACIANO_DRECKMANN_PEREZ_COMPLETO.pdf: 1779781 bytes, checksum: 2111ccea963be0eea76bdbb7d24321d9 (MD5) / Made available in DSpace on 2017-07-03T15:03:25Z (GMT). No. of bitstreams: 1
TES_TACIANO_DRECKMANN_PEREZ_COMPLETO.pdf: 1779781 bytes, checksum: 2111ccea963be0eea76bdbb7d24321d9 (MD5)
Previous issue date: 2017-05-03 / Sistemas computacionais da atualidade tradicionalmente separam mem?ria e armazenamento. Linguagens
de programa??o tipicamente refletem essa distin??o usando diferentes representa??es para
dados em mem?ria (ex. estruturas de dados, objetos) e armazenamento (ex. arquivos, bancos
de dados). A movimenta??o de dados entre esses dois n?veis e representa??es, bidirecionalmente,
compromete tanto a efici?ncia do programador quanto de execu??o dos programas. Tecnologias
recentes de memoria n?o-vol?til, tais como mem?ria de transi??o de fase, resistiva e magnetoresistiva,
possibilitam combinar mem?ria principal e armazenamento em uma ?nica entidade de mem?ria
persistente, abrindo caminho para abstra??es mais eficientes para lidar com persist?ncia de dados.
Essa tese de doutorado introduz uma abordagem de projeto para o ambiente de execu??o de
linguagens com ger?ncia autom?tica de mem?ria, baseado numa combina??o original de persist?ncia
ortogonal, programa??o para mem?ria persistente, persist?ncia por alcance, e transa??es com
atomicidade em caso de falha. Esta abordagem pode melhorar significativamente a produtividade do
programador e a efici?ncia de execu??o dos programas, uma vez que estruturas de dados em mem?ria
passam a ser persistentes de forma transparente, sem a necessidade de programar explicitamente o
armazenamento, e removendo a necessidade de cruzar fronteiras sem?nticas.
De forma a validar e demonstrar a abordagem proposta, esse trabalho tamb?m apresenta
JaphaVM, a primeira M?quina Virtual Java especificamente projetada para mem?ria persistente.
Resultados experimentais usando benchmarks e aplica??es reais demonstram que a JaphaVM, na
maioria dos casos, executa as mesmas opera??es cerca de uma a duas ordens de magnitude mais
rapidamente do que implementa??es equivalentes usando bancos de dados ou arquivos, e, ao mesmo
tempo, requer significativamente menos linhas de c?digo. / Current computer systems separate main memory from storage. Programming languages typically
reflect this distinction using different representations for data in memory (e.g. data structures,
objects) and storage (e.g. files, databases). Moving data back and forth between these different
layers and representations compromise both programming and execution efficiency. Recent nonvolatile
memory technologies, such as Phase-Change Memory, Resistive RAM, and Magnetoresistive
RAM make it possible to collapse main memory and storage into a single layer of persistent memory,
opening the way for simpler and more efficient programming abstractions for handling persistence.
This Ph.D. thesis introduces a design for the runtime environment for languages with automatic
memory management, based on an original combination of orthogonal persistence, persistent memory
programming, persistence by reachability, and lock-based failure-atomic transactions. Such design
can significantly increase programming and execution efficiency, as in-memory data structures are
transparently persistent, without the need for programmatic persistence handling, and removing the
need for crossing semantic boundaries.
In order to validate and demonstrate the proposed concepts, this work also presents JaphaVM,
the first Java Virtual Machine specifically designed for persistent memory. In experimental results
using benchmarks and real-world applications, JaphaVM in most cases executed the same operations
between one and two orders of magnitude faster than database- and file-based implementations,
while requiring significantly less lines of code.

Identiferoai:union.ndltd.org:IBICT/oai:tede2.pucrs.br:tede/7562
Date03 May 2017
CreatorsPerez, Taciano Dreckmann
ContributorsDe Rose, C?sar Augusto Fonticielha
PublisherPontif?cia Universidade Cat?lica do Rio Grande do Sul, Programa de P?s-Gradua??o em Ci?ncia da Computa??o, PUCRS, Brasil, Faculdade de Inform?tica
Source SetsIBICT Brazilian ETDs
LanguageEnglish
Detected LanguageEnglish
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis
Formatapplication/pdf
Sourcereponame:Biblioteca Digital de Teses e Dissertações da PUC_RS, instname:Pontifícia Universidade Católica do Rio Grande do Sul, instacron:PUC_RS
Rightsinfo:eu-repo/semantics/openAccess
Relation1974996533081274470, 600, 600, 600, -3008542510401149144, 3671711205811204509

Page generated in 0.0029 seconds