• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • 1
  • Tagged with
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Architectural support for high-performing hardware transactional memory systems

Lupon Navazo, Marc 23 December 2011 (has links)
Parallel programming presents an efficient solution to exploit future multicore processors. Unfortunately, traditional programming models depend on programmer’s skills for synchronizing concurrent threads, which makes the development of parallel software a hard and errorprone task. In addition to this, current synchronization techniques serialize the execution of those critical sections that conflict in shared memory and thus limit the scalability of multithreaded applications. Transactional Memory (TM) has emerged as a promising programming model that solves the trade-off between high performance and ease of use. In TM, the system is in charge of scheduling transactions (atomic blocks of instructions) and guaranteeing that they are executed in isolation, which simplifies writing parallel code and, at the same time, enables high concurrency when atomic regions access different data. Among all forms of TM environments, Hardware TM (HTM) systems is the only one that offers fast execution at the cost of adding dedicated logic in the processor. Existing HTMsystems suffer considerable delays when they execute complex transactional workloads, especially when they deal with large and contending transactions because they lack adaptability. Furthermore, most HTM implementations are ad hoc and require cumbersome hardware structures to be effective, which complicates the feasibility of the design. This thesis makes several contributions in the design and analysis of low-cost HTMsystems that yield good performance for any kind of TM program. Our first contribution, FASTM, introduces a novel mechanism to elegantly manage speculative (and already validated) versions of transactional data by slightly modifying on-chip memory engine. This approach permits fast recovery when a transaction that fits in private caches is discarded. At the same time, it keeps non-speculative values in software, which allows in-place x memory updates. Thus, FASTM is not hurt from capacity issues nor slows down when it has to undo transactional modifications. Our second contribution includes two different HTM systems that integrate deferred resolution of conflicts in a conventional multicore processor, which reduces the complexity of the system with respect to previous proposals. The first one, FUSETM, combines different-mode transactions under a unified infrastructure to gracefully handle resource overflow. As a result, FUSETM brings fast transactional computation without requiring additional hardware nor extra communication at the end of speculative execution. The second one, SPECTM, introduces a two-level data versioning mechanism to resolve conflicts in a speculative fashion even in the case of overflow. Our third and last contribution presents a couple of truly flexible HTM systems that can dynamically adapt their underlying mechanisms according to the characteristics of the program. DYNTM records statistics of previously executed transactions to select the best-suited strategy each time a new instance of a transaction starts. SWAPTM takes a different approach: it tracks information of the current transactional instance to change its priority level at runtime. Both alternatives obtain great performance over existing proposals that employ fixed transactional policies, especially in applications with phase changes.
2

[en] SUPPORT FOR ARCHITECTURAL EVOLUTION IN COMPONENT-BASED DISTRIBUTED SYSTEMS / [pt] SUPORTE À EVOLUÇÃO ARQUITETURAL DE SISTEMAS DISTRIBUÍDOS BASEADOS EM COMPONENTES DE SOFTWARE

AIRTON JOSE ARAUJO LIBORIO 13 January 2015 (has links)
[pt] A natureza de certos sistemas de software determina que estes tenham de executar de maneira ininterrupta. Por outro lado, diversos sistemas de software são constantemente sujeitos a mudanças, por questões que incluem, mas não se limitam a, infraestrutura, correções de falhas, adição de funcionalidades e mudanças na lógica de domínio. Evolução dinâmica de software consiste em alterar aplicações durante a sua execução sem interrompê-las, mantendo-as disponíveis mesmo durante a aplicação destas modificações. Sistemas distribuídos baseados em componentes permitem decompor o software em entidades claramente separadas. Nesses casos, a evolução pode ser resumida a remoção, adição e modificação de tais entidades, e se tais atividades podem ser exercidas enquanto a aplicação está em execução, tem-se evolução dinâmica de software. Através disso, neste trabalho foi criada uma abordagem em que é possível se manipular arquiteturas distribuídas desenvolvidas sobre o middleware SCS de maneira a se minimizar a interrupção de partes do sistema enquanto certas adaptações são implantadas. Aplicamos o mecanismo em um sistema distribuído já consolidado, o CAS, que consiste em uma infraestrutura de gravação extensível com suporte a captura e acesso automáticos de mídias distribuídas. / [en] The nature of some software systems determine that they run without interruption. Furthermore, many software systems are constantly subject to change for reasons that include, but are not limited to, infrastructure changes, bug fixes, addition of functionalities, and changes in the domain logic. Dynamic software evolution consists into changing application during execution without stopping them, keeping them available even when applying these modifications. Component-based distributed systems allows decomposing software into clearly separated entities. In such cases, evolution can be summarized to removal, addition and modification of such entities, and if such activities can be performed while the application is executing, dynamic adaptation is achieved. In this work, we ve investigated an approach that aims to allow manipulation of distributed software architectures developed over the SCS middleware, in order to minimize system disruption while certain adaptations are deployed. The mechanism was tested in an already consolidated distributed system, the CAS, which consists of an extensible recording infrastructure that supports automatic capture and access of distributed medias.

Page generated in 0.0366 seconds