Cookies Policy
We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out More
Close
  • Menu
About

About

Nuno Machado is a post-doctoral researcher at the High-Assurance Software Laboratory (HASLab) of University of Minho and INESC TEC.

His current research focuses on designing scalable and resilient distributed systems for storing and analyzing massive amounts of data.  He also works/has interest on privacy-aware solutions for cloud computing and IoT.

 

Nuno got a Ph.D. in Computer Science and Engineering from Instituto Superior Técnico (University of Lisbon), under the supervision of Luís Rodrigues. He worked on automated debugging techniques for multithreaded applications that allow developers to deterministically replay concurrency bugs, as well as isolate their root cause.

 

In the summer of 2014, Nuno was an intern at Microsoft Research (Redmond), working with Brandon Lucia on concurrency debugging.

Interest
Topics
Details

Details

  • Name

    Nuno Almeida Machado
  • Cluster

    Computer Science
  • Role

    External Research Collaborator
  • Since

    13th July 2016
001
Publications

2018

CoopREP: Cooperative record and replay of concurrency bugs

Authors
Machado, N; Romano, P; Rodrigues, LET;

Publication
Softw. Test., Verif. Reliab.

Abstract

2018

Falcon: A Practical Log-Based Analysis Tool for Distributed Systems

Authors
Neves, F; Machado, N; Pereira, J;

Publication
48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2018, Luxembourg City, Luxembourg, June 25-28, 2018

Abstract
Programmers and support engineers typically rely on log data to narrow down the root cause of unexpected behaviors in dependable distributed systems. Unfortunately, the inherently distributed nature and complexity of such distributed executions often leads to multiple independent logs, scattered across different physical machines, with thousands or millions entries poorly correlated in terms of event causality. This renders log-based debugging a tedious, time-consuming, and potentially inconclusive task. We present Falcon, a tool aimed at making log-based analysis of distributed systems practical and effective. Falcon's modular architecture, designed as an extensible pipeline, allows it to seamlessly combine several distinct logging sources and generate a coherent space-time diagram of distributed executions. To preserve event causality, even in the presence of logs collected from independent unsynchronized machines, Falcon introduces a novel happens-before symbolic formulation and relies on an off-the-shelf constraint solver to obtain a coherent event schedule. Our case study with the popular distributed coordination service Apache Zookeeper shows that Falcon eases the log-based analysis of complex distributed protocols and is helpful in bridging the gap between protocol design and implementation. © 2018 IEEE.

2018

Totally Ordered Replication for Massive Scale Key-Value Stores

Authors
Ribeiro, J; Machado, N; Maia, F; Matos, M;

Publication
Distributed Applications and Interoperable Systems - 18th IFIP WG 6.1 International Conference, DAIS 2018, Held as Part of the 13th International Federated Conference on Distributed Computing Techniques, DisCoTec 2018, Madrid, Spain, June 18-21, 2018, Proceedings

Abstract

2017

CoopREP: Cooperative record and replay of concurrency bugs

Authors
Machado, N; Romano, P; Rodrigues, L;

Publication
Software Testing, Verification and Reliability

Abstract

2016

BUZZPSS: A Dependable and Adaptive Peer Sampling Service

Authors
Machado, N; Maia, F; Matos, M; Oliveira, R;

Publication
2016 SEVENTH LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE COMPUTING (LADC)

Abstract
A distributed system is often built on top of an overlay network. Overlay networks enable network topology transparency while, at the same time, can be designed to provide efficient data dissemination, load balancing, and even fault tolerance. They are constructed by defining logical links between nodes creating a node graph. In practice, this is materialized by a Peer Sampling Service (PSS) that provides references to other nodes to communicate with. Depending on the configuration of the PSS, the characteristics of the overlay can be adjusted to cope with application requirements and performance concerns. Unfortunately, overlay efficiency comes at the expense of dependability. To overcome this, one often deploys an application overlay focused on efficiency, along with a safety-net overlay to ensure dependability. However, this approach results in significant resource waste since safety-net overlays are seldom used. In this paper, we focus on safety-net overlay networks and propose an adaptable mechanism to minimize resource usage while maintaining dependability guarantees. In detail, we consider a random overlay network, known to be highly dependable, and propose BUZZPSS, a new Peer Sampling Service that is able to autonomously fine-tune its resource consumption usage according to the observed system stability. When the system is stable and connectivity is not at risk, BUZZPSS autonomously changes its behavior to save resources. Alongside, it is also able to detect system instability and act accordingly to guarantee that the overlay remains operational. Through an experimental evaluation, we show that BUZZPSS is able to autonomously adapt to the system stability levels, consuming up to 6x less resources than a static approach.