
Odorico Mendizabal- PhD
- Professor (Assistant) at Universidade Federal de Santa Catarina
Odorico Mendizabal
- PhD
- Professor (Assistant) at Universidade Federal de Santa Catarina
About
66
Publications
8,635
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
222
Citations
Introduction
Odorico Mendizabal currently works at the Department of Informatics and Statistics, Universidade Federal de Santa Catarina (UFSC). Odorico does research in Distributed Systems, Computer Reliability and Fault Tolerance.
Current institution
Additional affiliations
December 2018 - present
September 2010 - December 2018
March 2007 - September 2010
Publications
Publications (66)
Logs are a known abstraction used to develop dependable and secure distributed systems. By logging entries on a sequential global log, systems can synchronize updates over replicas and provide a consistent state recovery in the presence of faults. However, their usage incurs a non-negligible overhead on the application's performance. This paper pre...
Partitioning strategies combined with rebalancing algorithms can be used to balance the load in high-throughput systems. Keeping the load balanced constantly is desirable, but the cost of repartitioning can be high. This work presents a rebalancing strategy based on balanced graph partitioning algorithms with low impact during rebalancing operation...
Dependable systems usually rely on replication to provide resilience and availability. However, for long-lived systems, replication is not enough since given a sufficient amount of time, there might be more faulty replicas than the threshold tolerated in the system. In order to overcome this limitation, checkpoint and recovery techniques are used t...
Hadoop Distributed File System (HDFS) is known for its specialized strategies and policies tailored to enhance replica placement. This capability is critical for ensuring efficient and reliable access to data replicas, particularly as HDFS operates best when data are evenly distributed within the cluster. In this study, we conduct a thorough analys...
Estratégias de particionamento de estado combinadas com algoritmos de corte em grafos podem ser utilizados para balancear a carga em sistemas de alta vazão. Neste trabalho, propomos uma estratégia para a realização de reparticionamentos que evita a contenção do restante do sistema. A estratégia consiste na realização do particionamento de forma ass...
Estratégias de particionamento de estado combinadas com algoritmos de rebalanceamento podem ser utilizados para equilibrar a carga em sistemas de alta vazão. É desejável manter a carga equilibrada constantemente, mas o custo da execução de um particionamento pode ser alto. Neste trabalho, apresentamos implementações de técnicas baseadas em algoritm...
Na sociedade contemporânea a indisponibilidade de um serviço pode acarretar em vários prejuízos. Para assegurar a disponibilidade das aplicações, é possível replicá-las em múltiplos servidores dado dois enfoques diferentes, replicação passiva e Replicação de Máquina de Estados. Entretanto, devido aos desafios associados à implementação dessas duas...
À medida que novos dados são armazenados no HDFS, é comum que a distribuição das réplicas entre os nodos fique desequilibrada. O HDFS Balancer é a solução padrão para o balanceamento reativo no sistema de arquivos. No entanto, sua política de operação atual possui dependência manual e não considera as necessidades específicas das aplicações no clus...
This paper concisely reviews checkpointing techniques in distributed systems, focusing on various aspects such as coordinated and uncoordinated checkpointing, incremental checkpoints, fuzzy checkpoints, adaptive checkpoint intervals, and kernel-based and user-space checkpoints. The review highlights interesting points, outlines how each checkpoint...
O custos elevados para a aquisição e manutenção de infraestrutura para HPC tem sido alvo de preocupação por parte dos pesquisadores, de forma a buscarem alternativas como a de clusters compartilhados entre grupos de pesquisa, utilização de virtualização e o uso de contêineres. Desta forma, diante da criação de novos desafios enfrentados pelas equip...
O desenvolvimento de sistemas distribuídos implica em uma série de desafios, que vão desde a heterogeneidade de servidores que hospedam aplicações, passando por escalabilidade e segurança, indo até o tratamento de falhas. O presente trabalho tem como foco o último aspecto e, mais precisamente, a replicação para oferecer tolerância a falhas, mantend...
Protocolos de consenso distribuído são blocos de construção fundamentais para o desenvolvimento de sistemas distribuídos confiáveis. Eles auxiliam na elaboração de sistemas com alta disponibilidade e garantia de consistência forte, mesmo no caso de falhas em alguns participantes. O Paxos é o principal algoritmo de consenso das últimas décadas com d...
Logs are crucial to the development of dependable distributed applications. By logging entries on a sequential global log, systems can synchronize updates over distributed replicas and provide a consistent state recovery in the presence of faults. However, logs account for a significant overhead on fault-tolerant applications' performance, and many...
Integrated systems have incorporated a variety of functionalities within the same chip, requiring on-chip communication mainly based on the Network-on-Chip (NoC) design paradigm. Complex systems may impose strict requirements concerning performance, power and reliability. Thus, the choice of proper routing algorithms to the on-chip communication fo...
Logs são cruciais no desenvolvimento de aplicações distribuídas tolerantes a falhas. Este trabalho apresenta uma abordagem para acelerar a recuperação em protocolos de recuperação baseados em log. A abordagem explora a eliminação consciente de comandos de maneira pouco intrusiva à aplicação, resultando em arquivos de logs menores sem ferir a consis...
Modern systems make use of virtualization to build scalable and elastic applications. A major example is cloud computing, which has emerged in the last decades as a cost-effective paradigm for hosting and delivering services over the Internet. Cloud providers adopt server consolidation strategies to manage resources, reducing underutilized hosts. H...
As arquiteturas de microsserviço são cada vez mais adotadas na indústria e setor empresarial, pois oferecem alta escalabilidade, disponibilidade e velocidade de desenvolvimento. A literatura acadêmica propôs uma variedade de abordagens para automatizar o dimensionamento e alocação de recursos, recuperação de falhas, ajuste de parâmetros e muitas ou...
State Machine Replication (SMR) is a widely used approach for fault tolerance of important services. Support for SMR implementations on shared infrastructures has emerged, allowing wider adoption. However, there are still non-trivial aspects that developers have to handle to build and deploy their dependable services. In this paper, we tackle the n...
State Machine Replication is a widely used technique to providefault tolerance and strong consistency. In this approach, all commandsare executed sequentially throughout the replicas. Aimingto improve the system’s throughput, enhanced versions were proposed,where independent commands can be executed in parallel.One arising challenge, though, is how...
O desenvolvimento de programas paralelos visa aumentar o desempenho de aplicações, sem afetar a consistência dos dados acessados por múltiplas threads. Neste sentido, estruturas de dados capazes de garantir exclusão mútua no acesso aos seus elementos oferecem uma grande abstração quanto ao controle de concorrência em aplicações paralelas. O grau de...
Ao desenvolver um novo algoritmo de escalonamento de requisições para Replicação Máquina de Estados Paralela, é difícil mensurar seu grau de paralelismo sob diferentes cargas de trabalho e configurações, ou compará-lo com técnicas existentes. Neste trabalho é proposto um simulador que abstrai custos de uma implementação real, para que sejam analisa...
Protocolos de recuperação eficientes são importantes para aumentar a disponibilidade de sistemas replicados tolerantes a falhas. Neste trabalho é apresentado o projeto de um protocolo de recuperação que explora a eliminação consciente de comandos contidos em arquivos de log, utilizando-se de processos logger independentes e fracamente acoplados à a...
This paper presents an analysis of candidates to the National Entrance Exam for universities in Brazil, called ENEM. Besides evaluating the performance of high school students, the implementation of ENEM was aimed to increase the population’s access to higher education. By analyzing the information of ENEM candidates, we observe how the student’s p...
O uso de estruturas de dados capazes de garantir exclusão no acesso a seus elementos é visto como uma necessidade a desenvolvedores de aplicações multithread, devido a grande abstração quanto ao controle de concorrência. Este trabalho tem por objetivo mensurar o custo que estas diferentes implementações impactam no desempenho de aplicações com dife...
State Machine Replication is a well-known approach to develop fault-tolerant application. Although it seems conceptually simple, building replicated state machines is not a trivial task. The developer has to be acquainted with aspects of the inner working of the specific agreement protocol to correctly develop and deploy the replicated service (and...
Cloud computing has emerged as a cost-effective paradigm for hosting and delivering services. Cloud providers adopt server consolidation strategies to achieve efficient management of resources. A drawback is that applications running on the same host compete for physical resources. Such interference can affect the performance of applications. Perfo...
Este trabalho apresenta o desenvolvimento de um simulador de NoCs modelado como um sistema multiagente. Nocs melhoram a transmissão de mensagens em SoCs. Este simulador visa proporcionar ao usuário um ambiente com alto grau de abstração para simulação de uma NoC, permitindo definir o número de mensagens, pacotes e velocidade de transmissão entre os...
Virtual Networks (VNs) offer a flexible and economic approach to deploy customer suited networks. However, defining how resources of a physical network are used to support VNs requirements is a NP-hard problem. For this reason, heuristics have been used on mapping of virtual networks. Although heuristics do not ensure the optimal solution, they imp...
O monitoramento por meio de contadores de desempenho auxilia o aproveitamento eficiente de recursos computacionais. A observação de eventos ocorridos no sistema através desses mecanismos possibilita um entendimento detalhado de como diferentes cargas de trabalho impactam na utilização de recursos. Com isso, aplicações em desenvolvimento podem ser o...
State Machine Replication (SMR) is a well-known technique to implement fault-tolerant systems. In SMR, servers are replicated and client requests are deterministically executed in the same order by all replicas. To improve performance in multi-processor systems, some approaches have proposed to parallelize the execution of non-conflicting requests....
A Replicação Máquina de Estados (RME) é uma abordagem muito utilizada na implementação de sistemas tolerantes a falhas. Esta técnica consiste em replicar os servidores e fazer com que os mesmos executem deterministicamente, e na mesma ordem, o mesmo conjunto de requisições. Para isso, as requisições devem ser ordenadas e executadas sequencialmente...
State machine replication (SMR) is a well-established technique to fault-tolerant systems. In part, this is explained by the simplicity of the approach and its strong consistency guarantees. Recently, several proposals have suggested parallelizing the execution of state machine replicas to achieve high throughput. Concurrent execution of commands h...
State-machine replication is a popular approach to building fault-tolerant systems, which relies on the sequential execution of commands to guarantee strong consistency. Sequential execution, however, threatens performance. Recently, several proposals have suggested parallelizing the execution model of the replicas to enhance state-machine replicat...
Network virtualization has been proposed in the last years, and it received special attention from both networking and distributed systems communities. By offering a flexible and economic alternative for the deployment of customized networks, a wide set of applications becomes eligible to run on top of such infrastructures. However, specific applic...
Abstract. Database replication is a technique employed to enhance both performance and availability of database systems. The Deferred Update Replication (DUR) technique offers strong consistency (i.e. serializability) and uses an optimistic concurrency control with a lazy replication strategy relying on atomic
broadcast communication. Due to its go...
Virtual Networks (VNs) have attracted considerable attention in the last years since they offer a flexible and economic approach to deploy customer suited networks and run their applications. Such applications have different requirements, such as topology, security, resilience, and thus pose different challenges to the network embedding problem. In...
Proteins play a key role in cells' function and metabolism. Their functions are directly related with the three-dimensional (3D) native structure. Different algorithms have been proposed to predict the 3D protein structure from the amino acids sequence by minimizing its free energy, nonetheless, this problem still a great challenge in structural bi...
Virtual Networks (VN) offer a flexible and economic approach to deploy customer suited networks. However, defining how resources of a physical network are used to support VNs demands is a NP-hard problem. For this reason, heuristics have been proposed for providing satisfactory allocation of resources in an efficient way. This work presents a model...
This paper discusses the feasibility of using the framework Robot Operating System (ROS) as a basis for the development of a middleware in the Internet of Things (IoT) context. The main concepts regarding IoT and ROS are presented and followed by the evaluation criteria. Finally, case studies considering the ROS features and some common assumptions...
Recently, virtualization is becoming increasingly popular due to its wide adoption in cloud computing. This success stems from the fact that the infrastructure scales better and configuration and recovery tasks become simpler. Despite the benefits, the performance impact due to virtualization represents a major challenge for the establishment of ac...
Equipped with powerful resources and cheaper prices, mobile devices have achieved wide popularity, increasing the demand for mobile applications. However, developing such applications with the current programming language supports may need advanced programming skills. By dealing with distributed devices and shared data across wireless networks, a s...
Requirements engineering activities are a critical part of a project's lifecycle. Success of subsequent project phases is highly dependent on good requirements definition. However, eliciting and achieving consensus on priority between all stakeholders is a complex task. Considering software development of large scale global applications, the challe...
Atualmente departamentos de TI precisam adaptar-se às mudanças de negócio sem ocasionar custo excessivo ou complexo gerenciamento para as organizações. Porém, melhorias em infraestruturas convencionais e esforços para adaptar aplicações existentes podem não ser compatíveis a esta demanda. Buscando soluções inteligentes para atender estes requisitos...
Object-Based Graph Grammar (OBGG) is a formal visual language suited to the specification of asynchronous distributed systems based on message passing. Model-checking of OBGG models is currently supported and a series of case studies have been developed. However, in many situations one has to evaluate non-functional aspects like availability and pe...
The development of embedded technologies to support the construction of dependable applications in environments of uncertain synchrony, reliability or security, raises many challenges. In previous work we introduced a frame- work based on the concept of wormholes, and some techniques for adaptation and fail-safety to construct dependable applicatio...
In unreliable environments, e.g. wireless networks, often there are messages lost, connection and process crashes, among other undesirable fault occurrences.
Mechanisms to enhance the dependability of these systems can be employed, but with a performance cost. Analytical approaches
are useful to predict performance and dependability values, guiding...
Assuring the correctness of fault-tolerant distributed systems can be an overwhelming task. Besides dealing with complex problems
of distributed systems, it is also necessary to design the system in such a way that a well-defined failure behaviour, or
the masking of failure components, is presented by the system when components fail. To help reason...
This paper presents some computational modeling basis and also some modeling tools that will be available in ModelCiências, which is a portal for the project Semiquantitative and Quantitative Computational Modeling in Science Education of CNPqs Research and Post-graduation Southern Plan. The article presents, also, the characteristics of the cours...
The development of embedded technologies to support the construction of dependable applications in environ- ments of uncertain synchrony, reliability or security, raises many challenges. In previous work we introduced a frame- work based on the concept of wormholes, and some tech- niques for adaptation and fail-safety to construct depend- able appl...