Publications

Export 7 results:
Sort by: [ Author  (Asc)] Title Type Year
A B C D E F G H I J K L M N O P Q R [S] T U V W X Y Z   [Show ALL]
S
Saramago, J., D. Mourão, and H. Paulino, "Towards an Adaptable Middleware for Parallel Computing in Heterogeneous Environments", 2012 IEEE International Conference on Cluster Computing Workshops, CLUSTER Workshops 2012, Beijing, China, September 24-28, 2012: IEEE, pp. 143-151, 09, 2012. Abstract
n/a
Silva, J. A., T. Vale, R. Dias, H. Paulino, and J. M. Lourenço, "Supporting Multiple Data Replication Models in Distributed Transactional Memory", ICDCN 2015, Goa, India, ACM, 2015. Abstract

Distributed transactional memory (DTM) presents itself as a highly expressive and programmer friendly model for con- currency control in distributed programming. Current DTM systems make use of both data distribution and replication as a way of providing scalability and fault tolerance, but both techniques have advantages and drawbacks. As such, each one is suitable for different target applications, and deployment environments. In this paper we address the support of different data replication models in DTM. To that end we propose ReDstm, a modular and non-intrusive framework for DTM, that supports multiple data replication models in a general purpose programming language (Java). We show its application in the implementation of distributed software transactional memories with different replication models, and evaluate the framework via a set of well-known benchmarks, analysing the impact of the different replication models on memory usage and transaction throughput.

Silva, J. A., T. Vale, R. Dias, H. Paulino, and J. M. Lourenço, "Supporting Partial Data Replication in Distributed Transactional Memory", Joint Euro-TM/MEDIAN Workshop on Dependable Multicore and Transactional Memory Systems (DMTM), Vienna, Austria, Euro-TM, 2014. Abstract

Transactional memory (TM) is consistently making its way into mainstream programming, being already deployed by some of the major CPU manufacturers and in several reference compilers. To cope with requirements such as scalability and dependability, recent proposals explore the combination of TM with data replication, bringing TM to distributed environments - conceiving distributed transactional memory (DTM). However, current DTM frameworks support only full data replication. They provide the best possible level of tolerance to data loss, but limit the system's total storage capacity to the capacity of the node with fewer resources, and require coordination among all the system's nodes, an approach bound to hamper scalability in large scale systems. In this context, a partial data replication strategy can help to lessen these shortcomings. Each node replicates only a subset of the system's dataset, an approach that aims at combining the best of data distribution and full replication, while trying to attenuate their disadvantages. The key idea is to allow the dataset to be distributed among the participating nodes and to decrease the number of nodes that have to participate in a transaction's confirmation, as any given transaction only has to be confirmed by the nodes that replicate the data items in its read and write sets. By distributing the data and reducing the coordination cost among nodes, partial data replication leverages the system's scalability. Although this strategy has already been explored by the distributed databases research field, it is yet to be addressed in the context of (D)TM. More specifically, partial data replication has been broadly applied in key-value stores, and even though these work on in-memory data and support transactions, they present significant differences when compared with DTM systems for general purpose programming languages. To this extent, we propose PARdstm, to the best of our knowledge, the first DTM framework to include support for partial data replication. As such, the contributions of this work are: a reasoning on how partial data replication shall be supported in general purpose programming languages (Java, in particular), and a modular software framework that embeds such principles to provide a highly expressive and non-intrusive programming API. Initial experimental results give evidence that our approach may enhance scalability in large scale systems, when compared to full data replication. An ongoing comprehensive study will allow us to assess in which contexts of use (workloads, number of nodes, etc.) partial data replication may be an effective alternative.

Silva, J. A., J. Lourenço, and H. Paulino, "Boosting Locality in Multi-version Partial Data Replication", 29th Annual ACM Symposium on Applied Computing, SAC '15, Salamanca, Spain, ACM, In Press.
Silva, J. A., H. Paulino, and J. Lourenço, Crowdsourcing Mobile Devices to Provide Storage in Edge-Clouds, , 2015.
Silva, J., J. M. Lourenço, and H. Paulino, "Um Mecanismo de Caching para o Protocolo SCORe", INForum 2014 - 6º Simpósio de Informática, Porto, Portugal, Universidade do Porto, 5-6 August, 2014. Abstract

Os protocolos de replicação parcial de dados apresentam um grande potencial de escalabilidade. O SCORe é um protocolo para replicação parcial proposto recentemente que faz uso de controlo de concorrência multi-versão. Neste artigo abordamos um dos problemas principais que afeta o desempenho deste tipo de protocolos: a localidade dos dados, i.e., pode-se dar o caso do nó local não ter uma cópia dos dados a que pretende aceder, e nesse caso é necessário realizar uma ou mais operações de leitura remota. Assim, a não ser que se empreguem técnicas para melhorar a localidade no acesso aos dados, o número de operações de leitura remota aumenta com o tamanho do sistema, acabando por afetar o desempenho do mesmo. Nesse sentido, introduzimos um mecanismo de caching que permite replicar cópias de dados remotos de maneira a que seja possível servir localmente dados remotos enquanto que se mantém a consistência dos mesmos e a escalabilidade oferecida pelo protocolo. Avaliamos o mecanismo de caching com um benchmark conhecido da literatura e os resultados experimentais mostram resultados animadores com algum aumento no desempenho do sistema e uma redução considerável da quantidade de operações de leitura remota.

Soldado, F., F. Alexandre, and H. Paulino, "Towards the Transparent Execution of Compound OpenCL Computations in Multi-CPU/Multi-GPU Environments", Euro-Par 2014 International Workshops, Revised Selected Papers, Part I, Porto, Portugal, Springer, 25-29 August, 2014. Abstract

Currentcomputationalsystemsareheterogeneousbynature, featuring a combination of CPUs and GPUs. As the latter are becoming an established platform for high-performance computing, the focus is shifting towards the seamless programming of the heterogeneous systems as a whole. The distinct nature of the architectural and execution models in place raise several challenges, as the best hardware configuration is behavior and data-set dependent. In this paper, we focus the execution of compound computations in multi-CPU/multi-GPU environments, in the scope of Marrow algorithmic skeleton framework, the only, to the best of our knowledge, to support skeleton nesting in GPU computing. We address how these computations may be efficiently scheduled onto the target hardware, and how the system may adapt itself to changes in the CPU’s load and in the input data-set.