
Live media streaming applications are increasingly popular, with services such as Twitch.tv and YouNow being used by millions of people. Deploying such services on the cloud can be very expensive, as the cost is proportional to the amount of data transferred to the users. However, adopting a much less costly peer-to-peer (P2P) solution may reduce the overall quality-of-service (QoS) experienced by users, since there are no guarantees regarding resource availability. Therefore, hybrid P2P/Cloud solutions have been proposed to reduce the cost of using a cloud infrastructure while still providing QoS guarantees. Most existing P2P/cloud streaming solutions apply a pull-based data dissemination mechanism, and use the cloud to ensure that all users receive the data before playback deadline. Although push-based streaming trees can reduce the overall dissemination latency, they have been overlooked in these settings since they are less robust to user churn. In this paper we present a cloud-assisted P2P solution that is self-organizing, robust to user churn and leverages streaming trees to push data to users with low latency. We show through extensive simulations that the proposed solution can reduce playback latency considerably when compared to an alternative pull-based system, without compromising QoS or increasing the cost.
Many computing environments consist of a multitude of servers that process requests that arrive from a population of customers. Incoming requests that find all servers busy have to wait until a server becomes idle. This type of queuing system is known as a G/G/c system and has been extensively studied in the queuing literature under steady state conditions. In this paper we study multi-server systems that are subject to workload surges during which time the average arrival rate of requests exceeds the system's capacity. This paper's main contributions are (1) The derivation of a set of equations to estimate the impact of workload surges on response time; (2) A simulator for a G/G/c system to evaluate the accuracy of the equations in (1); and (3) The design, implementation, and extensive evaluation of an autonomic controller for multi-server elasticity that uses the equations derived in (1). The results show that our equations estimate with great accuracy the impact of surges on response time and that our autonomic controller is able to successfully determine how to vary the number of servers to mitigate the impact of workload surges.
Fraudulent activities (e.g., suspicious credit card transaction, financial reporting fraud, and money laundering) are critical concerns to various entities including bank, insurance companies, and public service organizations. Typically, these activities lead to detrimental effects on the victims such as a financial loss. Over the years, fraud analysis techniques underwent a rigorous development. However, lately, the advent of Big data led to vigorous advancement of these techniques since Big Data resulted in extensive opportunities to combat financial frauds. Given that the massive amount of data that investigators need to sift through, massive volumes of data integrated from multiple heterogeneous sources (e.g., social media, blogs) to find fraudulent patterns is emerging as a feasible approach.
Today’s control systems such as smart environments have the ability to adapt to their environment in order to achieve a set of objectives (e.g., comfort, security and energy savings). This is done by changing their behaviour upon the occurrence of specific events. Building such a system requires to design and implement autonomic loops that collect events and measurements, make decisions and execute the corresponding actions.The design and the implementation of such loops are made difficult by several factors: the complexity of systems with multiple objectives, the risk of conflicting decisions between multiple loops, the inconsistencies that can result from communication errors and hardware failures and the heterogeneity of the devices.In this paper, we propose a design framework for reliable and self-adaptive systems, where multiple autonomic loops can be composed into complex managers, and we consider its application to smart environments. We build upon the proposed framework a generic autonomic loop which combines an automata-based controller that makes correct and coherent decisions, a transactional execution mechanism that avoids inconsistencies, and an abstraction layer that hides the heterogeneity of the devices.We propose patterns for composition of such loops, in parallel, coordinated, and hierarchically, with benefits from the leveraging of automata-based modular constructs, that provides for guarantees on the correct behaviour of the controlled system. We implement our framework with the transactional middleware LINC, the reactive language Heptagon/BZR and the abstraction framework PUTUTU. A case study in the field of building automation is presented to illustrate the proposed framework.
In Infrastructure as a Service clouds, customers lease virtual resources (e.g., CPU, memory, network) offered by cloud providers, paying for the allocated capacity of resources, regardless of their effective use. In this context, it is in the interest of the customers to reserve resources with sufficient capacity so that their applications achieve good performance while, at the same time, minimizing their expenses with idle capacities. The correct provisioning of resources is also invaluable to providers, who seek to maximize the resource usage of their physical infrastructures, avoiding spending maintenance costs with unused hardware such as high capacity servers and networking devices. We introduce Escada, a novel model for network bandwidth prediction to guide the provisioning of virtual machines. Escada is application-oblivious and dynamically adapts to changes in a virtual machine workload profile. The network flows of a virtual machine are monitored and used to estimate its total required bandwidth over a time period. A prediction algorithm is then applied to the entire history of estimates to predict the virtual machine future required bandwidth. Our experimental evaluation shows that the estimates provided by Escada are useful for guiding the prediction of network bandwidth requirements, providing accurate bandwidth estimates even when the network is under-provisioned. Furthermore, Escada correctly adjusts its prediction algorithm faster than the state-of-the-art model and predicts more reliably during the adjusting period.
The human immune system is incredibly efficient at identifying self- and non-self entities in our bodies. A non-self entity (malicious), once identified, is attacked by particular types of cells to remove the intruder before it can cause damage. Our immune system has components that identify not only non-self entities but also recall old entities that may not have been encountered for a very long time, but it is still essential that these entities be correctly classified as malicious. The domain of cybersecurity can significantly benefit from having a framework that can identify, react and adapt to malicious behaviors. Such a model for cyber protection should draw a parallel to our immune system, at least at a high level. In this work, we present a flexible framework that leverages machine learning to identify malicious behaviors that are threats to users, computers, and applications in a network. The proposed framework relies on the collection and aggregation of information relevant to identifying such malicious behaviors, machine learning — to learn and identify non-self behaviors automatically, and an adaptation mechanism to incorporate new threats for future classification. We benchmarked the proposed approach on a data set collected from multiple users, computer and applications, and we show that attacks (i.e., non-self behaviors) can be identified and mitigated through software. We compared classification models that perform binary classification (i.e., self or non-self), as well as multi-class predictions (i.e., what type of non-self behavior is detected).
The Autoinfotainment system will not only provide information systems and entertainment to car components, but it will also connect to the Internet and a wide range of multimedia and mobile devices. However, with the introduction of many smart devices and a variety of wireless communications through Wi-Fi, Bluetooth, DSRC, and cellular, we are experiencing major challenges to secure and protect vehicular advanced information and entertainment services due to the significant increase of the attack surface, complexity, heterogeneity and number of interconnected resources. In this paper, we present an Auto Security Development Framework (ASDF) to build trustworthy and highly secure auto information and entertainment services. The ASDF enables developers to consider security issues at all the auto car communications layers and integrate security algorithms with the functions and services offered in each layer rather than considering security in an ad-hoc and after thought manner. We also show how this framework can be used to develop anomaly behavior analysis algorithm to detect wireless attacks against the QUALCOMM DragonBoard Autoinfotainment system.
Cache tuning has been widely studied in CPUs, and shown to achieve substantial energy savings, with minimal performance degradations. However, cache tuning has yet to be explored in General Purpose Graphics Processing Units (GPGPU), which have emerged as efficient alternatives for general purpose high-performance computing. In this paper, we explore autonomic cache tuning for GPGPUs, where the cache configurations (cache size, line size, and associativity) can be dynamically specialized/tuned to the executing applications' resource requirements. We investigate cache tuning for both the level one (L1) and level two (L2) caches to derive insights into which cache level offers maximum optimization benefits. To illustrate the optimization potentials of autonomic cache tuning in GPGPUs, we implement a tuning heuristic that can dynamically determine each application's best L1 data cache configurations during runtime. Our results show that application-specific autonomic L1 data cache tuning can reduce the average energy delay product (EDP) and improve the performance by 16.5% and 18.8%, respectively, as compared to a static cache.
Large scale scientific applications in general and especially cardiac simulations experience different execution phases at runtime and each phase has different computational and communication requirements. An optimal solution or numerical scheme for one execution phase might not be appropriate for the next phase of the application execution. We propose an autonomic management framework, which is built on the physics aware programming (PAP) paradigm for accelerating the cardiac simulations further beyond what can be achieved through traditional parallelization efforts. This approach effectively exploits the physical properties of the cardiac simulation by being smart in the development of simulation algorithms. The cardiac simulation phase is periodically monitored and analyzed to identify its current execution phase. We apply machine learning techniques to detect the phase of the simulation during each time step of the 3D model of a human ventricular epicardial myocyte simulation. For each change in the simulation phase, we exploit the spatial and temporal attributes, dynamically change the resolution of the simulation, and select the numerical algorithms/solvers that optimize its performance without sacrificing the accuracy of the simulation. We compare the performance of the PAP-based algorithm in terms of simulation accuracy and execution time with respect to the reference simulation, which is considered the high-precision implementation. We achieve an overall speedup of 28.4× with a simulation accuracy of 99.9% with the PAP-based cardiac simulations. We also couple the PAP with a multi-graphics processing units (GPU) implementation, and show up to 191× speedup on a 16-GPU system.
The cloud computing ecosystem comprises hundreds of providers, offering diverse computing services, incompatible APIs, and significantly different pricing models. Cloud application management platforms hide the heterogeneity of the services and APIs, allowing, to varying degrees, portability between providers. These tools remove technical barriers to switching providers, but they do not provide a mechanism for evaluating the cost effectiveness of switching.This paper presents a decision support system, working within cloud application management platforms, that evaluates the costs of a customer's applications using resources from different cloud service providers. The system (1) generalizes and normalizes multiple cloud pricing models and (2) gathers pricing data from cloud providers. These, in conjunction with the application resource consumption model, allow the cloud pricing module to estimate a price for the application for each cloud provider.To demonstrate this, our cloud pricing module has been integrated with the SlipStream multi-cloud application management platform, allowing its users to optimize their choice of provider(s).
Power-aware scheduling has become a critical research thrust for deploying exascale High Performance Computing (HPC) systems with limited power budget. Time-varying pricing of electricity with respect to the market demand and dynamic HPC workloads can lead to unpredictable operational cost, which complicates the scheduling decisions further. For an oversubscribed HPC system, value based scheduling heuristics have been shown to be a more productive option for scheduling time-constrained tasks over priority and deadline based heuristics. However, oversubscribed HPC systems have higher probability of exceeding the power constraints. Earlier studies on value based heuristics do not take power constraints into account during scheduling decisions. In this study, we propose a methodology for deriving task-specific power-execution time models. These models are derived by interpolating the execution time and power consumption measurements over a configuration space parameterized with pairs of dynamic voltage frequency scaling and forced idleness values. We then propose two power-aware value based heuristics, which utilize those models for power capping the nodes and making resource allocation decisions in an oversubscribed homogeneous HPC system. We compare their performance with traditional value based heuristics under a defined power constraint on a real system using different synthetic traces of scientific computing routines. We show that, as power constraints become tighter, the proposed heuristics significantly outperform earlier heuristics in terms of value earning of the HPC system. We also compare the task completion percentage of proposed heuristics and relate the completion percentage with value earnings of the heuristics.
In a cloud data center, it is common for a storage system to be shared by front-end, user-interacting applications and back-end, data-intensive applications running on different virtual machines (VMs). Although it is necessary to meet the latency requirements of I/O streams generated by the VMs that execute the front-end applications, this can be difficult because: (1) often their latency requirements are specified at percentiles and (2) some of these streams issue requests in bursts. This paper proposes 2TL, a scheduling algorithm designed to meet the latency requirements of these applications. To meet latency requirements at user-specified percentiles, 2TL continuously controls the number of requests that expire before being serviced. To handle request bursts, it proactively adjusts scheduling parameters to avoid violations to latency requirements. We evaluated 2TL on a simulated RAID storage system using workloads that consist of concurrent I/O streams that cover a wide range of access characteristics, including burstiness. In this evaluation, latency requirements were specified at various percentiles found in the literature. When the storage system was sufficiently provisioned, it met the latency requirements of each workload without degrading storage system performance.
The Internet of Things (IoT) will connect not only computers and mobile devices, but it will also interconnect smart buildings, houses, and cities, as well as electrical grids, gas plants, and water networks, automobiles, airplanes, etc. IoT will lead to the development of a wide range of advanced information services that are pervasive, cost-effective, and can be accessed from anywhere and at any time. However, due to the exponential number of interconnected devices, cyber-security in the IoT is a major challenge. It heavily relies on the digital identity concept to build security mechanisms such as authentication and authorization. Current centralized identity management systems are built around third party identity providers, which raise privacy concerns and present a single point of failure. In addition, IoT unconventional characteristics such as scalability, heterogeneity and mobility require new identity management systems to operate in distributed and trustless environments, and uniquely identify a particular device based on its intrinsic digital properties and its relation to its human owner. In order to deal with these challenges, we present a Blockchain-based Identity Framework for IoT (BIFIT). We show how to apply our BIFIT to IoT smart homes to achieve identity self-management by end users. In the context of smart home, the framework autonomously extracts appliances signatures and creates blockchain-based identifies for their appliance owners. It also correlates appliances signatures (low level identities) and owners identifies in order to use them in authentication credentials and to make sure that any IoT entity is behaving normally.
Virtualization technologies allow cloud providers to optimize server utilization and cost by co-locating services in as few servers as possible. Studies have shown how applications in multi-tenant environments are susceptible to systems anomalies such as abnormal resource usage due to performance interference. Effective detection of such anomalies requires techniques that can adapt autonomously with dynamic service workloads, require limited instrumentation to cope with diverse applications services, and infer relationship between anomalies non-intrusively to avoid 'alarm fatigue' due to scale. We propose a black-box framework that includes an unsupervised prediction-based mechanism for automated anomaly detection in multi-dimensional resource behaviour of datacenter nodes and a graph-theoretic technique for ranking anomalous nodes across the datacenter. The proposed framework is evaluated using resource traces of over 100 virtual machines obtained from a production cluster as well as traces obtained from an experimental testbed under realistic service composition. The technique achieve average normalized root mean squared forecast error and R 2 of (0.92, 0.07) across hosts servers and (0.70, 0.39) across virtual machines. Also, the average detection rate is 88% while explaining 62% of SLA violations with an average lead-time of 6 time-points when the testbed is actively perturbed under three contention scenarios.
Distributed data processing systems are the standard means for large-scale data analysis in the Big Data field. These systems are based on processing pipelines where the processing is done via a composition of multiple elements or steps. In current distributed data processing systems, the code and parameters that create the pipeline are set at design time, before the application starts processing any data. Any changes that have to be applied to the pipeline after it has been started, require the entire pipeline to be restarted. When a system needs to be operational 24/7 or has to respond in a timely fashion, restarting and having downtime is not acceptable. In this case, computing should be performed autonomously by the processing system that continuously takes the changes from the environment, and adjusts its processing steps, parameters, etc. on-the-fly. In this paper, we try to solve this problem by allowing changes to be made to a processing pipeline without restarting. We focus on two aspects of the problem: switching to another data source that is used as input, and changing the functional code and variables within the elements of a pipeline. Our system is built on top of Apache Spark, a framework widely used for distributed data processing.
As the use of wireless technologies increases significantly due to ease of deployment, cost-effectiveness and the increase in bandwidth, there is a critical need to make the wireless communications secure, and resilient to attacks or faults (malicious or natural). Wireless communications are inherently prone to cyberattacks due to the open access to the medium. While current wireless protocols have addressed the privacy issues, they have failed to provide effective solutions against denial of service attacks, session hijacking and jamming attacks.In this paper, we present a resilient wireless communication architecture based on Moving Target Defense, and Software Defined Radios (SDRs). The approach achieves its resilient operations by randomly changing the runtime characteristics of the wireless communications channels between different wireless nodes to make it extremely difficult to succeed in launching attacks. The runtime characteristics that can be changed include packet size, network address, modulation type, and the operating frequency of the channel. In addition, the lifespan for each configuration will be random. To reduce the overhead in switching between two consecutive configurations, we use two radio channels that are selected at random from a finite set of potential channels, one will be designated as an active channel while the second acts as a standby channel. This will harden the wireless communications attacks because the attackers have no clue on what channels are currently being used to exploit existing vulnerability and launch an attack. The experimental results and evaluation show that our approach can tolerate a wide range of attacks (Jamming, DOS and session attacks) against wireless networks.
Over-booking or under-booking of computing resources leads to higher cost and performance degradation of web applications. To optimize the performance of web applications, access to the resources has to be dynamically controlled ensuring maximum cost-performance ratio of the application while fulfilling requirements. To simplify the design of dynamic cloud controllers, we propose a horizontal and vertical scalability self-aware agent defined by a self-adaptive fuzzy logic with an oriented random optimizer based on reward and memory. The algorithm dynamically adjusts the membership functions and their relationship, maximizing the reward of the system while considering the cost related to the deployment of new resources. The evaluation of the controller under real cloud workload reveals the ability of the algorithm to maximize the performance of the web application based on the target parameters given by an operator.
Recent proposals extend MapReduce, a widely-used Big Data processing framework, with sampling to improve performance by producing approximate results with statistical error bounds. However, because these systems perform global uniform sampling across the entire key space of input data, they may completely miss rare keys which may be unacceptable in some applications. Well-known stratified sampling avoids missing rare keys by obtaining the same number of samples for each key which also achieves good performance by sampling popular keys infrequently and rare keys more often. While online stratified sampling has been done in centralized settings, straightforward extension to MapReduce's distributed setting cannot easily leverage the number of per-key samples seen globally by all the Mappers to reduce the sampling rate of each Mapper in the future. Because there are hundreds of Mappers in a typical MapReduce job, such feedback can drastically reduce oversampling and improve performance. We present MaDSOS (MapReduce with Distributed Stratified Online Sampling) which makes two contributions: (1) Instead of a fixed n per-key samples and the resultant sampling rates, we propose a telescoping algorithm that uses fixed sampling rates of the form 1/2^k and, between n and 2n samples. (2) We propose a collaborative feedback scheme, that is enabled by the specific form of sampling rates and the leniency in the sample counts, to efficiently cut the sampling rates, and thus oversampling, once the desired number of samples have been seen globally. For our MapReduce benchmarks, MaDSOS improves performance by 59% over Hadoop while guaranteeing never to miss rare keys and achieves 2.5% per-key error compared to 100% worst-case error under global sampling at a fixed rate for all the keys.
Many businesses possess a small infrastructure that they can use for their computing tasks, but also often buy extra computing resources from clouds. Cloud vendors such as Amazon EC2 offer two types of purchase options: on-demand and spot instances. As tenants have limited budgets to satisfy their computing needs, it is crucial for them to determine how to purchase different options and utilize them (in addition to possible self-owned instances) in a cost-effective manner while respecting their response-time targets. In this paper, we propose a framework to design policies to allocate self-owned, on-demand and spot instances to arriving jobs. In particular, we propose a near-optimal policy to determine the number of self-owned instance and an optimal policy to determine the number of on-demand instances to buy and the number of spot instances to bid for at each time unit. Our policies rely on a small number of parameters and we use an online learning technique to infer their optimal values. Through numerical simulations, we show the effectiveness of our proposed policies, in particular that they achieve a cost reduction of up to 62.85% when spot and on-demand instances are considered and of up to 44.00% when self-owned instances are considered, compared to previously proposed or intuitive policies.
Automatically curating knowledge that is available online is a pressing necessity, given the exponential increase in the volume of data published over the web. However, the solutions presently available are yet to reach the same level of support quality provided by human curators. This is mainly due to the fact that digital database managers do not take the expertise of the interested community into account nor exploit the underlying connections between knowledge pieces when processing user queries. We propose an approach to bridge the gap between automated curation and the one provided by human experts and implement it in the field of career data management. The resulting platform, Aviator, is based on an ontology powered autonomic manager which produces complete, intuitive and relevant answers to career related queries, in a time effective manner. We provide numeric and use case based evidence to support these research claims.