With the rapid growth in data volume, workloads from various domains have undergone drastic changes in recent years. Today, streaming workloads are commonplace. This generates the need for systems and algorithms that can receive and process streams of data with high throughput. Various graph applications are shifting away from the static graph model and incorporating a dynamic model, where updates to the graph can be received. In a dynamic setting, solutions to algorithms need to be updated alongside the graph. However, re-processing the whole graph every time can be infeasible given the size of current graphs. This raises a series of questions regarding how to process dynamic graph algorithms in a reasonable amount of time. In this paper, we explore the existing methods in the literature used to achieve scalable dynamic graph processing. We define different aspects and abstractions used for dynamic graph processing and categorize all approaches on the basis of their scalability.
Community detection is a common graph workload used in various domains. With the rapid increase in volumes of data, a lot of research has been done on accelerating different community detection algorithms through parallelization. However, the vast majority of such works focus on static graph structures. In recent years, dynamic graphs have been gaining a lot of attention, since various applications require the ability to change their data and execute new analytics. Most of the work on dynamic community detection has been done on sequential modularity-based approaches. In this paper, we present a Map Equation-based approach to dynamic community detection. The Map Equation is used by the Infomap algorithm and achieves better community structures on static graphs compared to modularity. We design our approach to be easy to parallelize, increasing its applicability to real-world graphs. We show that a parallel implementation of our approach can be faster than modularity-based implementations and as fast as parallel naive ones, with a minimal impact on accuracy, providing a positive impact in the efficiency and efficacy of dynamic graph workflows.
Cloud computing has several benefits over traditional systems, such as scalability and high availability. However, these benefits, to be eventuated, require efforts in the area of resource provisioning and scaling, to match resources to current and future demand, and this is not always trivial to achieve. Since workload may fluctuate substantially in cloud environments, over-provisioning is a common practice to avoid abrupt quality of service (QoS) drops that may result in service level agreement (SLA) violations, but at the price of increased provisioning costs and energy consumption. Workload prediction is one of the strategies by which efficiency and operational cost of a clouds can be improved. Therefore, in this paper, we show the potential benefits of a proactive resource provisioning scheme augmented by three of the most promising machine learning prediction techniques in this context, namely ARIMA, MLP, and GRU, that are known to be able to cope with the dynamic behavior of our target applications. We analyze the trade-off between resource consumption and quality of service using SLA violations in web workloads, considering real case provisioning requirements and constraints, extensively simulating and analyzing the impact of prediction and scaling intervals, and publishing all used tools and datasets to allow reproducibility. Simulation experiments with a proactive approach are executed using real traces from NASA and Wikipedia workloads and achieved a reduction of 40
As high-performance computing (HPC) becomes a tool used in many different workflows, quality of service (QoS) becomes increasingly important. In many cases, this includes the reliable execution of an HPC job and the generation of the results by a certain deadline. The resource and job management system (RJMS) or simply RMS is responsible for receiving the job requests and executing the jobs with a deadline-oriented policy to support the workflows. In this article, we evaluate how well static resource management policies cope with deadline-constrained HPC jobs and explore two variations of a dynamic policy in this context. As the Hilbert curve-based approach used by the SLURM workload manager represents the state-of-the-art in production environments, it was selected as one of the static allocation strategies. The Manhattan median approach as a second allocation strategy was introduced as a research work that aims to minimize the communication overhead of the parallel programs by providing compact partitions more than the Hilbert curve approach. In contrast to the static partitions provided by the Hilbert curve approach and the Manhattan median approach, the leak approach focuses on supporting dynamic runtime behavior of the jobs and assigning nodes of the HPC system on demand at runtime. Since the contiguous leak version also relies on a compact set of nodes, the noncontiguous leak can provide additional nodes at a greater distance from the nodes already used by the job. Our preliminary results clearly show that a dynamic policy is needed to meet the requirements of a modern deadline-oriented RMS scenario.
Identifying Community structures is a fundamental problem in graph analysis. To detect communities in massive contemporary graphs, researchers have extensively explored shared- and distributed-memory parallel algorithms for several methods including Louvain Modularity Optimization and Label Propagation. The widely used Infomap algorithm based on Map Equation Framework (MEF) is known to provide better quality results than other approaches. However, research on parallel community detection using MEF or Infomap is extremely sparse when compared to other methods. We present a comprehensive characterization of Infomap and some of its known parallel implementations to facilitate research into parallel algorithms based on MEF. Most implementations take simple parallelization approaches, leaving strategies used to parallelize similar algorithms such as Louvain untouched. We highlight the scalability limitations of current implementations and implement and eval-uate optimizations for MEF based parallel community detection that achieved up to 119% improvement on the overall speedup across the tested datasets.
Cloud computing has become increasingly popular among organizations. As a result, security has become a major concern in the adoption of cloud computing environments. To ensure confidentiality and prevent data leakage, organizations have adopted various security measures, including sophisticated authentication methods and strong cryptography algorithms. However, implementing these measures generates additional overhead that could impact resource consumption and performance at user level. This paper proposes a modular architecture for a full-stack confidentiality cloud and a model to estimate implementation costs for each component that can be used as a blueprint to implement the needed confidentiality in a particular cloud scenario and estimate the resulting overhead. It contributes to the literature by enabling cloud administrators and users to leverage confidentiality based on their security needs and budget. Preliminary experiments show that our cost model achieves a high level of accuracy, up to 95%.
In the last decade, cloud computing transformed the IT industry, allowing companies to execute many services that require on-demand availability of computational resources with more flexible provisioning and cost models, including the processing of already growing data volumes. In the past few years, other technologies such as internet of things and Industry 4.0 emerged increasing data generation even more. The large amounts of data from user devices and machinery drive academia and industry to explore edge computing as an alternative. This study presents a preliminary mapping of the edge computing field, focusing on its boundaries to the internet of things and Industry 4.0. We analysed 219 studies from different academic databases, and after the classification process, we mapped 90 into 8 distinct edge computing sub-areas and 9 categories. We highlight key challenges and research gaps this field faces, considering the internet of things and Industry 4.0 demands.
As High Performance Computing (HPC) becomes a tool used in many different workflows, Quality of Service (QoS) becomes increasingly important. In many cases, this includes the reliable execution of an HPC job and the generation of the results by a certain deadline. The Resource and Job Management System (RJMS or simply RMS) is responsible for receiving the job requests and executing the jobs with a deadline-oriented policy to support the workflows. In this paper, we evaluate how well static resource management policies cope with deadline constrained HPC jobs, and explore two variations of a dynamic policy in this context. Our preliminary results clearly show that a dynamic policy is needed to meet the requirements of a modern deadline-oriented RMS scenario.
In the past decade, Cloud Computing revolutionized the Information Technology industry by enabling cost-effective high computational power for various services. However, the emergence of technologies like the Internet of Things and Industry 4.0 has created a demand for new methods of data processing due to the vast amounts of data generated by user devices and manufacturing industries. Edge Computing has emerged as a promising solution to address these challenges by reducing centralized processing. However, scalability is still one of the biggest challenges faced by the Internet of Things area. It is crucial, to know forehand the limits and how much stress an application can take. In order to get those numbers, companies have to spend large amounts of money on proof of concepts to test their solutions directly in a real environment. This paper introduces an innovative and adaptable emulation tool designed specifically for evaluating the scalability of Edge Computing architectures in Internet of Things scenarios. Our tool enables the design, experimentation, and testing of edge environments, facilitating the generation of accurate metrics for billing estimates, optimizing traffic control, and simulating delays. To validate the effectiveness of our tool, we present a case study in the field of smart agriculture, where the emulation tool successfully reproduces a vineyard use case and evaluates the scalability of the system.
Large-scale container datacenters host tens of thousands of diverse container-wrapped applications each day improving resource usage and maintenance costs. However, resource contention-related interference between co-located applications can severely degrade performance, affecting the quality of service at the user level and compromising experience. Understanding the sources of noise that generates this interference and better managing how to consolidate applications to physical hosts can significantly improve resource usage and overall performance reducing costs for providers and users. This paper presents IntP-an open-source system-level monitoring tool, which analyses selected architectural counters and operating systems data structures to estimate the stress an application puts on each hardware's subsystem and consequently infer the potential interference it could generate in other applications hosted in the same physical machine. Different from state-of-the-art tools that apply a more high-level approach using micro benchmarks and application metrics, IntPs low level instrumentation enables a more accurate prediction of the performance degradation that results from contention on shared resources, with less monitoring overhead. This information can be used to optimize scheduling strategies, which will make datacenter more resource-efficient and cost-effective. To show examples on how to use this tool and validate its results we present three cases studies that applied IntP in their interference-aware methodologies to improve resource utilization in distributed architectures that were able to achieve an increase up to 35% in resource efficiency and up to 25% in user level performance.
Extreme scale graph analytics is imperative for several real-world Big Data applications with the underlying graph structure containing millions or billions of vertices and edges. Since such huge graphs cannot fit into the memory of a single computer, distributed processing of the graph is required. Several frameworks have been developed for performing graph processing on distributed systems. The frameworks focus primarily on choosing the right computation model and the partitioning scheme under the assumption that such design choices will automatically reduce the communication overheads. For any computational model and partitioning scheme, communication schemes - the data to be communicated and the virtual interconnection network among the nodes - have significant impact on the performance. To analyze this impact, in this work, we identify widely used communication schemes and estimate their performance. Analyzing the trade-offs between the number of compute nodes and communication costs of various schemes on a distributed platform by brute force experimentation can be prohibitively expensive. Thus, our performance estimation models provide an economic way to perform the analyses given the partitions and the communication scheme as input. We validate our model on a local HPC cluster as well as the cloud hosted NSF Chameleon cluster. Using our estimates as well as the actual measurements, we compare the communication schemes and provide conditions under which one scheme should be preferred over the others.
Cloud computing allows several applications to share physical resources, yielding rapid provisioning and improving hardware utilization. However, multiple applications contending for shared resources are susceptible to interference, which might lead to significant performance degradation and consequently an increase in Service Level Agreements violations. In previous work, we started to analyze resource contention and its impact on performance degradation and hardware utilization. Then, we created an interference-aware application classifier based on machine learning techniques and evaluated it comparing two classification strategies: (i) unique, when a single classification is performed over the entire applications’ execution; and (ii) segmented, when the classification is carried out over multiple static-defined intervals. Moving towards a dynamic scheduling solution, we combine and improve on previous work findings and, in this work, we present IADA, a full-fledged dynamic interference-aware cloud scheduling architecture for latency-sensitive workloads. Our approach consists in improving on a segmented interference classification of applications to a dynamic classification scheme based on workload variations. Aiming at using the available resource more efficiently and respecting Quality of Services requirements, the proposed architecture was developed supported by machine learning techniques, heuristics, and a bayesian changepoint detection algorithm for online inference. We conducted a set of real and simulated experiments, utilizing a developed extension of CloudSim Toolkit to analyze and compare the proposed architecture efficiency with related studies. Results evidenced that IADA reduces by 25%, on average, the overall performance degradation. • A novel dynamic interference-aware scheduling architecture. • Experiments with an extension of a cloud simulator platform. • Comparison with related schedulers found in the literature. • Evaluation of the general architecture overhead to validate its usability.
Computing systems continue to evolve, resulting in increased performance when processing workloads in large data centers due to the virtualization benefits. This technology is the key factor that allows multiple applications to share resources, thereby enhancing the overall hardware utilization of cloud computing environments. However, multiple cloud-services contending for shared resources are susceptible to cross-application interference, which can lead to significant performance degradation and, consequently, an increase in Service Level Agreements violations. Nevertheless, state-of-the-art resource scheduling still relies mainly on resource capacity, adopting heuristics such as bin-packing and overlooking this source of overhead. But in recent years, interference-aware scheduling has gained traction, with the investigation of ways to classify applications regarding their interference levels and the proposal of static interference models and policies for scheduling co-hosted cloud applications. The preliminary results already show a considerable improvement in resource utilization and can be considered as the first steps toward a dynamic scheduling strategy. In this scenario, this paper proposes a machine learning-driven classification scheme for dynamic interference-aware resource scheduling in cloud computing environments. The main goal is to present how a classification approach, that better represents the workload variations, affects resource scheduling. In the first place, we analyze how hardware resources react to different applications with dynamic workloads. Then, we explore distinct interference classification formats and evaluate their efficiency, taking the dynamic nature of cloud workloads into account. Lastly, we present an interference-aware application classifier based on machine learning techniques and compare it with related work, adopting a variety of workload patterns. Preliminary results revealed an improvement in resource utilization efficiency by 27%, on average, when applying our classification approach in cloud infrastructures.
Técnicas de sampling de grafos têm como objetivo diminuir a quantidade de processamento necessário para a análise de grandes grafos. Este trabalho verifica a possibilidade de paralelismo para acelerar a produção de samples, assim como seu impacto em visualizações de grafos. Os resultados dos testes realizados até o momento indicam uma melhora na produção de samples apenas em uma abordagem de memória compartilhada.
Due to the increasing adoption of Machine Learning (ML) and in particular Deep Learning (DL), many specialized energy efficient accelerators are being proposed by academia and industry. A number of these accelerators are designed to run a single application at a time in exclusive access mode. This approach gives applications maximum performance but reduces resource efficiency, resulting in increased costs over time. Sharing the device among multiple jobs increases resource utilization and amplifies return on investment. This study is driven by a broad investigation of various spatial resource sharing strategies in machine learning hardware accelerators and performance evaluation in a novel memristor-based accelerator called PUMA [1]. Two methods of spatial sharing are discussed: Model Packing and Logical Allocation. Simulations showed that both methods can be implemented on the PUMA accelerator and have advantages in terms of increased resource utilization. The former spatial sharing strategy achieves higher level of parallelism, fitting more models per device (7 models on 11 tiles), but has higher interference overhead (up to 49%), still being in most cases better than the overhead found for GPUs. The latter spatial sharing strategy achieves better isolation with almost no interference overhead (<1%) with the cost of leaving resources unused (same 7 models consumed 16 tiles). Finally, we discuss security implications of resource sharing for ML and other concerns, presenting a novel ML model integrity check and model bias verification.
With the rise of Big Data, there has been a significant effort in increasing compute power through GPUs, TPUs, and heterogeneous architectures. As a result, many applications are memory bound, i.e., they are bottlenecked by the movement of data from main memory to compute units. One way to address this issue is through data prefetching, which relies on accurate prediction of memory accesses. While recent deep learning models have performed well on sequence prediction problems, they are far too heavy in terms of model size and inference latency to be practical for data prefetching. Here, we propose clustering-driven compact LSTM models that can predict the next memory access with high accuracy. We introduce a novel clustering approach called Delegated model that can reliably cluster the applications. For each cluster, we train a compact meta-LSTM model that can quickly adapt to any application in the cluster. Prior LSTM-based work on access prediction has used orders of magnitude more parameters and developed one model for each application (trace). While one (specialized) model per application can result in more accuracy, it is not a scalable approach. In contrast, our models can predict for a class of applications by trading off specialization at the cost of few retraining steps at runtime, for a more generalizable compact meta-model. Our experiments on 13 benchmark applications demonstrate that clustering-driven ensemble compact meta-models can obtain accuracy close to specialized models using few batches of retraining for majority of the applications.
Naúltima década, a área de cloud computing transformou a indústria de TI com serviços sob-demanda. Recentemente, o surgimento de outras tecnologias como IoT e a indústria 4.0 vem ocasionando um aumento massivo na produção de dados. Neste estudo discutimos como a área de edge computing é vista como uma possível solução para esta nova problemática juntamente de projetos já apresentados pela indústria e comunidade acadêmica.
Our previous work shows that multiple applications contending for shared resources in virtualized environments are susceptible to cross-application interference, which can lead to significant performance degradation and consequently an increase in the number of broken SLAs. Nevertheless, state of the art in resource scheduling in virtualized environments still relies mainly on resource capacity, adopting heuristics such as bin packing, overlooking this source of overhead. However, in recent years interference-aware scheduling has gained traction, with the investigation of ways to classify applications regarding their interference levels and the proposal of static cost models and policies for scheduling co-hosted cloud applications. Preliminary results in this area already show a considerable improvement on resource usage and in the reduction of broken SLAs, but we strongly believe that there are still opportunities for improvement in the areas of application classification and pro-active dynamic scheduling strategies. This paper presents the state of the art in interference-aware scheduling for virtualized environments and the challenges and advantages of a dynamic scheme.
With the rise of Big Data, there has been a significant effort in increasing compute power through GPUs, TPUs, and heterogeneous architectures. As a result, many applications are memory bound, i.e., they are bottlenecked by the movement of data from main memory to compute units. One way to address this issue is through data prefetching, which relies on accurate prediction of memory accesses. While recent deep learning models have performed well on sequence prediction problems, they are far too heavy in terms of model size and inference latency to be practical for data prefetching. Here, we propose extremely compact LSTM models that can predict the next memory access with high accuracy. Prior LSTM based work on access prediction has used orders of magnitude more parameters and developed one model for each application (trace). While one (specialized) model per application can result in more accuracy, it is not a scalable approach. In contrast, our models can predict for a class of applications by trading off specialization at the cost of few retraining steps at runtime, for a more generalizable compact meta-model. Our experiments on 13 benchmark applications demonstrate that three compact meta-models can obtain accuracy close to specialized models using few batches of retraining for majority of the applications.
Paulo Fernandes合作论文数PUCRS5
Avelino F. Zorzo合作论文数Department of Computing Science|University of Newcastle5