HASLab
Permanent URI for this community
This service produces reliable software systems in contexts where correctness, responsiveness, robustness and security are essential. It develops integrated research in three lines: formal methods for software development, reliable distributed systems and information security.
Browse
Browsing HASLab by Author "5602"
Results Per Page
Sort Options
-
ItemAdaptive database synchronization for an online analytical cioud-to-edge continuum( 2022) Costa,D ; José Orlando Pereira ; Ricardo Pereira Vilaça ; Faria,N ; 5635 ; 5602
-
ItemAIDA-DB: A Data Management Architecture for the Edge and Cloud Continuum( 2022) Faria,N ; Costa,D ; José Orlando Pereira ; Ricardo Pereira Vilaça ; Ferreira,L ; Fábio André Coelho ; 6059 ; 5635 ; 5602
-
ItemBDUS: implementing block devices in user space( 2021) José Orlando Pereira ; João Tiago Paulo ; Alberto Campinho Faria ; Ricardo Gonçalves Macedo ; 7204 ; 6941 ; 5621 ; 5602
-
ItemBlack-box inter-application traffic monitoring for adaptive container placement( 2020) Francisco Teixeira Neves ; Ricardo Pereira Vilaça ; José Orlando Pereira ; 6125 ; 5602 ; 5635
-
ItemDecentralized Privacy-Preserving Proximity Tracing( 2020) Binns,R ; Barrat,A ; Fiore,D ; Manuel Barbosa ; Rui Carlos Oliveira ; José Orlando Pereira ; Basin,DA ; Beutel,J ; Jackson,D ; Roeschlin,M ; Leu,P ; Preneel,B ; Smart,NP ; Abidin,A ; Gürses,SF ; Veale,M ; Cremers,C ; Backes,M ; Tippenhauer,NO ; Cattuto,C ; Troncoso,C ; Payer,M ; Hubaux,JP ; Salathé,M ; Larus,JR ; Bugnion,E ; Lueks,W ; Stadler,T ; Pyrgelis,A ; Antonioli,D ; Barman,L ; Chatel,S ; Paterson,KG ; Capkun,S ; 5602 ; 5604 ; 5594
-
ItemDetailed Black-Box Monitoring of Distributed Systems( 2021) Ricardo Pereira Vilaça ; 5602Modern containerized distributed systems, such as big data storage and processing stacks or micro-service based applications, are inherently hard to monitor and optimize, as resource usage does not directly match hardware resources due to multiple virtualization layers. For instance, inter-application traffic is an important factor in as it directly indicates how components interact, it has not been possible to accurately monitor it in an application independent way and without severe overhead, thus putting it out of reach of cloud platforms. In this paper we present an efficient black-box monitoring approach for gathering detailed structural information of collaborating processes in a distributed system that can be queried for various purposes, as it includes both information about processes, containers, and hosts, as well as resource usage and amount of data exchanged. The key to achieving high detail and low overhead without custom application instrumentation is to use a kernel-aided event driven strategy. We validate a prototype implementation by applying it to multi-platform microservice deployments, evaluate its performance with micro-benchmarks, and demonstrate its usefulness for container placement in a distributed data storage and processing stack (i.e., Cassandra and Spark).
-
ItemDistributed Applications and Interoperable Systems( 2019) Ricci,L ; José Orlando Pereira ; 5602
-
ItemAn Experimental Evaluation of Tools for Grading Concurrent Programming Exercises( 2023) José Orlando Pereira ; Paulo Sérgio Almeida ; Alcino Cunha ; 5602 ; 5607 ; 5612
-
ItemHorus: Non-Intrusive Causal Analysis of Distributed Systems Logs( 2021) Machado,N ; 6125Logs are still the primary resource for debugging distributed systems executions. Complexity and heterogeneity of modern distributed systems, however, make log analysis extremely challenging. First, due to the sheer amount of messages, in which the execution paths of distinct system components appear interleaved. Second, due to unsynchronized physical clocks, simply ordering the log messages by timestamp does not suffice to obtain a causal trace of the execution. To address these issues, we present Horus, a system that enables the refinement of distributed system logs in a causally-consistent and scalable fashion. Horus leverages kernel-level probing to capture events for tracking causality between application-level logs from multiple sources. The events are then encoded as a directed acyclic graph and stored in a graph database, thus allowing the use of rich query languages to reason about runtime behavior. Our case study with TrainTicket, a ticket booking application with 40 microservices, shows that Horus surpasses current widely-adopted log analysis systems in pinpointing the root cause of anomalies in distributed executions. Also, we show that Horus builds a causally-consistent log of a distributed execution with much higher performance (up to 3 orders of magnitude) and scalability than prior state-of-the-art solutions. Finally, we show that Horus' approach to query causality is up to 30 times faster than graph database built-in traversal algorithms.
-
ItemMRVs: Enforcing Numeric Invariants in Parallel Updates to Hotspots with Randomized Splitting( 2023) Nuno Filipe Faria ; José Orlando Pereira ; 8253 ; 5602Performance of transactional systems is degraded by update hotspots as conflicts lead to waiting and wasted work. This is particularly challenging in emerging large-scale database systems, as latency increases the probability of conflicts, state-of-the-art lock-based mitigations are not available, and most alternatives provide only weak consistency and cannot enforce lower bound invariants. We address this challenge with Multi-Record Values (MRVs), a technique that can be layered on existing database systems and that uses randomization to split and access numeric values in multiple records such that the probability of conflict can be made arbitrarily small. The only coordination needed is the underlying transactional system, meaning it retains existing isolation guarantees. The proposal is tested on five different systems ranging from DBx1000 (scale-up) to MySQL GR and a cloud-native NewSQL system (scale-out). The experiments explore design and configuration trade-offs and, with the TPC-C and STAMP Vacation benchmarks, demonstrate improved throughput and reduced abort rates when compared to alternatives.
-
ItemPADLL: Taming Metadata-intensive HPC Jobs Through Dynamic, Application-agnostic QoS Control( 2023) Ricardo Gonçalves Macedo ; José Orlando Pereira ; João Tiago Paulo ; 6941 ; 5602 ; 5621
-
ItemPAIO: General, Portable I/O Optimizations With Minor Application Modifications( 2022) Ricardo Gonçalves Macedo ; Tanimura,Y ; Haga,J ; Chidambaram,V ; José Orlando Pereira ; João Tiago Paulo ; 5621 ; 6941 ; 5602
-
ItemTaming Metadata-intensive HPC Jobs Through Dynamic, Application-agnostic QoS Control( 2023) Ricardo Gonçalves Macedo ; José Orlando Pereira ; 6941 ; 5602Modern I/O applications that run on HPC infrastructures are increasingly becoming read and metadata intensive. However, having multiple applications submitting large amounts of metadata operations can easily saturate the shared parallel file system's metadata resources, leading to overall performance degradation and I/O unfairness. We present PADLL, an application and file system agnostic storage middleware that enables QoS control of data and metadata workflows in HPC storage systems. It adopts ideas from Software-Defined Storage, building data plane stages that mediate and rate limit POSIX requests submitted to the shared file system, and a control plane that holistically coordinates how all I/O workflows are handled. We demonstrate its performance and feasibility under multiple QoS policies using synthetic benchmarks, real-world applications, and traces collected from a production file system. Results show that PADLL can enforce complex storage QoS policies over concurrent metadata-aggressive jobs, ensuring fairness and prioritization.
-
ItemTiQuE: Improving the Transactional Performance of Analytical Systems for True HybridWorkloads( 2023) Ana Nunes Alonso ; Ricardo Pereira Vilaça ; Nuno Filipe Faria ; José Orlando Pereira ; 5692 ; 5635 ; 8253 ; 5602Transactions have been a key issue in database management for a long time and there are a plethora of architectures and algorithms to support and implement them. The current state-of-the-art is focused on storage management and is tightly coupled with its design, leading, for instance, to the need for completely new engines to support new features such as Hybrid Transactional Analytical Processing (HTAP). We address this challenge with a proposal to implement transactional logic in a query language such as SQL. This means that our approach can be layered on existing analytical systems but that the retrieval of a transactional snapshot and the validation of update transactions runs in the server and can take advantage of advanced query execution capabilities of an optimizing query engine. We demonstrate our proposal, TiQuE, on MonetDB and obtain an average 500x improvement in transactional throughput while retaining good performance on analytical queries, making it competitive with the state-of-the-art HTAP systems.
-
ItemTotally-Ordered Prefix Parallel Snapshot Isolation( 2021) Nuno Filipe Faria ; José Orlando Pereira ; 5602 ; 8253Distributed data management systems have increasingly been using variants of Snapshot Isolation (SI) as their transactional isolation criteria as it combines strong ACID guarantees with non-blocking reads and scalability. However, most existing proposals are limited by the performance of update propagation and stability detection, in particular, when execution and storage are disaggregated. In this paper, we propose TOPSI, an approach providing a restricted form of Parallel Snapshot Isolation (PSI) that allows partially ordering recent transactions to avoid waiting for remote updates or using a stale snapshot. Moreover, it has the interesting property of making a prefix of history in all sites converge to a common total order. This allows versions to be represented by a single scalar timestamp for certification and storage in a shared store. We demonstrate the impact on throughput and abort rate with a proof-of-concept implementation and the industry-standard TPC-C benchmark. © 2021 ACM.
-
ItemTowards Generic Fine-Grained Transaction Isolation in Polystores( 2021) Nuno Filipe Faria ; José Orlando Pereira ; Ana Nunes Alonso ; Ricardo Pereira Vilaça ; 8253 ; 5692 ; 5635 ; 5602Transactional isolation is a challenge for polystores, as along with the limited capabilities of each datastore, we have to contend with their sheer diversity. However, transactional isolation is increasingly desirable as a variety of datastores are being sought after for roles that go beyond data lakes. Transactional guarantees are also relevant for reliability at scale. In this paper, we propose that transactional isolation in polystores can be achieved by leveraging the query engine, i.e., basing some of the responsibilities of a traditional transactional storage manager (TSM) on the query language itself. This has the key advantage of greatly simplifying design and implementation, as it doesn’t need to be re-invented for each datastore, and should increase performance, by taking advantage of dynamic query optimization where available. We demonstrate the feasibility of the proposal with a simple proof-of-concept and experiment. © 2021, Springer Nature Switzerland AG.
-
ItemTRUSTFS: An SGX-enabled Stackable File System Framework( 2019) João Tiago Paulo ; José Orlando Pereira ; Bernardo Luís Portela ; Ricardo Gonçalves Macedo ; Alberto Campinho Faria ; Tânia Conceição Araújo ; 5621 ; 5602 ; 6060 ; 6941 ; 7204 ; 7401Data confidentiality in cloud services is commonly ensured by encrypting information before uploading it. However, this approach limits the use of content-aware functionalities, such as deduplication and compression. Although this issue has been addressed individually for some of these functionalities, no unified framework for building secure storage systems exists that can leverage such operations over encrypted data. We present TRUSTFS, a programmable and modular stackable file system framework for implementing secure content-aware storage functionalities over hardware-assisted trusted execution environments. This framework extends the original SAFEFS architecture to provide the isolated execution guarantees of Intel SGX. We demonstrate its usability by implementing an SGX-enabled stackable file system prototype while a preliminary evaluation shows that it incurs reasonable performance overhead when compared to conventional storage systems. Finally, we highlight open research challenges that must be further pursued in order for TRUSTFS to be fully adequate for building production-ready secure storage solutions.