The MetaLab Seminar Series

We meet to discuss everything distributed.

  Calendar (iCal)       MetaLab Group       Yehia's Homepage


This page has been decomissioned. For future talks, please see the MetaLab Seminars page.


Past Talks:

Location Title Presenter Info & Links
C38 Improving Spark Application Throughput Via Memory Aware Task Co-location:
A Mixture of Experts Approach
Vicent Sanz Marco Abstract
Data analytic applications built upon big data processing frameworks such as Apache Spark are an important class of applications. Many of these applications are not latency-sensitive and thus can run as batch jobs in data centers. By running multiple applications on a computing host, task co-location can significantly improve the server utilization and system throughput. However, effective task co-location is a non-trivial task, as it requires an understanding of the computing resource requirement of the co-running applications, in order to determine what tasks, and how many of them, can be co-located. State-of-the-art co-location schemes either require the user to supply the resource demands which are often far beyond what is needed; or use a one-size-fits-all function to estimate the requirement, which, unfortunately, is unlikely to capture the diverse behaviors of applications. In this paper, we present a mixture-of-experts approach to model the memory behavior of Spark applications. We achieve this by learning, off-line, a range of specialized memory models on a range of typical applications; we then determine at runtime which of the memory models, or experts, best describes the memory behavior of the target application. We show that by accurately estimating the resource level that is needed, a co-location scheme can effectively determine how many applications can be co-located on the same host to improve the system throughput, by taking into consideration the memory and CPU requirements of co-running application tasks. Our technique is applied to a set of representative data analytic applications built upon the Apache Spark framework. We evaluated our approach for system throughput and average normalized turnaround time on a multi-core cluster. Our approach achieves over 83.9% of the performance delivered using an ideal memory predictor. We obtain, on average, 8.69x improvement on system throughput and a 49% reduction on turnaround time over executing application tasks in isolation, which translates to a 1.28x and 1.68x improvement over a state-of-the-art co-location scheme for system throughput and turnaround time respectively.
Bowland North SR20 Role of Big Data in Smart Cities Pavan Sudheendra (Cisco) Abstract
The expansion of big data and the evolution of Internet of Things (IoT) technologies have played an important role in the feasibility of smart city initiatives. Cities and citizens create large streams of information. Insights extracted from the data can help to reveal how the urban environment works today and how it can be improved for the future. The goal of this talk is to explain the benefits offered by 'Big Data' tools and frameworks which could be used to build rapid prototyping of Smart City Applications.
2017.11.22 D55 INDIC: Security Monitoring as a Service in IaaS Clouds Christine Morin
C38 Top down review of SDNs: From concept to P4 and the NetFPGA Alexander Jung Abstract
SDN technologies have received significant attention by the network community in the recent years. OpenFlow success has motivated further exploration of the limits of network programmability both in the control plane, with platform like ONOS, as well as in the data plane, with the specification of the P4 language. In this presentation, I will discuss how programmable hardware platforms, like the NetFPGA project, have underpin network programmability. I will elaborate on the design and the programming model of the NetFPGA platform and the capabilities of the P4-NetFPGA compiler.
C60a Using DSML for Handling Multi-tenant Evolution in Cloud Applications Assylbek Jumagaliyev Abstract
Multi-tenancy is sharing a single application's resources to serve more than a single group of users (i.e., tenant). Cloud application providers are encouraged to adopt multi-tenancy as it facilitates increased resource utilization and ease of maintenance, translating into lower operational and energy costs. However, introducing multi-tenancy to a single-tenant application requires significant changes in its structure to ensure tenant isolation, configurability and extensibility. In this paper, we analyse and address the different challenges associated with evolving an application's architecture to a multi-tenant cloud deployment. We focus specifically on multi-tenant data architectures, commonly the prime candidate for consolidation and multi-tenancy. We present a Domain-Specific Modeling language (DSML) to model a multi-tenant data architecture, and automatically generate source code that handles the evolution of the application's data layer. We apply the DSML on a representative case study of a single-tenant application evolving to become a multi-tenant cloud application under two resource sharing scenarios. We evaluate the costs associated with using this DSML against the state of the art and against manual evolution, reporting specifically on the gained benefits in terms of development effort and reliability.
C38 From Mobile Applications to Smart Cities Platforms: Lessons Learned and Research Challenges from a Smart City Initiative NĂ©lio Alessandro Azevedo Cacho Abstract
The concept of smart city has been lately adopted by the research community, companies, and public government to summarise a set of advanced services devoted to make current cities more friendly, efficient and sustainable. In a smart city, various information and communication technologies (ICTs) can be employed to assist public agents in making strategic decisions for the city and to offer useful services to the population. These data come from different sources and can be used in innovative and creative ways to develop applications and systems able to profoundly change the daily lives of people by improving the services of the city and contributing to economic growth, environmental sustainability, and quality of life of individuals and the society. At the same time, it is possible to foster decision-making processes based on reliable information, while providing novel and better services, saving time, and wisely using natural, financial, material, and human resources. This talk focuses on describing the Natal Smart City Initiative, a bottom-up approach to make Natal (in Brazil) smarter through decentralized initiatives and gradual implementation of successive projects. We share our experience and lessons learned from building practical systems for a large scale running smart city initiative. We also explore research challenges to design and implement mobile applications and middleware platforms for smart city initiatives.
C60a Introducing and Demonstrating Emergent Software Systems Roberto Rodrigues Filho Abstract
Autonomic computing is a response to the increasing levels of complexity in developing, managing, configuring and optimising contemporary systems. State of the art approaches to realise autonomic systems heavily rely on experts to provide domain specific knowledge that is used to define when and to what configuration the system is supposed to adapt in order to autonomously maintain system's properties and QoS levels. The requirement of expert-provided knowledge increases the upfront effort to create such systems and is not adequate to cope with the levels of dynamism and uncertainty of current operating environments, leaving the system to degraded performance or malfunctioning state in case experts fail to predict certain events from the operating environment or improper components interactions. As a response to current limitations of autonomic computing systems, we introduce the concept of Emergent Software Systems. These systems change the focus of autonomic computing from adaptation to online software composition. By composing software from small and highly reusable software components at runtime, we delay the design decisions usually made in the design phase to runtime, whilst placing the complexity involved in making these decisions in the hands of the software itself, as it perceives the actual operating environment and assembles itself to best operate under the perceived conditions. This approach shifts the burden of software design, deployment and optimisation from the humans to the machine, pushing the vision of autonomic computing to its limit by tackling the core of modern software complexity. In this talk, we introduce the concept of Emergent Software System in a 15 min lighting talk followed by a live demonstration of Emergent Systems applied to a web server scenario.
C60a IoT Architectures and Programming Models Sumi Helal Abstract
As Bob Metcalf once vouched for the benefits of estimating the value of the network, we should ask ourselves what is the value of an IoT. I do not have an answer to this question but the talk will be motivated by this line of thinking and a hypothesized strawman for possible such value through a motivating example. I will then explain what is missing and why I am working on these two aspects of IoT. I will then give specifics of two architectures: the Atlas Thing Architecture (personal IoT), which has been in development recently, and the Atlas Cloud-Edge-Beneath (Atlas CEB) architecture (at scale IoT, e.g., smart city), developed at the University of Florida over the years. I will present three programming models, each addressing different emphasis/goal: a) safety (i.e., programming that does not hurt or cause damage, as a side effect!), b) scalability and responsiveness (in city scale deployments), and c) exploring intrinsic application opportunities through a Thing Relationship Model. Open questions and challenging aspirations will also be discussed and shared.
C60a Security Enhanced Compilation for Use in Real Environments (SECURE) Graham Markall and
Paolo Savini (Embecosm)
Security is a system-wide issue, and the compiler is the one tool which gets to look at all the code. SECURE is a one year research project led by Embecosm and supported by Innovate UK, which aims to extend popular open source compilers to help in writing secure code. We can do this in two ways: 1. Warning the user of dangerous code constructs. For example, when a critical variable is used to control program flow, an information leak is created. 2. Providing features to assist the programmer. For example, by wiping the stack on return from a function to avoid leaving data in memory. Some features can help with domain-specific implementation techniques, such as bit-slicing an algorithm. These techniques are being implemented in GCC and LLVM, and patches will be submitted upstream in order to make them available to as many software engineers as possible. In this talk we'll discuss the techniques that we are implementing throughout the project, and report on progress during the first three months.
C60a Engineering Self-Awareness with Knowledge Management in Dynamic Systems: A Case for Volunteer Computing Abdessalam Elhabbash Abstract
Self-awareness has recently gained considerable attention as a prominent property for enriching the self-adaptation capabilities in systems operating in dynamic, heterogeneous and open environments, e.g the volunteer computing environment. In this talk, I will present a summary of my PhD thesis in which I investigate the role of knowledge and its dynamic management in realising various levels of self-awareness for enabling self-adaptivity with different capabilities and strengths. I develop a novel multi-level dynamic knowledge management approach for managing and representing the evolving knowledge. The approach is able to acquire 'richer' knowledge about the system's internal state and its environment in addition to managing the trade-offs arising from the adaptation of conflicting goals.
C38 Real-Time Power Cycling in Video on Demand Data Centres using Online Bayesian Prediction Vicent Sanz Marco Abstract
Energy usage in data centres continues to be a major and growing concern as an increasing number of everyday services fundamentally depend on these facilities. Research in this area has examined topics including power smoothing using batteries and deep learning to control cooling systems, in addition to optimisation techniques employed in the software running inside data centres. We explore the technique of server power cycling in which unused servers are automatically switched off when not needed, and later switched on when demand increases. We specifically examine this approach in video on demand systems which tend to use dedicated servers to ensure predictable quality of service. We present a novel distributed architecture, media distribution approach, and a real-time prediction model to determine when to most effectively switch servers on and off, and demonstrate with experimental evaluation that this approach can save up to 31% of server energy in a cluster. Our evaluation is conducted on typical rack mount servers in a production data centre and uses recent real-world workload trace from BBC iPlayer, an extremely popular video on demand service in the UK.
C60a Who's fiddling with my bits? Gareth Tyson Abstract
In this talk I will discuss a recent measurement study exploring the presence of Web middleboxes in-the-wild. The study, based on the Hola P2P VPN, launched measurements from almost 150k locations around the world to capture the interception and manipulation of Web traffic by diverse networks. Through this, it became possible to characterise the middlebox functionality of different regions and networks types, as well as to analyse the reasoning behind deploying such middleboxes. The talk is based on a paper recently published at the World Wide Web Conference in Perth (WWW'17).
D38 Adaptive Optimisation for OpenCL Programs on Embedded Heterogeneous Systems Ben Taylor Abstract
Heterogeneous multi-core architectures consisting of CPUs and GPUs are commonplace in today’s embedded systems. These architectures offer potential for energy efficient computing if the application task is mapped to the right core. Realising such potential is challenging due to the complex and evolving nature of hardware and applications. This paper presents an automatic approach to map OpenCL kernels onto heterogeneous multi-cores for a given optimisation criterion – whether it is faster runtime, lower energy consumption or a trade-off between them. This is achieved by developing a machine learning based approach to predict which processor to use to run the OpenCL kernel and the host program, and at what frequency the processor should operate. Instead of hand-tuning a model for each optimisation metric, we use machine learning to develop a unified framework that first automatically learns the optimisation heuristic for each metric off-line, then uses the learned knowledge to schedule OpenCL kernels at runtime based on code and runtime information of the program. We apply our approach to a set of representative OpenCL benchmarks and evaluate it on an ARM big.LITTLE mobile platform. Our approach achieves over 93% of the performance delivered by a perfect predictor. We obtain, on average, 1.2x, 1.6x, and 1.8x improvement respectively for runtime, energy consumption and the energy delay product when compared to a comparative heterogeneous-aware OpenCL task mapping scheme.
C60a A Unified Model for Holistic Power Modelling for Datacenter Servers Peter Garraghan Abstract
The majority of server power modelling in computer science omit assumptions pertaining to the impact and relationship that exists between software, hardware and cooling components. In this talk I argue that failure to capture this effect results in substantial inaccuracies for calculating total system power consumption in a fine-grained manner. In this talk I will present a unified model for server power modelling derived from empirical findings that is applicable for both air and liquid cooled servers. I will also discuss the implications of these findings within the wider datacenter research and industrial community.
C38 Decision Support Systems for Multi-Cloud Environments Faiza Samreen Abstract
Decision-making in a cloud environment is a formidable task due to the proliferation of service offerings, pricing models, and technology standards. A customer entering the diverse cloud market is likely to be overwhelmed with a host of difficult choices in terms of service selection. This applies to all levels of service, but Infrastructure as a Service (IaaS) level is particularly important for the end user given the fact that IaaS provides more choices and control for application developers. Very briefly, I will discuss the current state of the art in decision support system, either offered as a service by cloud broker or just an independent effort in a multi-cloud environment. Moreover, highlight the potential role of machine learning for developing an intelligent decision support system for a multi-cloud environment.
C60a Winter is over, summer is coming ... Willy Wolff Abstract
... and global warming seems to not reach an end. However, energy efficient computing systems will help to limit this problem. During this talk, I will give some insights of my research on energy efficient software. More precisely, I will show that, from tiny computing systems to server mainframes, the temperature in such systems could be a significant problem.
C38 Giving Conference Presentations Zheng Wang
C60a Using Machine Learning to Build an Optimising Compiler for
Heterogeneous Many-Core Systems
Ben Taylor Abstract
Heterogeneous multi-core architectures consisting of CPUs and GPUs are commonplace in today’s embedded systems. These architectures offer potential for energy efficient computing if the application task is mapped to the right core. Realizing such potential is challenging due to the complex and evolving nature of hardware and applications. This paper presents an automatic approach to map OpenCL kernels onto heterogeneous multi-cores for a given optimization criterion – whether it is faster runtime, lower energy consumption or a trade-off between them. This is achieved by developing a machine learning based approach to predict which processor to use to run the OpenCL kernel and the host program, and at what frequency the processor should operate. Instead of hand-tuning a model for each optimization metric, we use machine learning to develop a unified framework that first automatically learns the optimization heuristic for each metric off-line, and then uses the learned knowledge to schedule OpenCL kernels at runtime based on code and runtime information of the program. We apply our approach to a set of representative OpenCL benchmarks and evaluate it on an ARM big.LITTLE mobile platform. Our approach achieves over 93% of the performance delivered by an oracle predictor. We obtain, on average, 1.2x, 1.6x,and 1.8x improvement respectively for runtime, energy consumption and the energy delay product, when compared to a state-of-the-art heterogeneous-aware OpenCL task mapping scheme.
C60a Willful Writing Workshop [by registration] Yehia Elkhatib Abstract
In this interactive session, I'll be giving tips from my experience about how to manage yourself, your content, and your reader.
C60a The Grape Cluster and Delivering Fog Computing Yehia Elkhatib Abstract
Fog computing is coming. The paradigm allows devices at the edge of the network to become proactive in hosting as well as consuming data and services. This is great for interconnecting the swarm of edge devices: wearables, sensors, smart traffic controllers, interactive displays, etc. Current literature focuses on the fog’s vision and high-level potential but not the pragmatic means of deploying fog solutions. In this talk, I identify micro-clouds as platforms that offer promising opportunities in edge resource provisioning. I demonstrate through a series of experiments how such platforms are capable of supporting fog solutions. I also introduce the GrapeCluster micro-cloud design and its potential. Finally, I chart some short- to medium-term challenges in the micro-cloud area.
C38 Software Engineering for Flood Risk Management Graham Dean Abstract
What can computer science, software engineering and data science bring to the table for environmental modelling? Models are typically written for specific scientific contexts, addressing different spatial resolutions and time scales and have evolved separately. They may be coupled together, but often have incompatible software infrastructure requirements, different datasets and may also have scientific incompatibilities e.g. connecting models that have different time / space resolutions. There is a need to address both the scientific and engineering aspects of this coupling process. Would it help if we start from a software engineering perspective? Reviewing the flood risk management literature there are 3 recurring themes: (i) uncertainty, (ii) exploratory approaches, and (iii) co-production of data & knowledge. These themes are also familiar territory in software design & engineering, software architecture, software development and software deployment practices. Can we identify a useful correspondence across these themes for both flood risk management and contemporary software engineering practices?
C38 Experiments with a Machine-centric Approach to Realise
Distributed Emergent Software Systems
Roberto Rodrigues Filho Abstract
Modern distributed systems are exposed to constant changes in their operating environment, leading to high levels of uncertainty. Self-adaptive and self-organising approaches have become a popular solution to enable runtime reactivity to this uncertainty. However, to date these approaches use predefined, expertly-crafted policies or models, constructed at design-time, to guide system (re)configuration. These approaches are human-centric, making modelling or policy-writing difficult to scale to increasingly complex systems; and are inflexible in their ability to deal with the unexpected at runtime (e.g. conditions not captured in a policy). In this paper, we argue for a machine-centric approach to this problem, in which the desired behaviour is autonomously learned and emerges at runtime from a large pool of small alternative components, as a continuous reaction to the observed behaviour of the software and the characteristics of its operating environment. We demonstrate our principles in the context of data-centre software, showing that our approach is able to autonomously coordinate a distributed infrastructure composed of emergent web servers and a load balancer. Our initial results validate our approach, showing autonomous convergence on an optimal configuration, and also highlight the open challenges in providing fully machine-led distributed emergent software systems.
C60a Embedding Computational Intelligence into Self-Adaptive Software Systems and Their Application in Cloud Autoscaling Tao Chen Abstract
Self-adaptive software systems can reconfigure itself to adapt to the changing environment at runtime, improving dependability of the systems without extensive prior knowledge and heavy human intervention. While Self-adaptive software systems has been studied in many application domains, the treatments for their runtime dynamics and uncertainty remain important challenges. In this talk, I will elaborate our recent work on embedding Computational Intelligence into Self-adaptive software systems, particularly for tackling the problems related to their modelling, architecture and decision making. I will present the application of intelligent self-adaptive software systems in cloud autoscaling - the fundamental mechanism that realises elasticity in cloud - as a case study. Finally, I will introduce some of our ongoing work for engineering more stable, dependable and manageable self-adaptive software systems, including ecology-inspired self-adaptivity and the synergy of classic software engineering methods and Computational Intelligence.
C60a TOUCAN (Toward Ultimate Convergence of All Networks) Project:
Service Orchestration & Information Modelling
Arsham Farshad Abstract
TOUCAN aims to achieve ultimate network convergence. This is done by enabling a communication technology agnostic architecture and use of technologies such as Software Defined Networking (SDN) and virtualization. This will eventually facilitate optimal interconnection of different network technology domains (e.g., Optical Network, Ethernet, WiFi, LiFi, ...). In this talk, I will give you an overview of TOUCAN’s aims, including a brief description of TOUCAN’s architecture; network service orchestration and our proposed architecture on this. Also, I will provide some thoughts on how information modelling tools can assist orchestration and will conclude by presenting to you our next steps.
C60a REX: A Development Platform and Online Learning Approach for Runtime Emergent Software Systems Barry Porter Abstract
Conventional approaches to self-adaptive software architectures require human experts to specify models, policies and processes by which software can adapt to its environment. We present REX, a complete platform and online learning approach for runtime emergent software systems, in which all decisions about the assembly and adaptation of software are machine-derived. REX is built with three major, integrated layers: (i) a novel component-based programming language called Dana, enabling discovered assembly of systems and very low cost adaptation of those systems for dynamic re-assembly; (ii) a perception, assembly and learning framework (PAL) built on Dana, which abstracts emergent software into configurations and perception streams; and (iii) an online learning implementation based on a linear bandit model, which helps solve the search space explosion problem inherent in runtime emergent software. Using an emergent web server as a case study, we show how software can be autonomously self-assembled from discovered parts, and continually optimized over time (by using alternative parts) as it is subjected to different deployment conditions. Our system begins with no knowledge that it is specifically assembling a web server, nor with knowledge of the deployment conditions that may occur at runtime.
C60a How fast? How furious? Real optimizations for real people Pavlos Petoumenos Abstract
Optimisation techniques depend on representative workloads for their training, fine tuning, and evaluation. Traditional research areas have workloads which at least try to be representative. Research on smartphones on the other hand utilises completely inappropriate benchmarks. Typical work on the field fails to deal with interactivity, user perception, different classes of mobile applications, significant variation in usage patterns amongst users, and even reproducibility. With the majority of our computing experience revolving around these devices, it's imperative that we find ways to test our optimisations on them properly. In my talk, I will present two novel workload creation techniques targeted at mobile devices. Both of them are lightweight, easy to use, and capture how real users interact with their devices. They do not require any instrumentation, knowledge of the application's internals, or access to the application source code. We use them to drive personalised iterative compilation with almost no negative effect on the user experience and to show that available ANDROID frequency governors leave substantial room for improvement, up to 27% lower energy consumption for the same user experience.
C38 Improving Big Data Application Throughput Via Smart Memory Allocation: A Machine Learning Based Approach Vicent Sanz Marco Abstract
Large-scale data processing frameworks, like Apache Spark, are widely used to implement big data applications on distributed computing systems. Effective scheduling of applications built on these frameworks remains an open challenge. Common practice often requests the maximum resource allocation from a host for each application; however this is often far beyond what is actually needed, leading to under-utilisation of resources. If a scheduler can instead estimate the minimum but adequate resource needs of an application, it can then utilise remaining resources to concurrently execute other tasks. We present a novel approach to co-locate big data applications on a computing host to improve throughput without compromising application performance. This is achieved by training a predictive model on a range of typical applications; we combine this with feature-based clustering to then automatically determine the memory requirements of new applications. By accurately predicting the resource level that is actually needed, we can determine how many applications can be co-located on the same host to improve the system throughput. Our technique is applied to a set of representative Java-based big data applications built upon the Apache Spark framework. We evaluated our approach for system throughput and average turn-around time on a multi-core computing host. Our approach achieves 90% of the performance delivered using an ideal memory predictor. In addition, we obtain about 7.1x improvement on system throughput at a 59% reduction on turnaround time respectively over executing application tasks in isolation.
D38 Evolving Multi-Tenant Cloud Applications Using Model-Driven Engineering Assylbek Jumagaliyev Abstract
Cloud computing promotes multi-tenancy for efficient resource utilization by sharing hardware and software infrastructure among multiple clients. Multi-tenant applications running on a cloud infrastructure are provided to clients as Software-as-a-Service (SaaS) over the network. Despite its benefits, multi-tenancy introduces additional challenges, such as partitioning, extensibility, and customizability during the application development. Over time, after the application deployment, new requirements of clients and changes in business environment result application evolution. As the application evolves, its complexity also increases. In multi-tenancy, evolution demanded by individual clients should not affect availability, security, and performance of the application for other clients. Thus, the multi-tenancy concerns add more complexity by causing variability in design decisions. Managing this complexity requires adequate approaches and tools. In this paper, we propose modeling techniques from software product lines (SPL) and model-driven engineering (MDE) to manage variability and support evolution of multi-tenant applications and their requirements. Specifically, SPL was applied to define technological and conceptual variabilities during the application design, where MDE was suggested to manage these variabilities. We also present a process of how MDE can address evolution of multi-tenant applications using variability models.
C38 Building Software-based Alternatives: Simplification or Over-engineering? Matthew Broadbent Abstract
Over the past few years, we have seen a move towards migrating previously hardware-bound functionality into software-based alternatives. This includes computer networks and the services that support them. In this talk, I provide an overview of the progress we have made over the past four years, including building next-generation content delivery networks, providing quality-of-experience guarantees for video delivery, and monitoring and remediation frameworks for protecting network infrastructure. More recently, I have been working collaboratively on mechanisms to enable software-based services to automatically scale and reserve resources, especially in competitive multi-party scenarios. I finish the talk with a reflective question: is this process really simplifying things, or are we simply over-engineering the problem for the sake of it?
C60a Losing Control: The Case for Emergent Software Systems using Autonomous Assembly, Perception and Learning Roberto Rodrigues Filho Abstract
Architectural self-organisation, in which different configurations of software modules are dynamically assembled based on the current context, has been shown to be an effective way for software to self-optimise over time. Current approaches to this rely heavily on human-led definitions: models, policies and processes to control how self-organisation works. We present the case for a paradigm shift to fully emergent computer software which places the burden of understanding entirely into the hands of software itself. These systems are autonomously assembled at runtime from discovered constituent parts and their internal health and external deployment environment continually monitored. An online, unsupervised learning system then uses runtime adaptation to explore alternative system assemblies and locate optimal solutions. Based on our experience to date, we define the problem space of emergent software, and we present a working case study of an emergent web server. Our results demonstrate two aspects of the problem space for this case study: that different assemblies of behaviour are optimal in different deployment environment conditions; and that these assemblies can be autonomously learned from generalised perception data while the system is online.
C60a NetCAP: Rethinking data distribution for network control Haris Rotsos Abstract
Internet protocols have been designed following a best-effort principle in all network layers, as well as the control plane. Best case scenario, production network technologies can provide eventual consistency guarantees for shared control state (e.g. OSPF, RIP), while lack of support for any state distribution is not uncommon (e.g. most network functions appear as a bump in the wire and appear isolated from the control plane of the network).  New networking paradigms, like SDN, NFV and PCE, have enabled unprecedented flexibility in network control and have motivated researchers, operators and vendors to rethink network control design, primarily around the key goal of logical centralization: construct a single global control abstraction for external applications which remains consistent when we scale out the network controller. It still remains an open question how logical centralization can be implemented over these innovative new technologies and what semantics it should provide.  In this talk, I will present an initial design for NetCAP, a generalized data distribution framework optimized to support network appliances. I will elaborate on the predominant production control protocols and discuss their underlying data distribution mechanisms. Furthermore, I will cover the state-of-the-art in SDN controller and NFV technologies and discuss their limitations to meet data distribution requirements for current and future network use cases. Motivated by these observations, I will present an initial design and an API for a unified network control data distribution system.
C38 Fogify: Network Functions Virtualisation for the Fog Lyndon Fawcett Abstract
The capability of network infrastructures is changing. The introduction of Fog computing is putting general compute power throughout the Internet, bringing the cloud closer to the end user. This is expanding the potential compute locations for the emerging concept Network Functions Virtualisation (NFV). The flexibility introduced by NFV allows network functions to be run on servers separate from the networking hardware, this new capability can be utilised to benefit the customer and ISP by rapidly introducing new services and automating network management. Currently there are many implementations to NFV that focus on using cloud infrastructures. However, with multiple distributed NFV infrastructures from Fog Computing, each with different capabilities, costs, latency, and throughput bound to them, this heterogeneity introduces a new challenge of management and orchestration. This paper presents Fogify, a platform that orchestrates Virtual Network Functions across heterogeneous environments, enabling the Fog as a virtualisation infrastructure for NFV.
C38 Blair, Bromberg, Coulson, Elkhatib, Réveillère, Ribeiro, Rivière, and Taïani. "Holons: Towards a systematic approach to composing systems of systems" ARM'15 Bholanath Surajbali Abstract
The world's computing infrastructure is increasingly differentiating into self-contained distributed systems with various purposes and capabilities (e.g. IoT installations, clouds, VANETs, WSNs, CDNs, ...). Furthermore, such systems are increasingly being composed to generate systems of systems that offer value-added functionality. Today, however, system of systems composition is typically ad-hoc and fragile. It requires developers to possess an intimate knowledge of system internals and low-level interactions between their components. In this paper, we outline a vision and set up a research agenda towards the generalised programmatic construction of distributed systems as compositions of other distributed systems. Our vision, in which we refer uniformly to systems and to compositions of systems as holons, employs code generation techniques and uses common abstractions, operations and mechanisms at all system levels to support uniform system of systems composition. We believe our holon approach could facilitate a step change in the convenience and correctness with which systems of systems can be built, and open unprecedented opportunities for the emergence of new and previously-unenvisaged distributed system deployments, analogous perhaps to the impact the mashup culture has had on the way we now build web applications.
C60b/c Pushing the Frontier: Exploring the African Web Ecosystem Gareth Tyson Abstract
It is well known that Africa’s mobile and fixed Internet infrastructure is progressing at a rapid pace. A flurry of recent research has quantified this, highlighting the expansion of its underlying connectivity network. However, improving the infrastructure is not useful without appropriately provisioned services to utilise it. This paper measures the availability of web content infrastructure in Africa. Whereas others have explored web infrastructure in developed regions, we shed light on practices in developing regions. To achieve this, we apply a comprehensive measurement methodology to collect data from a variety of sources. We focus on a large content delivery network to reveal that Africa’s content infrastructure is, indeed, expanding. However, we find much web content is still served from the US and Europe. We discover that many of the problems faced are actually caused by significant inter-AS delays in Africa, which contribute to local ISPs not sharing their cache capacity. We discover that a related problem is the poor DNS configuration used by some ISPs, which confounds the attempts of providers to optimise their delivery. We then explore a number of other websites to show that large web infrastructure deployments are a rarity in Africa and that even regional websites host their services abroad. We conclude by making suggestions for improvements.
C60a Abstraction-Level Energy Accounting for Many-core Optimisation Willy Wolff Abstract
Multi- and many-core architectures are everywhere; from little embedded systems such as smartphones and tablets, to a node of a data-centre or a grid, we have more and more cores on computers. At the same time, different kinds of computation units are present: classical CPU, but also, GPU and DSP are present. The presence of multiple computation units with heterogeneous architectures was a solution to the stagnation of processor speed. It allows the possibility of exploiting parallelism in a highly optimised manner for applications. But solving one problem point to others. How could we efficiently map these applications on hardware? And what is the repercussion on energy consumption? In this seminar, I will talk about current research in this area, my first experience with a SystemOnChip (SoC) and give an insight into what I plan to do in my PhD research.
C60a Simplifying Cloud Instance Selection Using Machine Learning Faiza Samreen Abstract
Decision making in cloud environments is quite a challenging task due to the diversity in service offerings and pricing models, especially considering that the cloud computing market is an incredibly fast moving and commercially-driven one. In addition, there are no hard and fast rules; each customer has a specific set of constraints (e.g. budget) and application requirements (e.g. minimum computational resources). A cloud broker can help address some of these complicated decisions by carrying out customer-specific analytics to determine the best provider infrastructure, the most suitable instance type(s), and the most opportune time for starting and migrating instances. We work towards such a broker by focusing on its ability to develop a deployment policy tailored for each cloud customer, and to continuously adapt it throughout the application life cycle to support the customer's deployment decisions. The key idea is to leverage machine learning techniques in order to be able to come up with an optimal match between customer demands and the available service offerings. We provide an experimental study of a number of these techniques carried out on public and private cloud infrastructures.
Charles Carter A17 Personalisation vs Privacy Anders Andersen Abstract
Personalisation is motivated by providing better services for the users, and more efficient (and effective) service implementation for the service provider. In the talk I will present how personalisation is achieved and the privacy concerns it introduce. I will also discuss approaches to achieve privacy preserving personalisation. Examples from several projects will be used to discuss personalisation and privacy.
C38 Configuration Management Tools Assylbek Jumagaliyev Abstract
The system administrator is responsible for frequent deployments, configurations and managements of servers in a distributed infrastructure. Servers contain several resources and they require proper configurations, regular updates and monitoring. The administrator can connect to each server via SSH and make necessary changes. Though this approach is the simplest, it is time consuming. Configuration management tools are designed for automating the configuration and maintenance across an environment to provide a consistent deployment.
D38 Adaptive Compilation for Dark Silicon Ben Taylor Abstract
Over the past few decades we have seen a change from single core processors to multi-core. They are prominent in all our devices, from PCs to tablets and mobile phones. The rise of the multi-core was a solution to the current stagnation of processor speed, allowing programs to make use of parallelism. This has not come without its own problems though, with more complex hardware being produced how to we map the software to the hardware to reach the full potential within a processor lifetime? In this talk I will talk about current research in this area, the problems which have been solved and the ones which still remain, and give an insight into what I plan on researching during my PhD.
C60b/c Big Data for Development Junaid Qadir Abstract
With the explosion of social media sites and proliferation of digital computing devices and Internet access, massive amounts of public data is being generated on a daily basis. Efficient techniques/ algorithms to analyze this massive amount of data can provide near real-time information about emerging trends and provide early warning in case of an imminent emergency (such as the outbreak of a viral disease). In addition, careful mining of these data can reveal many useful indicators of socioeconomic and political events, which can help in establishing effective public policies. The emerging ability to use big data techniques for development (BD4D) promises to revolutionalize healthcare, education, and agriculture; facilitate the alleviation of poverty; and help to deal with humanitarian crises and violent conflicts. The focus of this talk will be on reviewing the application of big data analytics for the purpose of human development. Besides all the benefits, the large-scale deployment of BD4D is beset with several challenges due to the massive size, fast-changing and diverse nature of big data. The most pressing concerns relate to efficient data acquisition and sharing, establishing of context (e.g., geolocation and time) and veracity of a dataset, and ensuring appropriate privacy. We will review existing BD4D work and will also highlight important challenges and open issues.
C74 It Bends but Would it Break?
Topological Analysis of BGP Infrastructures in Europe
Sylvain Frey Abstract
The Internet is often thought to be a model of resilience, due to a decentralised, organically-grown architecture. This paper puts this perception into perspective through the results of a security analysis of the Border Gateway Protocol (BGP) routing infrastructure. BGP is a fundamental Internet protocol and its intrinsic fragilities highlighted extensively in the literature. A seldom studied aspect is how robust the BGP infrastructure actually is as a result of nearly three decades of perpetual growth. Although global black-outs seem unlikely, local security events raise growing concerns on the robustness of the backbone. In order to better protect this critical infrastructure, it is crucial to understand its topology in the context of the weaknesses of BGP and to identify possible security scenarios. Firstly, we establish a comprehensive threat model that classifies main attack vectors, including but non limited to BGP vulnerabilities. We then construct maps of the European BGP backbone based on publicly available routing data. We analyse the topology of the backbone and establish several disruption scenarios that highlight the possible consequences of different types of attacks, for different attack capabilities. We also discuss existing mitigation and recovery strategies, and we propose improvements to enhance the robustness and resilience of the backbone. To our knowledge, this study is the first to combine a comprehensive threat analysis of BGP infrastructures with advanced network topology considerations. We find that the BGP infrastructure is at higher risk than already understood, due to topologies that remain vulnerable to certain targeted attacks as a result of organic deployment over the years. Significant parts of the system are still uncharted territory, which warrants further investigation in this direction.
B46 Deep Learning and Machines That Learn Antreas Antoniou Abstract
In the past 4 years we've seen AI technologies explode in terms of capabilities, from self-driving cars, to image classification, to machine translation. AI techniques have been reaching human-level performance in an exponential manner that has never been seen before. In this talk we will present some of the techniques and technologies that power that advancement and some of the real-world applications that they are being deployed on. As well as some of the state of the art technologies that have been published in the last 2 months.
C38 Context Switches as an Application Benchmark Metric James Hadley Abstract
Operating system resource metrics provide an efficient, convenient and high level overview of the environment in which an application runs. Typically a small group of these metrics are used to infer the suitability of a server for an application. Context switches are switches of CPU resources from one runnable process to another. We present an argument for the context switch counter to be used alongside the conventional metrics to create a more complete picture of the performance of some application environments.
C60a Designing and Verifying Protocols using Scribble with Synchronisation Ross Horne Abstract
This talk concerns an emerging methodology for the design and verification of distributed systems. The Scribble language was introduced as a prototype implementation of the line of work on multi-party session types. The Scribble language can be used to reduce human error by automating part of the design phase of a protocol conducted typically by the systems analyst, and also for checking that the each party in a protocol is correctly implemented by the software engineer with respect to the original design. In this talk, we consider an extension of Scribble with synchronisation primitives. For this extension, we provide a novel semantics based on recent developments in proof theory with practical aims. From the semantics we obtain: a notion of multi-party compatibility, which tells us when parties in a protocol can communicate together successfully; and a notion of sub-typing to compare the relative strengths of protocols.
C60a Fault Tolerance for Stream Programs on Parallel Platforms Vicent Sanz Marco Abstract
Distributed system is defined as a collection of autonomous computers connected by a network, and with the appropriate distributed software for the system to be seen by users as a single entity capable of providing computer facilities. Fault tolerance is the ability of a system to access the information, even if it happens any failure or anomaly in the system. For this reason, fault tolerance has become an important requirement for distributed system, due to the possibility of failure has currently risen to the increase in number of nodes and the runtime of applications in distributed system. Therefore, to resolve this problem, it is important to add fault tolerance mechanism that have the internal capacity to preserve the execution of the tasks despite the occurrence of faults. In addition to be able to ensure that applications are completed without failures, it is necessary to minimize the overhead and performance, to design a good fault tolerance technique. One approach to organise distributed systems is the use of centralised control. Distributed systems with centralised control have a distinguished control node, called leader node. The main role of a leader node is to distribute and manage shared resources in a resource-efficient manner. If the leader fails, the system needs to elect a new leader in order to continue. The solutions of the leader election problem typically have to be fast and efficient. While leader election has received a lot of attention in message-passing systems, very few solutions have been proposed for shared memory systems. This thesis proposes a leader election mechanism for distributed systems with shared memory. Rollback-recovery strategies are important fault tolerance mechanisms for distributed systems. These strategies do not require additional efforts from the programmer. Rollback-recovery is based on storing information into a stable storage in failure-free state and when a failure affects a node, the system uses the information stored to recovery the state of the node before the failure appears. Based on the study of rollback-recovery techniques, this thesis also presents a new log-based rollback-recovery mechanism for distributed systems with shared memory. The leader election and log-based rollback-recovery mechanism proposed in this thesis are implemented using Light-weight Parallel Execution Layer (LPEL). LPEL is an execution layer to run application based on stream-processing on parallel architectures with shared memory.
C60a Emergent Rules for Continuous Runtime Optimisation in Self-Adaptive Web Server Architectures Roberto Rodrigues Filho Abstract
Current self-adaptive software approaches apply predefined, expertly-crafted rules to guide adaptation to ensure that the system continues to perform as specified within the requirements and expectations of stakeholders. This approach has two problems: it places a high burden on developers to predict how changes in the operating environment may affect how a system behaves (which becomes increasingly complex as the system's complexity scales up); and it results in inflexible policies that do not react to runtime scenarios that fail to match these predictions. In this paper, we present an emergent-software platform able to learn adaptation rules at runtime using machine learning techniques. Our approach solves the above two problems by moving the burden of rule construction into software itself; and by automatically reacting to unforeseen runtime conditions as they occur. We demonstrate the effectiveness of our platform as it continuously learns and creates rules to maximise performance levels in web server systems using architectural adaptation.
C60a Useful data analysis tips for R users Faiza Samreen Abstract
R is one the leading tools and programming languages for statistics, data analysis and machine learning. In this talk I will share my experience of using R for data analysis, with some useful tips for beginners.
C74 Is your VPN really keeping you safe? Gareth Tyson Abstract
Commercial virtual Private Network (VPN) services have become a popular and convenient technology for users seeking privacy and anonymity. They have been applied to a wide range of use cases, with providers often making bold claims, e.g. censorship circumvention, anonymity and protection from monitoring/tracking. I will present an empirical study of VPN security, revealing several worrying vulnerabilities that undermine their claims.
C60b/c The Judgment of Forseti:
Economic Utility for Dynamic Heap Sizing of Multiple Runtimes
Jeremy Singer Abstract
We introduce the Forseti system, which is a principled approach for holistic memory management. It permits a sysadmin to specify the total physical memory resource that may be shared between all concurrent virtual machines on a physical node, e.g. in a datacenter. Forseti seeks to maximize the combined throughput of the set of VMs based on concepts from economic utility theory. Our results show that Forseti enables dramatic reductions (up to 5x) in VM memory footprint without compromising application execution times.
C60a Automated Homecare with Complex Event Processing - Challenges and Solutions Addressed in the CommonSense and TRIO projects Thomas Plagemann Abstract
Automated homecare is an emerging application leveraging the increasing number of networked sensors. We present CommonSens, a complex event processing (CEP) system and query language that provide the abstractions of capabilities and locations of interest to facilitate the task of the application programmer through reuse, easier personalisation, and system supported sensor selection. To achieve these goals we have developed three independent models that represent the concepts an application programmer can use: (1) event model, (2) environment model, and (3) sensor model. The sensor capabilities and locations of interest allow us to decouple the event specification from a particular instance, i.e., an installation of sensors in a particular home. CommonSens investigates the particular environment and chooses sensors that provide the correct capabilities and cover the locations of interest. The personalisation is achieved by updating the values in the conditions, the locations of interest and the time specifications in the queries. The Novelda Impulse Radar is a complete radar transceiver integrated on a single chip. The high bandwidth of the transmitted pulses offers unique penetration abilities and very high accuracy. This short range radar allows to measure in a minmal invasive manner many health-related physiological parameters and environmental parameters in the user environment, e.g., exact indoor positioning, breathing and heart rate, etc. In the TRIO project, we investigate the possibilities and challenges of using this radar technology for medical monitoring and home care applications. We are using CommonSens to model these events and to manage the acquired data, both for on-line and off-line.
C60a Ensafer Key Management Platform for Cloud Encryption Terje Wold Abstract
Invenia is a Norwegian cyber security SME developing Ensafer for cloud encryption based on research at UiT The Arctic University of Norway. The product is a unique platform enabling users to store and share encrypted information on the Internet with no exposure to complexity and encryption details. Ensafer Classic was the first product launched in 2012 after several years of R&D. It's a solution for storing and sharing files using our own cloud. The year after we launched Ensafer Files, which is overlay encryption for Dropbox and similar services. In December 2014 we released Ensafer Messenger for encrypted messages on smartphones. All products use end-to-end encryption, and the underlying technology makes it possible to develop different solutions for cloud encryption. Our main market is professional users and organisations wanting to protect sensitive information.
C60a Privacy Preserving Health Data Processing Anders Andersen Abstract
The usage of electronic health data from different sources for statistical analysis requires a toolset where the legal, security and privacy concerns have been taken into consideration. The health data are typically located at different general practices and hospitals. The data analysis consists of local processing at these locations, and the locations become nodes in a computing graph. To support the legal, security and privacy concerns, the proposed toolset for statistical analysis of health data uses a combination of secure multi-party computation (SMC) algorithms, symmetric and public key encryption, and public key infrastructure (PKI) with certificates and a certificate authority (CA). The proposed toolset should cover a wide range of data analysis with different data distributions. To achieve this, large set of possible SMC algorithms and computing graphs have to be supported.
C60a A Self-organizing Architecture to Enhance End-user Programmability of Complex Distributed System-of-Systems Roberto Rodrigues Filho Abstract
Complex distributed system-of-systems such as Internet of Things (IoT) combined with Cloud Computing has become a hot topic in the distributed system community. One important aspect of this is the programmability of such systems. This talk aims to provoke discussion around a novel approach of programming such hybrid distributed system (composed of IoT and Cloud). This approach aims to explore high-level system description techniques to capture end-user goals, coupled with autonomic computing concepts (self-* properties) to automatically compose the underpinning software architecture that will emerge to control this hybrid infrastructure and grow towards addressing high-level goals.
C38 Principles of Autonomic Networking Andreas Mauthe Abstract
The presentation will focus on the principles, methodologies and technology established during the Autonomic Networking Architecture (ANA) project. The architecture developed in ANA aims to provide flexible, dynamic, and fully autonomous formation of network nodes as well as whole networks. One key objective of ANA was dynamic adaptation and re-organisation of the network according to the working, economical and social needs of the users. There has been an emphasis on the mobile context where new resources become available dynamically, administrative domains change frequently, and the economic models may vary. The presentation will introduce the different concepts that have been established during the pro
KBC Boardroom uPnP Danny Hughes Abstract
The Internet of Things (IoT) requires diverse sensors and actuators. However, contemporary IoT devices provide limited support for the integration of third-party peripherals. This presentation will discuss the problem of bringing plug-and-play peripherals to the IoT and introduce μPnP, a hardware and software solution for plug-and-play integration of embedded peripherals with IoT devices. This is achieved through a low-cost hardware identification approach, a lightweight driver language and a multicast network architecture. The talk will conclude with a live demo of μPnP.
C74 Big Data on Big Systems: Busting a Few Myths Peter Triantafillou Abstract
The explosion of interest in big data has come hand in hand with new data system architectures, facilitating the management of big data and its analysis, which typically depend on the massively-parallel execution of complex queries and analytics tasks. In this talk I will present a vision and a thesis arguing for a much needed new research direction, regarding massive data analyses over large system infrastructures. The vision will be grounded, exemplified by novel solutions to specific applications. To this end, I will outline PYTHIA, a novel big data system architecture we are working on and its usefulness and advantages using three recent research results on big data analytics from my group: One that relates to temporal analytics queries (presented in ICDE 2013), one relating to 'rank and join' queries (presented in PVLDB 2014), and one relating to missing value imputations (presented in KDD 2014).
C38 Towards a Programming Model and Runtime for Systems of Systems Geoff Coulson Abstract
This is a work in progress report on the development of a programming model and associated runtime for constructing systems of systems. The idea is to wrap individual 'systems' (e.g. sensor networks, MANETs, network overlays) in a unified manner and equip each thusly-wrapped system with declaratively-specified rules that capture the circumstances under which they would benefit from interacting or composing with other systems, and the manner in which this should be done. The intention is that this will form the basis of an ecology of autonomous 'systems' that opportunistically interact or compose depending on what they encounter in their environment, so that fit-for-purpose systems of systems arise spontaneously. This talk will focus on the design of a runtime API that is envisaged to enable this way of working. It is hoped that this will lead to a discussion that will take the design onto the next stage.
C74 Academic Cloud Computing Research: Five Pitfalls and Five Opportunities Adam Barker Abstract
This talk will cover at least five fundamental pitfalls, which can restrict academics from conducting cloud computing research at the infrastructure level, which is currently where the vast majority of academic research lies. The case for embracing abstractions provided by clouds will be presented through five opportunities: user driven research, new programming models, PaaS environments, and improved tools to support elasticity and large-scale debugging. The objective of this talk is to foster discussion, and to define a roadmap forward, which will allow academia to make longer-term impacts to the cloud computing community.
C38 MultiBox: Lightweight Containers for Multi-cloud Deployments James Hadley Abstract
Cloud computing aims to make a large selection of sophisticated technologies available to users for deployment and migration. In reality, once a cloud service provider has been chosen, migration is often a costly and time-consuming process. This paper presents MultiBox, a lightweight container technology that facilitates flexible vendor-independent migration. Our framework allows its users to deploy and migrate almost any application in its normal state with minimal computational and network resource overheads. We show that the performance overhead of deploying within a lightweight container is 4.90% of the resources available to an average VM and downtime during a migration is less than the time needed to scale a server using provider-centric tools.
C60a Reiss, Tumanov, Ganger, Katz, and Kozuch. "Heterogeneity and dynamicity of clouds at scale: Google trace analysis". (SoCC'12) Sirak Kaewjamnong Abstract
To better understand the challenges in developing effective cloud-based resource schedulers, we analyze the first publicly available trace data from a sizable multi-purpose cluster. The most notable workload characteristic is heterogeneity: in resource types (e.g., cores:RAM per machine) and their usage (e.g., duration and resources needed). Such heterogeneity reduces the effectiveness of traditional slot- and core-based scheduling. Furthermore, some tasks are constrained as to the kind of machine types they can use, increasing the complexity of resource assignment and complicating task migration. The workload is also highly dynamic, varying over time and most workload features, and is driven by many short jobs that demand quick scheduling decisions. While few simplifying assumptions apply, we find that many longer-running jobs have relatively stable resource utilizations, which can help adaptive resource schedulers.
C60a Adaptive decision making in multi-cloud management Faiza Samreen Abstract
The more cloud providers in the market the more information the users have to handle to choose the best and suitable option for their application or business. The diversity in cloud services is a challenge for automated decision making in the multi-cloud environment. These decisions become more complex when the application requirement and the application owner’s constraints need to be satisfied throughout the application life cycle. This paper presents the concept of an Adaptive Decision Making Broker (ADMB) for multi-cloud management. ADMB aims to provide multi-criteria decision making using machine learning in a multi-cloud environment. In this context, we believe that our proposed methodology has the potential to provide optimal solutions as well as handle trade-offs between the functional and the non-functional requirements of given application.
C60a Machine Learning in Compilers Zheng Wang Abstract
Developing an optimising compiler is a highly skilled and arduous process and there is inevitably a software delay whenever a new processor is designed. It typically takes several generations of a compiler to start to effectively exploit the processors' potential, by which time a new processor appears and the process starts again. This never ending game of catch-up inevitably delays time to market, meaning that we rare fully exploit the hardware during its life time. As we move to heterogeneous many-core platforms, this problem increases and is becoming a fundamental issue for industry. This talk will look at some of my research which uses machine learning to automatically learn how to optimise programs across parallel hardware platforms. It will also look at how we can speed up the learning process through the use of active learning.
2 pm
C38 Just browsing? Understanding user journeys in online TV Yehia Elkhatib Abstract
Understanding the dynamics of user interactions and the behaviour of users as they browse for content is vital for advancements in content discovery, service personalisation, and recommendation engines which ultimately improve quality of user experience. In this paper, we analyse how more than 1,100 users browse an online TV service over a period of six months. Through the use of model-based clustering, we identify distinctive groups of users with discernible browsing patterns that vary during the course of the day.
10 am
D38 Discovering the causal-like relations between disparate data sets in the long tail of Environmental Science Izhar Ullah Abstract
The goal of this research is to study and develop a set of techniques to address the challenge of understanding causal-like1 relations among data sets related to different sub-domains of the long tail of environmental science. We are aiming at achieving new academic understanding of how to discover interdependencies across data sets through new scientific insights stemming from the added spatio-temporal nature of data, coupled with abilities to use the Cloud to analyse, mine and visualize this data. We shall develop ontological model, statistical models and apply data mining techniques and how they work together to examine inter-dependencies across disparate data sets representing different environmental facets, at potentially different geographical locations and at different scale. We are particularly interested in exploring interconnections between data sets related to weather, soils, water, plant ecology and animal behavior. Our research will enable a new kind of integrative environmental science allowing new scientific insights to be gained through examining environmental data in novel ways. This can play a key role in the development of new strategies for holistic solutions to manage environmental ecosystems, informed by data.
11 am
C38 Environmental IoT: Programming Cyber-physical Clouds
with High-level System Specifications
Roberto Rodrigues Filho Abstract
The Environmental IoT is a project where we investigate the potential of an integrated distributed system consisting of an Internet of Things (IoT) and a Cloud Computing infrastructure. The resulting complex distributed system will be used to support deep understanding of the natural environment interdependencies and the management of the natural environment through appropriate interventions. In this paper, we discuss our approach to program this resulting complex distributed system with high-level system specifications in the environmental science context. The high-level specification encapsulates environmental science concepts and conveys the system’s overall goals. The approach consists of three refinement steps that translate the high-level specification into the accordingly behaviour on the resulting distributed system. This process captures the abstract requirements of scientists and supports runtime adaptation.
11 am
C60a Report from CBSE 2014 Barry Porter Proceedings
(click on
'Table of Contents')
11 am
C60b/c On the Semantics of Geo-replicated Databases Ross Horne Abstract
Cloud providers are competing to deploy scalable databases that replicate data across geographically distributed data centres, improving the availability and durability of data. These geo-replicated databases employ weak consistency models. Unlike traditional databases, which serialise transactions, weak consistency models do not establish a global total order over transaction commit events. Firstly, we survey the weak consistency models guaranteed by geo-replicated databases deployed by leading Cloud providers, and emphasise that each weak consistency model is intimately connected to a subtle semantics. Secondly, we introduce a calculus that models the semantics of transactions in a geo-replicated database inspired by Google Spanner. Google Spanner makes use of tight bounds on time stamps to guarantee external consistency at scale.
2 pm
C60a Adaptive Decision Making in Multi-cloud Management Faiza Samreen Abstract
Multi-cloud strategy is the associated use of two or more clouds, be they both public, either private or combination of each. Application management platforms are playing their role to reduce the complexity of application deployment and resource provisioning decisions in a multi-cloud environment. Can we make these decisions more optimized to reflect QoS metric in a multi-cloud environment? This is a most promising research area where I am investigating the possible prospectives of machine learning to improve the decisions for application migration and resource scaling to get maximum benefits out of this multi-cloud paradigm.
11 am
C60a Complex Self-Adaptive Systems: An Engineering Approach Sylvain Frey Abstract
Present and future computer infrastructures are complex: these systems of systems are distributed over different environments (from mobile terminals to the cloud), they span multiple scales (from local domestic networks to the global Internet) and they are intrinsically open (i.e. third-party sub-systems can enter and leave at any point in time). These characteristics have shaped the architecture of the Internet as we know it and they will strongly influence the design of future infrastructures such as smart grids, smart cities or the Internet of Things. This talk will discuss the conception, building and maintenance of complex infrastructures. The Autonomic paradigm will be presented, that aims at developing self-adaptation and self-organisation capabilities. In particular, an integration-driven engineering approach for autonomic systems will be demonstrated with the case of future smart electricity grids.
11 am
C60a Can SPDY Really Make the Web Faster? Yehia Elkhatib Abstract
HTTP is a successful Internet technology on top of which a lot of the web resides. However, limitations with its current specification have encouraged some to look for the next generation of HTTP. In SPDY, Google has come up with such a proposal that has growing community acceptance, especially after being adopted by the IETF HTTPbis-WG as the basis for HTTP/2.0. SPDY has the potential to greatly improve web experience with little deployment overhead, but we still lack an understanding of its true potential in different environments. This paper offers a comprehensive evaluation of SPDY's performance using extensive experiments. We identify the impact of network characteristics and website infrastructure on SPDY's potential page loading benefits, finding that these factors are decisive for an optimal SPDY deployment strategy. Through exploring such key aspects that affect SPDY, and accordingly HTTP/2.0, we feed into the wider debate regarding the impact of future protocols.
11 am
C60a Middleware and Methods for Customizable SaaS Stefan Walraven Abstract
Software as a Service (SaaS) has been increasingly adopted by software vendors as their main software delivery model in their aim to benefit from the economies of scale. One of the key enablers to leverage economies of scale is multi-tenancy: resources are shared among tenants, which leads to higher resource utilization and scalability. However, the focus on increased resource sharing typically results in a one-size-fits-all approach. As a consequence, multi-tenant SaaS applications are inherently limited in terms of flexibility and variability, and cannot be customized to the different and varying requirements of the different tenants. My PhD research resulted in both a middleware framework and a software engineering method, called service line engineering (SLE), to facilitate the development, operation and management of customizable, multi-tenant SaaS applications. The focus is on improving flexibility by enabling tenant-specific customizations, while preserving the economies of scale and limiting the engineering and management complexity.
11 am
C38 Report from the CrossCloud'14 Workshop Yehia Elkhatib Abstract
This is a brief report from the CrossCloud workshop, outlining the program contents and highlighting the major discussion points.
11 am
C38 An Introduction to Cross-Cloud Systems Yehia Elkhatib Abstract
Recent years have seen significant growth in the cloud computing market, both in terms of provider competition (including private cloud offerings) and customer adoption. This has brought about an increasing number of cross-cloud architectures, i.e. systems that span across multiple cloud provisioning boundaries. However, the cloud computing world still lacks any standards in terms of programming interfaces, which has a knock-on effect on the costs associated with interoperability and severely limits application and virtual infrastructure flexibility and portability. In this talk, I will briefly outline cross-cloud systems and some of the associated design decisions.
11 am
D38 Reliability in Distributed Systems Sirak Kaewjamnong Abstract
I will talk about the studies of failure in different computer systems such as consumer PCs, HPCs, and the cloud. I summarize from a number of papers giving information about failure rate, causes, and some comparison between cloud and cluster computing.
11 am
B46 Garg, Versteeg, and Buyya. "A framework for ranking of cloud computing services" (FGCS 29(4):1012–1023 2012) Faiza Samreen Abstract
Cloud computing is revolutionizing the IT industry by enabling them to offer access to their infrastructure and application services on a subscription basis. As a result, several enterprises including IBM, Microsoft, Google, and Amazon have started to offer different Cloud services to their customers. Due to the vast diversity in the available Cloud services, from the customer’s point of view, it has become difficult to decide whose services they should use and what is the basis for their selection. Currently, there is no framework that can allow customers to evaluate Cloud offerings and rank them based on their ability to meet the user’s Quality of Service (QoS) requirements. In this work, we propose a framework and a mechanism that measure the quality and prioritize Cloud services. Such a framework can make a significant impact and will create healthy competition among Cloud providers to satisfy their Service Level Agreement (SLA) and improve their QoS. We have shown the applicability of the ranking framework using a case study.
11 am
C38 Michener and Jones. "Ecoinformatics: supporting ecology as a data-intensive science" (Trends in Ecology & Evolution 27(2):85-93 2012) Izhar Ullah Abstract
Ecology is evolving rapidly and increasingly changing into a more open, accountable, interdisciplinary, collaborative and data-intensive science. Discovering, integrating and analyzing massive amounts of heterogeneous data are central to ecology as researchers address complex questions at scales from the gene to the biosphere. Ecoinformatics offers tools and approaches for managing ecological data and transforming the data into information and knowledge. Here, we review the state-of-the-art and recent advances in ecoinformatics that can benefit ecologists and environmental scientists as they tackle increasingly challenging questions that require voluminous amounts of data across disciplines and scales of space and time. We also highlight the challenges and opportunities that remain.
11 am
C60a Heisey et al. "A Reference Software Architecture to Support Unmanned Aircraft Integration in the National Airspace System" (JIRS 69(1-4):41-55 2013) Douglas Rodrigues Abstract
This paper outlines an architecture that provides data and software services to enable a set of Unmanned Aircraft (UA) platforms to operate in a wide range of air domains which may include terminal, en route, oceanic and tactical. The architecture allows a collection of command, control, situational awareness, conflict detection and avoidance, and data management elements to be composed in order to meet different requirement sets as defined by specific UA platforms, users, and operating regimes. The architecture discussed is based on a Service Oriented Architecture (SOA) with open standards on the interfaces between elements. Services may include common situational awareness, sense and avoid, weather, data management and flight plan information. Service contracts specify quality of service, interface specifications, service description metadata, security provisions, and governance. Pieces of the architecture have been implemented by MIT Lincoln Laboratory in the form of a Sense and Avoid (SAA) testbed that provides some of the core services. This paper describes the general architecture and a SAA testbed implementation that begins to realize that architecture and quantifies the benefits. The proposed architecture is not directed at a specific program but is intended to provide guidance and offer architectural best practices.
11 am
C60a Dynamic Adaptation of Multi-Cloud Computing Applications Andre Almeida Abstract
This talk presents a dynamic adaptation process for multi-cloud applications that is composed of two phases. The first one is a modeling phase, which borrows the ability for representing commonalities and variabilities from the software product lines (SPL) paradigm. In this phase, a customized model feature specifies the configuration of cloud services to be used by an application (commonalities) and the different possible providers for each service (variabilities). The second phase is an implementation phase, which relies on the Mape-K autonomic loop to define the steps of an adaptation strategy and a centralized knowledge management provides the proper inputs for each step.
11 am
D38 Towards Network-wide QoE Fairness using OpenFlow-assisted Adaptive Video Streaming Yehia Elkhatib Abstract
Video streaming is an increasingly popular way to consume media content. Adaptive video streaming is an emerging delivery technology which aims to increase user QoE and maximise connection utilisation. Many implementations naively estimate bandwidth from a one-sided client perspective, without taking into account other devices in the network. This behaviour results in unfairness and could potentially lower QoE for all clients. We propose an OpenFlow-assisted QoE Fairness Framework that aims to fairly maximise the QoE of multiple competing clients in a shared network environment. By leveraging a Software Defined Networking technology, such as OpenFlow, we provide a control plane that orchestrates this functionality. The evaluation of our approach in a home networking scenario introduces user-level fairness and network stability, and illustrates the optimisation of QoE across multiple devices in a network.
11 am
C60a Experiences of Using a Hybrid Cloud to Construct an Environmental Virtual Observatory Yehia Elkhatib Abstract
Environmental science is often fragmented: data is collected using mismatched formats and conventions, and models are misaligned and run in isolation. Cloud computing offers a lot of potential in the way of resolving such issues by supporting data from different sources and at various scales, by facilitating the integration of models to create more sophisticated software services, and by providing a sustainable source of suitable computational and storage resources. In this paper, we highlight some of our experiences in building the Environmental Virtual Observatory pilot (EVOp), a tailored cloud-based infrastructure and associated web-based tools designed to enable users from different backgrounds to access data concerning different environmental issues. We review our architecture design, the current deployment and prototypes. We also reflect on lessons learned. We believe that such experiences are of benefit to other scientific communities looking to assemble virtual observatories or similar virtual research environments.
11 am
C60a Going Beyond Eventual Consistency, NoSQL, and the Cloud Amit Chopra Abstract
In this talk, I will make some remarks about recent trends in databases, in particular the NoSQL variety, Brewer's CAP theorem, and the notion of causality in distributed systems. I will also make brief remarks about the future of distributed computing.
11 am
C60a Cloud-Integrator: A Platform for Composing and Adapting Multi-Cloud Applications Thais Batista Abstract
Cloud-based applications can be composed of services offered by distinct third-party cloud providers. However, as current cloud platforms do not follow common standards, the composition of services provided by several cloud platforms requires a solution in terms of platforms integration. Our work presents Cloud Integrator, a service-oriented middleware platform for composing, executing, and managing services provided by different cloud platforms. Cloud Integrator is based on SOA (Service-Oriented Architecture) and its implementation uses the Web services technology, thus exploring open standards and languages and enabling the integration of services provided by several service providers. According to the SOA approach, cloud platforms are service providers that provide services to cloud applications (clients). Cloud Integrator works as a mediator between these players. The composition of services performed by Cloud Integrator is specified in terms of a semantic workflow that is composed of a sequence of abstract activities regarding the application, so that such activities must be performed by cloud services to achieve the application’s business goal. As most cloud-related information (price, availability, response time) are dynamic and may change any time during the application execution, it is essential to adapt the application upon the detection of quality of service (QoS) violations that affect the application requirements. Cloud Integrator provides a dynamic adaptation approach managed by an autonomic control loop that takes place when a service becomes unavailable or when an agreed QoS is violated in the context of cloud-based applications.
11 am
C38 Perspectives on Cloud Computing - 10 lessons learned from EVOp Gordon Blair
11 am
C60a Dynamic Decision Networks for Decision-Making in Self-Adaptive Systems Nelly Bencomo Abstract
Bayesian decision theory is increasingly applied to support decision-making processes under environmental variability and uncertainty. Researchers from application areas like psychology and biomedicine have applied these techniques successfully. However, in the area of software engineering and specifically in the area of self-adaptive systems (SASs), little progress has been made in the application of Bayesian decision theory. We believe that techniques based on Bayesian Networks (BNs) are useful for systems that dynamically adapt themselves at runtime to a changing environment, which is usually uncertain. In this session, we discuss the case for the use of BNs, specifically Dynamic Decision Networks (DDNs), to support the decision-making of self-adaptive systems. We also present how such a probabilistic model can be used to support the decision-making in SASs and justify its applicability. We have applied our DDN-based approach to the case of an adaptive remote data mirroring system. We discuss results, implications and potential benefits of the DDN to enhance the development and operation of self-adaptive systems, by providing mechanisms to cope with uncertainty and automatically make the best decision.
11 am
C38 The Challenges to Interoperability in Distributed Systems
(part II)
Vatsala Nundloll
11 am
C60b/c Dana Barry Porter Abstract
I'll be presenting some of my most recent work on a new kind of component model that supports the blending of meta-programmable macro-structure with freeform behaviourally-driven micro-structure. This aims to support a higher level of architectural complexity over which we can perform meta-level reasoning and control.
11 am
C60a The Challenges to Interoperability in Distributed Systems
(part I)
Vatsala Nundloll Abstract
This presentation focuses on the different challenges that crop up when tackling interoperability between heterogeneous distributed systems, and the complexity of this problem is even more enhanced when we try to enable interoperability at run time. In this context, the presentation will also look at the role played by ontologies in the interoperability problem.
11 am
C60a Twister, the iterative MapReduce framework Sirak Kaewjamnong Abstract
In this talk, I will present Twister which is an alternative MapReduce framework supporting iterative computation. I will also discuss how it relates to my research on applying MapReduce in a churning environment.
11 am
C60a Indirect multi-point communication in MANETs Lei Liu
11 am
D38 Cloud Computing: Definition, Impact & Future Yehia Elkhatib Abstract
What exactly is cloud computing? What's all this *aaS? How does it affect me? How do I use it? What sort of impact could we expect it to have on academic research and other sectors? This talk aims to answer these questions.
11 am
C38 Machine Learning & Cloud Computing Faiza Samreen
11 am
C38 Bizer, Heath, Tim Berners-Lee. "Linked Data - The Story So Far"
(IJSWIS 5(3), 2009)
Izhar Ullah Abstract
AThe term “Linked Data” refers to a set of best practices for publishing and connecting structured data on the Web. These best practices have been adopted by an increasing number of data providers over the last three years, leading to the creation of a global data space containing billions of assertions— the Web of Data. In this article, the authors present the concept and technical principles of Linked Data, and situate these within the broader context of related technological developments. They describe progress to date in publishing Linked Data on the Web, review applications that have been developed to exploit the Web of Data, and map out a research agenda for the Linked Data community as it moves forward.bc
11 am
C60a Application of SOA in Safety-Critical Embedded Systems Douglas Rodrigues Abstract
Service-Oriented Architecture (SOA) are having a widespread use in enterprise computing applications, being Web services the most common implementation. The use of SOA has also been proposed for embedded systems, although very little could be found in the literature on the use of SOA for Safety-Critical Embedded Systems. This paper discusses the use of SOA for the development of this class of systems. Safety-critical embedded systems have specific requirements such as high reliability and real time response, making the use of SOA more challenging than for standard applications. To make concepts clear, a case study on Avionics for Unmanned Aerial Vehicles (UAVs) is presented. This is a complex application based on a reference model proposed by the authors. SOA shows to be a promising approach to implement parts of this reference model, especially in what concerns the missions played by the aircraft.
10 am
C60a Towards the Coexistence of Divergent Applications on Smart City Sensing Infrastructure Rajiv Ramdhany Abstract
Based on the trends of divergent sensor node software evolution and on-node multi-application coexistence observed from a real smart city WSAN deployment, we propose requirements for optimum exploitation of the infrastructure. In particular, we advocate the need to switch between concurrency models depending on usage context.
11 am
C60a Iosup, Prodan, and Epema. "IaaS Cloud Benchmarking: Approaches, Challenges, and Experience" (MTAGS 2012) Yehia Elkhatib Abstract