Time-critical applications, such as early warning systems or live event broadcasting, present particular challenges. They have hard limits on Quality of Service constraints that must be maintained, ...despite network fluctuations and varying peaks of load. Consequently, such applications must adapt elastically on-demand, and so must be capable of reconfiguring themselves, along with the underlying cloud infrastructure, to satisfy their constraints. Software engineering tools and methodologies currently do not support such a paradigm. In this paper, we describe a framework that has been designed to meet these objectives, as part of the EU SWITCH project. SWITCH offers a flexible co-programming architecture that provides an abstraction layer and an underlying infrastructure environment, which can help to both specify and support the life cycle of time-critical cloud native applications. We describe the architecture, design and implementation of the SWITCH components and describe how such tools are applied to three time-critical real-world use cases.
•The main objective is to address entire life cycle of time-critical cloud applications•SWITCH offers middleware services for infrastructure planning and provisioning•Interactive graphical modelling tools for specification of time-critical requirements•Self-adaptation of on-demand resources and reconfigurability of infrastructure•The concept of co-programming model to support programmability and controllability
Although the cloud computing domain is progressing rapidly, the deployment of various network intensive software utilities in the cloud is still a challenging task. The Quality of Service (QoS) for ...various gaming, simulations, videoconferencing, video streaming or even file uploading tasks may be significantly affected by the quality and geolocation of the selected underlying computing resources, which are available only when the specific functionality is required. This study presents a new architecture for geographic orchestration of network intensive software components which is designed for high QoS. Key elements of this architecture are a Global Cluster Manager operating within Software-Defined Data Centres (SDDCs), a runtime QoS Monitoring System, and a QoS Modeller and Decision Maker for automated orchestration of software utilities. The implemented system automatically selects the best geographically available computing resource within the SDDC according to the developed QoS model of the software component. This architecture is event-driven as the services are deployed and destroyed in real-time for every usage event. The utility of the implemented orchestration technology is verified qualitatively and in relation to the potential gains of selected QoS metrics by using two network intensive software utilities implemented as containers: an HTTP(S) File Upload service and a Jitsi Meet videoconferencing service. The study shows potential for QoS improvements in comparison to existing orchestration systems.
Motivated by the complexity and difficulty of engineering time-critical cloud applications, we investigated the methodology and software workbench to provide full application life cycle support to ...the software engineer. For this purpose we present a novel high-level concept that is concentrated on exchanging the complex, dynamic data using OASIS TOSCA standard, mainly used in static contexts. This methodology enables specifying an application logic, provisioning, deploying, monitoring, and dynamical adaptation to changing conditions. It can be applied effectively to the interchange of dynamically changing data in order to maintain Quality of Service. By extending TOSCA with dynamic mapping of Qualify of Service and runtime attributes related to the application and underlying architecture we show that TOSCA can be used to exchange data and reconfigure on-demand compute resources whilst the application is in the process of design, infrastructure provisioning, runtime or adaptation. To demonstrate that our novel research contributions can be realised, we implemented SWITCH IDE, which showcases this concept through its development workflow which offers application and underlying infrastructure description, manipulation and reconfiguration of QoS and runtime attributes. Our approach differs in that it supports the concept of dynamic TOSCA by directly enabling application runtime to be reconfigured on the fly.
•Mapping application logic, QoS attributes and provisioning plan into TOSCA.•Co-programming and co-control approach to support full application life cycle.•Dynamic use of TOSCA to support changing application’s specifications and state.•Graph-based service modelling tool for creation of cloud-native applications.•User interface for specifying programmable, controllable, adaptable applications.
SWITCH (Software Workbench for Interactive, Time Critical and Highly self-adaptive cloud applications) allows for the development and deployment of real-time applications in the cloud, but it does ...not yet support instances backed by Graphics Processing Units (GPUs). Wanting to explore how SWITCH might support CUDA (a GPU architecture) in the future, we have undertaken a review of time-critical CUDA applications, discovering that run-time requirements (which we call ‘wall time’) are in many cases regarded as the most important. We have performed experiments to investigate which parameters have the greatest impact on wall time when running multiple Amazon Web Services GPU-backed instances. Although a maximum of 8 single-GPU instances can be launched in a single Amazon Region, launching just 2 instances rather than 1 gives a 42% decrease in wall time. Also, instances are often wasted doing nothing, and there is a moderately-strong relationship between how problems are distributed across instances and wall time. These findings can be used to enhance the SWITCH provision for specifying Non-Functional Requirements (NFRs); in the future, GPU-backed instances could be supported. These findings can also be used more generally, to optimise the balance between the computational resources needed and the resulting wall time to obtain results.
•Runtime is the most important QoS metric for time-critical CUDA applications.•One does not need to use the maximum number of instances available.•It is important that instances are not wasted due to too few input problems.•A balance must be struck between money spent on resources and performance gain.
Although the cloud computing domain is progressing rapidly, the deployment of various network intensive software utilities in the cloud is still a challenging task. The Quality of Service (QoS) for ...various gaming, simulations, videoconferencing, video streaming or even file uploading tasks may be significantly affected by the quality and geolocation of the selected underlying computing resources, which are available only when the specific functionality is required. This study presents a new architecture for geographic orchestration of network intensive software components which is designed for high QoS. Key elements of this architecture are a Global Cluster Manager operating within Software-Defined Data Centres (SDDCs), a runtime QoS Monitoring System, and a QoS Modeller and Decision Maker for automated orchestration of software utilities. The implemented system automatically selects the best geographically available computing resource within the SDDC according to the developed QoS model of the software component. This architecture is event-driven as the services are deployed and destroyed in real-time for every usage event. The utility of the implemented orchestration technology is verified qualitatively and in relation to the potential gains of selected QoS metrics by using two network intensive software utilities implemented as containers: an HTTP(S) File Upload service and a Jitsi Meet videoconferencing service. The study shows potential for QoS improvements in comparison to existing orchestration systems.
As demands on new software increase, new approaches are needed to help developers ensure Quality of Service (QoS) for their offered service. In this paper we present a QoS modeling approach that ...complements and extends the standard microservice and component-based software engineering tools by giving the software engineer information on what Non-Functional Requirements (NFRs) and quality constraints have critical influence on QoS. This concept extends the co-programing concept of programing the software and infrastructure with the ability to do this in a more informed manner. The result of this are Qualitative Metadata Markers (QMM) that provide guidelines for changing the infrastructure that can be used by humans or specialized decision-making algorithms.