Searcharxiv⌕ Search

arXiv subjects

João Leitão

Publications and source records attributed to João Leitão.

9 recordsLinked to original sources

EAMDrift: An interpretable self retrain model for time series

The use of machine learning for time series prediction has become increasingly popular across various industries thanks to the availability of time series data and advancements in machine learning algorithms. However, traditional methods for time series forecasting rely on pre-optimized models that are ill-equipped to handle unpredictable patterns in data. In this paper, we present EAMDrift, a novel method that combines forecasts from multiple individual predictors by weighting each prediction according to a performance metric. EAMDrift is designed to automatically adapt to out-of-distribution patterns in data and identify the most appropriate models to use at each moment through interpretable mechanisms, which include an automatic retraining process. Specifically, we encode different concepts with different models, each functioning as an observer of specific behaviors. The activation of the overall model then identifies which subset of the concept observers is identifying concepts in the data. This activation is interpretable and based on learned rules, allowing to study of input variables relations. Our study on real-world datasets shows that EAMDrift outperforms individual baseline models by 20% and achieves comparable accuracy results to non-interpretable ensemble models. These findings demonstrate the efficacy of EAMDrift for time-series prediction and highlight the importance of interpretability in machine learning models.

stat.ML↗

Studying the workload of a fully decentralized Web3 system: IPFS

Web3 aims at creating a decentralized platform that is competitive with modern cloud infrastructures that support today's Internet. However, Web3 is still limited, supporting only applications in the domains of content creation and sharing, decentralized financing, and decentralized communication. This is mainly due to the technologies supporting Web3: blockchain, IPFS, and libp2p, that although provide a good collection of tools to develop Web3 applications, are still limited in terms of design and performance. This motivates the need to better understand these technologies as to enable novel optimizations that can push Web3 to its full potential. Unfortunately, understanding the current behavior of a fully decentralized large-scale distributed system is a difficult task, as there is no centralized authority that has full knowledge of the system operation. To this end, in this paper we characterize the workload of IPFS, a key enabler of Web3. To achieve this, we have collected traces from accesses performed by users to one of the most popular IPFS gateways located in North America for a period of two weeks. Through the fine analysis of these traces, we gathered the amount of requests to the system, and found the providers of the requested content. With this data, we characterize both the popularity of requested and provided content, as well as their geo-location (by matching IP address with the MaxMind database). Our results show that most of the requests in IPFS are only to a few different content, that is provided by large portion of peers in the system. Furthermore, our analysis also shows that most requests are provided by the two largest portions of providers in the system, located in North America and Europe. With these insights, we conclude that the current IPFS architecture is sub-optimal and propose a research agenda for the future.

cs.DC↗

Babel: A Framework for Developing Performant and Dependable Distributed Protocols

Prototyping and implementing distributed algorithms, particularly those that address challenges related with fault-tolerance and dependability, is a time consuming task. This is, in part, due to the need of addressing low level aspects such as management of communication channels, controlling timeouts or periodic tasks, and dealing with concurrency issues. This has a significant impact for researchers that want to build prototypes for conducting experimental evaluation; practitioners that want to compare different design alternatives/solutions; and even for practical teaching activities on distributed algorithms courses. In this paper we present Babel, a novel framework to develop, implement, and execute distributed protocols and systems. Babel promotes an event driven programming and execution model that simplifies the task of translating typical specifications or descriptions of algorithms into performant prototypes, while allowing the programmer to focus on the relevant challenges of these algorithms by transparently handling time consuming low level aspects. Furthermore, Babel provides, and allows the definition of, networking components that can capture different network capabilities (e.g., P2P, Client/Server, phi-accrual Failure Detector), making the code mostly independent from the underlying communication aspects. Babel was built to be generic and can be used to implement a wide variety of different classes of distributed protocols. We conduct our experimental work with two relevant case studies, a Peer-to-Peer application and a State Machine Replication application, that show the generality and ease of use of Babel and present competitive performance when compared with significantly more complex implementations.

cs.DC↗

Geo-located data for better dynamic replication

An increasing number of mobile applications share location-dependent information, from collaborative applications and social networks to location-based games. For such applications, peer-to-peer architectures where mobile devices share information directly may grant lower latency and reduce server load. In this work, we propose a framework to support these applications, providing location-dependent replication. Data has an associated location and is replicated in the mobile devices that show interest and are close to that location. Our proposal combines peer-to-peer synchronisation among mobile devices and replication at edge servers. Our preliminary results are promising.

cs.DC↗

Lazy State Determination: More concurrency for contending linearizable transactions

The concurrency control algorithms in transactional systems limits concurrency to provide strong semantics, which leads to poor performance under high contention. As a consequence, many transactional systems eschew strong semantics to achieve acceptable performance. We show that by leveraging semantic information associated with the transactional programs to increase concurrency, it is possible to significantly improve performance while maintaining linearizability. To this end, we introduce the lazy state determination API to easily expose the semantics of application transactions to the database, and propose new optimistic and pessimistic concurrency control algorithms that leverage this information to safely increase concurrency in the presence of contention. Our evaluation shows that our approach can achieve up to 5x more throughput with 1.5c less latency than standard techniques in the popular TPC-C benchmark.

cs.DC↗

Towards Enabling Novel Edge-Enabled Applications

Edge computing has emerged as a distributed computing paradigm to overcome practical scalability limits of cloud computing. The main principle of edge computing is to leverage on computational resources outside of the cloud for performing computations closer to data sources, avoiding unnecessary data transfers to the cloud and enabling faster responses for clients. While this paradigm has been successfully employed to improve response times in some contexts, mostly by having clients perform pre-processing and/or filtering of data, or by leveraging on distributed caching infrastructures, we argue that the combination of edge and cloud computing has the potential to enable novel applications. However, to do so, some significant research challenges have to be tackled by the computer science community. In this paper, we discuss different edge resources and their potential use, motivated by envisioned use cases. We then discuss concrete research challenges that are in the critical path towards realizing our edge vision. We conclude by proposing a research agenda to allow the full exploitation of the potential for the emerging hybrid cloud/edge paradigm.

cs.DC↗

Efficient Synchronization of State-based CRDTs

To ensure high availability in large scale distributed systems, Conflict-free Replicated Data Types (CRDTs) relax consistency by allowing immediate query and update operations at the local replica, with no need for remote synchronization. State-based CRDTs synchronize replicas by periodically sending their full state to other replicas, which can become extremely costly as the CRDT state grows. Delta-based CRDTs address this problem by producing small incremental states (deltas) to be used in synchronization instead of the full state. However, current synchronisation algorithms for Delta-based CRDTs induce redundant wasteful delta propagation, performing worse than expected, and surprisingly, no better than State-based. In this paper we: 1) identify two sources of inefficiency in current synchronization algorithms for delta-based CRDTs; 2) bring the concept of join decomposition to state-based CRDTs; 3) exploit join decompositions to obtain optimal deltas and 4) improve the efficiency of synchronization algorithms; and finally, 5) evaluate the improved algorithms.

cs.DC↗

Time-Aware Publish/Subscribe for Networks of Mobile Devices

Smart mobile devices are increasingly ubiquitous and are the primary source of user-generated content, and current communication infrastructures are failing in keeping up with the rising demand for the avid sharing of such content. To alleviate this problem and fully harness the amount of resources currently available at the network edge, mobile edge paradigms started to emerge. Though, application developers still struggle to tap that potential at the edge due to the lack of adequate communication and interaction abstractions. Thus, we propose a high-level abstraction that can be easily exploited by developers to design mobile edge applications focused on data dissemination. In this paper, we propose Thyme, a novel extended topic-based, time-aware publish/subscribe system for networks of mobile devices. In Thyme, time is a rst order dimension. Each subscription has an associated time frame, starting and ending either in the future, present, or past. Making the past available requires both subscriptions and publications to be persistently stored. We present the design of Thyme and evaluate it using simulation, discussing and characterizing the scenarios best suited for its use.

cs.DC↗

Privacy-Preserving Content-Based Image Retrieval in the Cloud

Storage requirements for visual data have been increasing in recent years, following the emergence of many new highly interactive, multimedia services and applications for both personal and corporate use. This has been a key driving factor for the adoption of cloud-based data outsourcing solutions. However, outsourcing data storage to the Cloud also leads to new challenges that must be carefully addressed, especially regarding privacy. In this paper we propose a secure framework for outsourced privacy-preserving storage and retrieval in large image repositories. Our proposal is based on a novel cryptographic scheme, named IES-CBIR, specifically designed for media image data. Our solution enables both encrypted storage and querying using Content Based Image Retrieval (CBIR) while preserving privacy. We have built a prototype of the proposed framework, formally analyzed and proven its security properties, and experimentally evaluated its performance and precision. Our results show that IES-CBIR is provably secure, allows more efficient operations than existing proposals, both in terms of time and space complexity, and enables more realistic, interesting and practical application scenarios.

cs.CR↗