Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Sobre

Sobre

Nascido em Guimarães, Portugal, em 1992. Obteve o grau de Licenciado em Engenharia Informática na  Universidade do Minho. Na mesma instituição, seguiu os estudos para o grau de Mestre em Engenharia informática, com Sistemas Distribuídos e Engenharia de Aplicações como áreas de especialização

Durante o primeiro ano do Mestrado em Engenharia Informática, iniciou a sua atividade no HASLab, um centro de investigação integrado do INESC TEC, sediado na Universidade do Minho. Durante esta atividade, concluiu a tese de mestrado intitulada "Análise de desempenho e otimização do Apache HBase para dados relacionais", que consistiu na avaliação do desempenho de uma base de dados NoSQL para dados bem estruturados.

Atualmente, é aluno de doutoramento do Programa Doutoral em Ciências da Computação MAP-i. Os principais tópicos de interesse em investigação recaem sobre análise de desempenho e de escalabilidade.

Tópicos
de interesse
Detalhes

Detalhes

  • Nome

    Francisco Teixeira Neves
  • Cluster

    Informática
  • Cargo

    Investigador Colaborador Externo
  • Desde

    01 março 2014
Publicações

2021

Detailed Black-Box Monitoring of Distributed Systems

Autores
Neves, F; Vilaca, R; Pereira, J;

Publicação
APPLIED COMPUTING REVIEW

Abstract
Modern 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).

2021

Horus: Non-Intrusive Causal Analysis of Distributed Systems Logs

Autores
Neves, F; Machado, N; Vilaca, R; Pereira, J;

Publicação
51ST ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN 2021)

Abstract
Logs 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.

2021

CAT

Autores
Esteves, T; Neves, F; Oliveira, R; Paulo, J;

Publicação
Middleware '21: 22nd International Middleware Conference, Québec City, Canada, December 6 - 10, 2021

Abstract

2020

Black-box inter-application traffic monitoring for adaptive container placement

Autores
Neves, F; Vilaca, R; Pereira, J;

Publicação
PROCEEDINGS OF THE 35TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING (SAC'20)

Abstract

2019

Minha: Large-scale distributed systems testing made practical

Autores
Machado, N; Maia, F; Neves, F; Coelho, F; Pereira, J;

Publicação
23rd International Conference on Principles of Distributed Systems, OPODIS 2019, December 17-19, 2019, Neuchâtel, Switzerland.

Abstract
Testing large-scale distributed system software is still far from practical as the sheer scale needed and the inherent non-determinism make it very expensive to deploy and use realistically large environments, even with cloud computing and state-of-the-art automation. Moreover, observing global states without disturbing the system under test is itself difficult. This is particularly troubling as the gap between distributed algorithms and their implementations can easily introduce subtle bugs that are disclosed only with suitably large scale tests. We address this challenge with Minha, a framework that virtualizes multiple JVM instances in a single JVM, thus simulating a distributed environment where each host runs on a separate machine, accessing dedicated network and CPU resources. The key contributions are the ability to run off-the-shelf concurrent and distributed JVM bytecode programs while at the same time scaling up to thousands of virtual nodes; and enabling global observation within standard software testing frameworks. Our experiments with two distributed systems show the usefulness of Minha in disclosing errors, evaluating global properties, and in scaling tests orders of magnitude with the same hardware resources. © Nuno Machado, Francisco Maia, Francisco Neves, Fábio Coelho, and José Pereira; licensed under Creative Commons License CC-BY 23rd International Conference on Principles of Distributed Systems (OPODIS 2019).