Spelling suggestions: "subject:"orthogonal persistence"" "subject:"orthogonal fersistence""
1 |
An Experimental Study of the Performance, Energy, and Programming Effort Trade-offs of Android Persistence FrameworksPu, Jing 16 August 2016 (has links)
One of the fundamental building blocks of a mobile application is the ability to persist program data between different invocations. Referred to as persistence, this functionality is commonly implemented by means of persistence frameworks. When choosing a particular framework, Android-the most popular mobile platform-offers a wide variety of options to developers. Unfortunately, the energy, performance, and programming effort trade-offs of these frameworks are poorly understood, leaving the Android developer in the dark trying to select the most appropriate option for their applications.
To address this problem, this thesis reports on the results of the first systematic study of six Android persistence frameworks (i.e., ActiveAndroid, greenDAO, OrmLite, Sugar ORM, Android SQLite, and Realm Java) in their application to and performance with popular benchmarks, such as DaCapo. Having measured and analyzed the energy, performance, and programming effort trade-offs for each framework, we present a set of practical guidelines for the developer to choose between Android persistence frameworks. Our findings can also help the framework developers to optimize their products to meet the desired design objectives. / Master of Science
|
2 |
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 JavaPerez, Taciano Dreckmann 03 May 2017 (has links)
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.
|
3 |
DJ: Bridging Java and Deductive DatabasesHall, Andrew Brian 07 July 2008 (has links)
Modern society is intrinsically dependent on the ability to manage data effectively. While relational databases have been the industry standard for the past quarter century, recent growth in data volumes and complexity requires novel data management solutions. These trends revitalized the interest in deductive databases and highlighted the need for column-oriented data storage. However, programming technologies for enterprise computing were designed for the relational data management model (i.e., row-oriented data storage). Therefore, developers cannot easily incorporate emerging data management solutions into enterprise systems.
To address the problem above, this thesis presents Deductive Java (DJ), a system that enables enterprise programmers to use a column oriented deductive database in their Java applications. DJ does so without requiring that the programmer become proficient in deductive databases and their non-standardized, vendor-specific APIs. The design of DJ incorporates three novel features: (1) tailoring orthogonal persistence technology to the needs of a deductive database with column-oriented storage; (2) using Java interfaces as a primary mapping construct, thereby simplifying method call interception; (3) providing facilities to deploy light-weight business rules.
DJ was developed in partnership with LogicBlox Inc., an Atlanta based technology startup. / Master of Science
|
4 |
Coping with evolution in information systems: a database perspectiveLawrence, Gregory 25 August 2009 (has links)
Business organisations today are faced with the complex problem of dealing with
evolution in their software information systems. This effectively concerns the
accommodation and facilitation of change, in terms of both changing user
requirements and changing technological requirements. An approach that uses the
software development life-cycle as a vehicle to study the problem of evolution is
adopted. This involves the stages of requirements analysis, system specification,
design, implementation, and finally operation and maintenance. The problem of
evolution is one requiring proactive as well as reactive solutions for any given
application domain. Measuring evolvability in conceptual models and the
specification of changing requirements are considered. However, even "best designs"
are limited in dealing with unanticipated evolution, and require implementation phase
paradigms that can facilitate an evolution correctly (semantic integrity), efficiently
(minimal disruption of services) and consistently (all affected parts are consistent
following the change). These are also discussed / Computing / M. Sc. (Information Systems)
|
5 |
Coping with evolution in information systems: a database perspectiveLawrence, Gregory 25 August 2009 (has links)
Business organisations today are faced with the complex problem of dealing with
evolution in their software information systems. This effectively concerns the
accommodation and facilitation of change, in terms of both changing user
requirements and changing technological requirements. An approach that uses the
software development life-cycle as a vehicle to study the problem of evolution is
adopted. This involves the stages of requirements analysis, system specification,
design, implementation, and finally operation and maintenance. The problem of
evolution is one requiring proactive as well as reactive solutions for any given
application domain. Measuring evolvability in conceptual models and the
specification of changing requirements are considered. However, even "best designs"
are limited in dealing with unanticipated evolution, and require implementation phase
paradigms that can facilitate an evolution correctly (semantic integrity), efficiently
(minimal disruption of services) and consistently (all affected parts are consistent
following the change). These are also discussed / Computing / M. Sc. (Information Systems)
|
Page generated in 0.0555 seconds