Anshul J. | Technische Universität München (original) (raw)
Papers by Anshul J.
Service-Oriented and Cloud Computing, 2022
Function-as-a-Service (FaaS), a key enabler of serverless computing, has been proliferating, as i... more Function-as-a-Service (FaaS), a key enabler of serverless computing, has been proliferating, as it offers a cheap alternative for application development and deployment. However, while offering many advantages, FaaS also poses new challenges. In particular, most commercial FaaS providers still require users to manually configure the memory allocated to the FaaS functions based on their experience and knowledge. This often leads to suboptimal function performance and higher execution costs. In this paper, we present a framework called MAFF that automatically finds the optimal memory configurations for the FaaS functions based on two optimization objectives: cost-only and balanced (balance between cost and execution duration). Furthermore, MAFF self-adapts the memory configurations for the FaaS functions based on the changing function inputs or other requirements, such as an increase in the number of requests. Moreover, we propose and implement different optimization algorithms for different objectives. We demonstrate the functionality of MAFF on AWS Lambda by testing on four different categories of FaaS functions. Our results show that the suggested memory configurations with the Linear algorithm achieve 90% accuracy with a speedup of 2x compared to the other algorithms. Finally, we compare MAFF with two popular memory optimization tools provided by AWS, i.e., AWS Compute Optimizer and AWS Lambda Power Tuning, and demonstrate how our framework overcomes their limitations.
IEEE 6th International Conference on Fog and Edge Computing (ICFEC), 2022
Function-as-a-Service (FaaS) is an attractive cloud computing model that simplifies application d... more Function-as-a-Service (FaaS) is an attractive cloud computing model that simplifies application development and deployment. However, current serverless compute platforms do not consider data placement when scheduling functions. With the growing demand for edge-cloud continuum, multi-cloud, and multi-serverless applications, this flaw means serverless technologies are still ill-suited to latency-sensitive operations like media streaming. This work proposes a solution by presenting a tool called FaDO: FaaS Functions and Data Orchestrator, designed to allow data-aware functions scheduling across multiserverless compute clusters present at different locations, such as at the edge and in the cloud. FaDO works through headerbased HTTP reverse proxying and uses three load-balancing algorithms: 1) The Least Connections, 2) Round Robin, and 3) Random for load balancing the invocations of the function across the suitable serverless compute clusters based on the set storage policies. FaDO further provides users with an abstraction of the serverless compute cluster's storage, allowing users to interact with data across different storage services through a unified interface. In addition, users can configure automatic and policy-aware granular data replications, causing FaDO to spread data across the clusters while respecting location constraints. Load testing results show that it is capable of load balancing high-throughput workloads, placing functions near their data without contributing any significant performance overhead.
12th International Conference on Cloud Computing and Services Science, 2022
In the recent past, characterizing workloads has been attempted to gain a foothold in the emergin... more In the recent past, characterizing workloads has been attempted to gain a foothold in the emerging serverless cloud market, especially in the large production cloud clusters of Google, AWS, and so forth. While analyzing and characterizing real workloads from a large production cloud cluster benefits cloud providers, researchers, and daily users, analyzing the workload traces of these clusters has been an arduous task due to the heterogeneous nature of data. This article proposes a scalable infrastructure based on Google's dataproc for analyzing the workload traces of cloud environments. We evaluated the functioning of the proposed infrastructure using the workload traces of Google cloud cluster-usage-traces-v3. We perform the workload characterization on this dataset, focusing on the heterogeneity of the workload, the variations in job durations, aspects of resources consumption, and the overall availability of resources provided by the cluster. The findings reported in the paper will be beneficial for cloud infrastructure providers and users while managing the cloud computing resources, especially serverless platforms.
European Conference on Service-Oriented and Cloud Computing, 2022
Function-as-a-Service (FaaS), a key enabler of serverless computing, has been proliferating, as i... more Function-as-a-Service (FaaS), a key enabler of serverless computing, has been proliferating, as it offers a cheap alternative for application development and deployment. However, while offering many advantages, FaaS also poses new challenges. In particular, most commercial FaaS providers still require users to manually configure the memory allocated to the FaaS functions based on their experience and knowledge. This often leads to suboptimal function performance and higher execution costs. In this paper, we present a framework called MAFF that automatically finds the optimal memory configurations for the FaaS functions based on two optimization objectives: cost-only and balanced (balance between cost and execution duration). Furthermore, MAFF self-adapts the memory configurations for the FaaS functions based on the changing function inputs or other requirements, such as an increase in the number of requests. Moreover, we propose and implement different optimization algorithms for different objectives. We demonstrate the functionality of MAFF on AWS Lambda by testing on four different categories of FaaS functions. Our results show that the suggested memory configurations with the Linear algorithm achieve 90% accuracy with a speedup of 2x compared to the other algorithms. Finally, we compare MAFF with two popular memory optimization tools provided by AWS, i.e., AWS Compute Optimizer and AWS Lambda Power Tuning, and demonstrate how our framework overcomes their limitations.
ArXiv, 2021
Server virtualization in the form of virtual machines (VMs) with the use of a hypervisor or a Vir... more Server virtualization in the form of virtual machines (VMs) with the use of a hypervisor or a Virtual Machine Monitor (VMM) is an essential part of cloud computing technology to provide infrastructureas-a-service (IaaS). A fault or an anomaly in the VMM can propagate to the VMs hosted on it and ultimately affect the availability and reliability of the applications running on those VMs. Therefore, identifying and eventually resolving it quickly is highly important. However, anomalous VMM detection is a challenge in the cloud environment since the user does not have access to the VMM. This paper addresses this challenge of anomalous VMM detection in the cloud-based environment without having any knowledge or data from VMM by introducing a novel machine learning-based algorithm called IAD: Indirect Anomalous VMMs Detection. This algorithm solely uses the VM’s resources utilization data hosted on those VMMs for the anomalous VMMs detection. The developed algorithm’s accuracy was tested ...
A memory leak in an application deployed on the cloud can affect the availability and reliability... more A memory leak in an application deployed on the cloud can affect the availability and reliability of the application. Therefore, to identify and ultimately resolve it quickly is highly important. However, in the production environment running on the cloud, memory leak detection is a challenge without the knowledge of the application or its internal object allocation details. This paper addresses this challenge of online detection of memory leaks in cloud-based infrastructure without having any internal application knowledge by introducing a novel machine learning based algorithm Precog. This algorithm solely uses one metric i.e the system's memory utilization on which the application is deployed for the detection of a memory leak. The developed algorithm's accuracy was tested on 60 virtual machines manually labeled memory utilization data provided by our industry partner Huawei Munich Research Center and it was found that the proposed algorithm achieves the accuracy score of...
The recent growth of the Internet of Things (IoT) devices has lead to the rise of various complex... more The recent growth of the Internet of Things (IoT) devices has lead to the rise of various complex applications where these applications involve interactions among large numbers of heterogeneous devices. An important challenge that needs to be addressed is to facilitate the agile development of IoT applications with minimal effort by the various parties involved in the process. However, IoT application development is challenging due to the wide variety of hardware and software technologies that interact in an IoT system. Moreover, it involves dealing with issues that are attributed to different software life-cycle phases: development, deployment, and progression. In this paper, we examine three IoT application development approaches: Mashup-based development, Model-based development, and Function-as-a-Service based development. The advantages and disadvantages of each approach are discussed from different perspectives, including reliability, deployment expeditiousness, ease of use, a...
A memory leak in an application deployed on the cloud can affect the availability and reliability... more A memory leak in an application deployed on the cloud can affect the availability and reliability of the application. Therefore, identifying and ultimately resolve it quickly is highly important. However, in the production environment running on the cloud, memory leak detection is a challenge without the knowledge of the application or its internal object allocation details. This paper addresses this challenge of detection of memory leaks in cloud-based infrastructure without having any internal knowledge by introducing two novel machine learning-based algorithms: Linear Backward Regression (LBR) and Precog and, their two variants: Linear Backward Regression with Change Points Detection (LBRCPD) and Precog with Maximum Filteration (PrecogMF). These algorithms only use one metric i.e the system's memory utilization on which the application is deployed for detection of a memory leak. The developed algorithm's accuracy was tested on 60 virtual machines manually labeled memory u...
2020 International Conference on Innovative Trends in Information Technology (ICITIIT)
Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering
Microservices enable a fine-grained control over the cloud applications that they constitute and ... more Microservices enable a fine-grained control over the cloud applications that they constitute and thus became widely-used in the industry. Each microservice implements its own functionality and communicates with other microservices through language-and platform-agnostic API. The resources usage of microservices varies depending on the implemented functionality and the workload. Continuously increasing load or a sudden load spike may yield a violation of a service level objective (SLO). To characterize the behavior of a microservice application which is appropriate for the user, we define a MicroService Capacity (MSC) as a maximal rate of requests that can be served without violating SLO. The paper addresses the challenge of identifying MSC individually for each microservice. Finding individual capacities of microservices ensures the flexibility of the capacity planning for an application. This challenge is addressed by sandboxing a microservice and building its performance model. This approach was implemented in a tool Terminus. The tool estimates the capacity of a microservice on different deployment configurations by conducting a limited set of load tests followed by fitting an appropriate regression model to the acquired performance data. The evaluation of the microservice performance models on microservices of four different applications shown relatively accurate predictions with mean absolute percentage error (MAPE) less than 10%. The results of the proposed performance modeling for individual microservices are deemed as a major input for the microservice application performance modeling.
2017 IEEE 7th International Symposium on Cloud and Service Computing (SC2)
A multilayered autoscaling gets an increasing attention both in research and business communities... more A multilayered autoscaling gets an increasing attention both in research and business communities. Introduction of new virtualization layers such as containers, pods, and clusters has turned a deployment and a management of cloud applications into a simple routine. Each virtualization layer usually provides its own solution for scaling. However, synchronization and collaboration of these solutions on multiple layers of virtualization remains an open topic. In the scope of the paper, we consider a wide research problem of the autoscaling across several layers for cloud applications. A novel approach to multilayered autoscalers performance measurement is introduced in this paper. This approach is implemented in Autoscaling Performance Measurement Tool (APMT), which architecture and functionality are also discussed. Results of model experiments on different requests patterns are also provided in the paper.
2018 IEEE 12th International Conference on Self-Adaptive and Self-Organizing Systems (SASO)
With the introduction of autoscaling, clouds have strengthened their position as self-adaptive sy... more With the introduction of autoscaling, clouds have strengthened their position as self-adaptive systems. Nevertheless, the reactive nature of the existing autoscaling solutions provided by major Infrastructure-as-a-Service (IaaS) cloud services providers (CSP) heavily limits the ability of cloud applications for self-adaptation. The major reason of such limitations is the necessity for the manual configuration of the autoscaling rules. With the evolution of monitoring systems, it became possible to employ the data-driven approaches to derive the parameters of scaling rules in order to enable the autoscaling in advance, i.e. the predictive autoscaling. The change in the amount of requests to microservices could be considered as a reason to adapt the virtual infrastructure underlying the cloud application. By forecasting the amount of requests to cloud application, it is possible to estimate the upcoming demand to replicate the microservices in advance. Hence, anticipation of the demand on the cloud application helps to evolve its self-adaptive properties. In the scope of the paper, the authors have tested various extrapolation models on the real anonymized requests time series data for 261 microservices provided by the industry partner Instana. The tested models are: various seasonal ARIMA models with GARCH modifications and outliers detection, exponential smoothing models, singular spectrum analysis (SSA), support vector regression (SVR), and simple linear regression. In order to evaluate the accuracy of these models, an interval score was used. The time required to fit and use each model was also evaluated. Comparative results of this research and the classification of forecasting models based on the interval accuracy score and model fitting time are provided in the paper. The study provides an approach to evaluate the quality of forecasting models to be used for self-adapting cloud applications and virtual infrastructure.
Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing Companion
This paper is invited to the Special Section on "Advances on complex cloud and service oriented c... more This paper is invited to the Special Section on "Advances on complex cloud and service oriented computing". The wide adoption of cloud computing by businesses is due to several reasons, among which the elasticity of the cloud virtual infrastructure a is the definite leader. Container technology allows to increase the flexibility of an application by adding another layer of virtualization. The containers can be dynamically created and terminated, and also moved from one host to another. A company can achieve a significant cost reduction and increase the manageability of its applications by allowing to run the containerized microservice applications in the cloud. The scaling for such solutions is conducted on both layers-the virtual infrastructure layer and the containers layer. Scaling on both layers needs to be synchronized so that for example the virtual machine won't be terminated with containers still running on it. The synchronization between layers is enabled by multilayered cooperative scaling implying that the autoscaling solution of the virtual infrastructure layer is aware of the decisions of the autoscaling solution on the containers layer and vice versa. In this paper, we introduce a notion of the cooperative multilayered scaling and the performance of the multilayered autoscaling solutions evaluated using the approach implemented in ScaleX (previously known as Autoscaling Performance Measurement Tool, APMT). We provide the results of the experimental evaluation of the multilayered autoscaling performance for the combination of the virtual infrastructure autoscaling of AWS, Microsoft Azure and Google Compute Engine with the pods horizontal autoscaling of Kubernetes by using ScaleX with 4 distinct load patterns. We also discuss the effect of the Docker container image size and its pulling policy on the scaling performance.
IEEE Access
Serverless computing is a cloud computing paradigm that allows developers to focus exclusively on... more Serverless computing is a cloud computing paradigm that allows developers to focus exclusively on business logic as cloud service providers manage resource management tasks. Serverless applications based on this model are often composed of several fine-grained and ephemeral Function-as-a-Service (FaaS) functions that implement complex business processes via mutual interaction and interaction with Backend-as-a-Services (BaaS) such as databases. FaaS functions suffer from the cold start problem because of the scale to zero instances feature. In this work, we use neural Temporal Point Processes (TPPs) to model function invocations in FaaS compositions. We predict a probability distribution over the time and class of the following invocations for a given history of invocations using these probabilistic models. The prediction can avoid cold starts by scaling functions in advance and reduce network load by optimizing the function-server assignment. In this regard, we developed a python-based tool called TppFaaS on top of OpenWhisk open-source serverless platform. TppFaaS uses the neural TPPs LogNormMix for modeling the time using a log-normal mixture distribution and TruncNorm for predicting a single value for the time. Furthermore, we built a custom trace data collector for OpenWhisk embedded into TppFaaS and created datasets for multiple FaaS compositions to train and test our models. For datasets without cold starts, the models achieved for most compositions a mean absolute error below 22ms and a percentage of correctly predicted function classes above 94%.
Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing
With the advent of serverless computing in different domains, there is a growing need for dynamic... more With the advent of serverless computing in different domains, there is a growing need for dynamic adaption to handle diverse and heterogeneous functions. However, serverless computing is currently limited to homogeneous Function-as-a-Service (FaaS) deployments or simply FaaS Deployment (FaaSD) consisting of deployments of serverless functions using a FaaS platform in a region with certain memory configurations. Extending serverless computing to support Heterogeneous FaaS Deployments (HeteroFaaSDs) consisting of multiple FaaSDs with variable configurations (FaaS platform, region, and memory) and dynamically load balancing the invocations of the functions across these FaaSDs within a HeteroFaaSD can provide an optimal way for handling such serverless functions. In this paper, we present a software system called Courier that is responsible for optimally distributing the invocations of the functions (called delivering of serverless functions) within the HeteroFaaSDs based on the execution time of the functions on the FaaSDs comprising the HeteroFaaSDs. To this end, we developed two approaches: Auto Weighted Round-Robin (AWRR) and Per-Function Auto Weighted Round-Robin (PFAWRR) that use functions execution times for delivering serverless functions within a HeteroFaaSD to reduce the overall execution time. We demonstrate and evaluate the functioning of our developed tool on three HeteroFaaSDs using three FaaS platforms: 1) on-premise Open-Whisk, 2) AWS Lambda, and 3) Google Cloud Functions (GCF). We show that Courier can improve the overall performance of the invocations of the functions within a HeteroFaaSD as compared to traditional load balancing algorithms. CCS CONCEPTS • Computer systems organization → Cloud computing.
2021 IEEE International Conference on Big Data (Big Data)
Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, 2018
More companies are shifting focus to adding more layers of virtualization for their cloud applica... more More companies are shifting focus to adding more layers of virtualization for their cloud applications thus increasing the flexibility in development, deployment and management of applications. Increase in the number of layers can result in additional overhead during autoscaling and also in coordination issues while layers may use the same resources while managed by different software. In order to capture these multilayered autoscaling performance issues, an Autoscaling Performance Measurement Tool (APMT) was developed. This tool evaluates the performance of cloud autoscaling solutions and combinations thereof for varying types of load patterns. In the paper, we highlight the architecture of the tool and its configuration. An autoscaling behavior for major IaaS providers with Kubernetes pods as the second layer of virtualization is illustrated using the data collected by APMT.
Reduplication words is a class of MWE which is rapidly expanding due to the continuous need for c... more Reduplication words is a class of MWE which is rapidly expanding due to the continuous need for coinage of new terms for describing new concepts, such as multi word expression, gold standard, and web page. Identification of reduplication words can particularly help parsing, and dictionary based applications like machine translation, and cross lingual information retrieval, since such word sequences should be treated as a single unit. The purpose of our work is to come up with a list of potential reduplication MWEs which a lexicographer can look at and decide whether a given word sequence should be added to the lexicon. This will aid the construction of a quality lexicon which incorporates MWE entries. A system is to be developed which is focused on first extracting reduplication words from the given text and then identify them into different categories based upon their semantic and syntactic analysis. The system should store different categories words into different files based upon...
Service-Oriented and Cloud Computing, 2022
Function-as-a-Service (FaaS), a key enabler of serverless computing, has been proliferating, as i... more Function-as-a-Service (FaaS), a key enabler of serverless computing, has been proliferating, as it offers a cheap alternative for application development and deployment. However, while offering many advantages, FaaS also poses new challenges. In particular, most commercial FaaS providers still require users to manually configure the memory allocated to the FaaS functions based on their experience and knowledge. This often leads to suboptimal function performance and higher execution costs. In this paper, we present a framework called MAFF that automatically finds the optimal memory configurations for the FaaS functions based on two optimization objectives: cost-only and balanced (balance between cost and execution duration). Furthermore, MAFF self-adapts the memory configurations for the FaaS functions based on the changing function inputs or other requirements, such as an increase in the number of requests. Moreover, we propose and implement different optimization algorithms for different objectives. We demonstrate the functionality of MAFF on AWS Lambda by testing on four different categories of FaaS functions. Our results show that the suggested memory configurations with the Linear algorithm achieve 90% accuracy with a speedup of 2x compared to the other algorithms. Finally, we compare MAFF with two popular memory optimization tools provided by AWS, i.e., AWS Compute Optimizer and AWS Lambda Power Tuning, and demonstrate how our framework overcomes their limitations.
IEEE 6th International Conference on Fog and Edge Computing (ICFEC), 2022
Function-as-a-Service (FaaS) is an attractive cloud computing model that simplifies application d... more Function-as-a-Service (FaaS) is an attractive cloud computing model that simplifies application development and deployment. However, current serverless compute platforms do not consider data placement when scheduling functions. With the growing demand for edge-cloud continuum, multi-cloud, and multi-serverless applications, this flaw means serverless technologies are still ill-suited to latency-sensitive operations like media streaming. This work proposes a solution by presenting a tool called FaDO: FaaS Functions and Data Orchestrator, designed to allow data-aware functions scheduling across multiserverless compute clusters present at different locations, such as at the edge and in the cloud. FaDO works through headerbased HTTP reverse proxying and uses three load-balancing algorithms: 1) The Least Connections, 2) Round Robin, and 3) Random for load balancing the invocations of the function across the suitable serverless compute clusters based on the set storage policies. FaDO further provides users with an abstraction of the serverless compute cluster's storage, allowing users to interact with data across different storage services through a unified interface. In addition, users can configure automatic and policy-aware granular data replications, causing FaDO to spread data across the clusters while respecting location constraints. Load testing results show that it is capable of load balancing high-throughput workloads, placing functions near their data without contributing any significant performance overhead.
12th International Conference on Cloud Computing and Services Science, 2022
In the recent past, characterizing workloads has been attempted to gain a foothold in the emergin... more In the recent past, characterizing workloads has been attempted to gain a foothold in the emerging serverless cloud market, especially in the large production cloud clusters of Google, AWS, and so forth. While analyzing and characterizing real workloads from a large production cloud cluster benefits cloud providers, researchers, and daily users, analyzing the workload traces of these clusters has been an arduous task due to the heterogeneous nature of data. This article proposes a scalable infrastructure based on Google's dataproc for analyzing the workload traces of cloud environments. We evaluated the functioning of the proposed infrastructure using the workload traces of Google cloud cluster-usage-traces-v3. We perform the workload characterization on this dataset, focusing on the heterogeneity of the workload, the variations in job durations, aspects of resources consumption, and the overall availability of resources provided by the cluster. The findings reported in the paper will be beneficial for cloud infrastructure providers and users while managing the cloud computing resources, especially serverless platforms.
European Conference on Service-Oriented and Cloud Computing, 2022
Function-as-a-Service (FaaS), a key enabler of serverless computing, has been proliferating, as i... more Function-as-a-Service (FaaS), a key enabler of serverless computing, has been proliferating, as it offers a cheap alternative for application development and deployment. However, while offering many advantages, FaaS also poses new challenges. In particular, most commercial FaaS providers still require users to manually configure the memory allocated to the FaaS functions based on their experience and knowledge. This often leads to suboptimal function performance and higher execution costs. In this paper, we present a framework called MAFF that automatically finds the optimal memory configurations for the FaaS functions based on two optimization objectives: cost-only and balanced (balance between cost and execution duration). Furthermore, MAFF self-adapts the memory configurations for the FaaS functions based on the changing function inputs or other requirements, such as an increase in the number of requests. Moreover, we propose and implement different optimization algorithms for different objectives. We demonstrate the functionality of MAFF on AWS Lambda by testing on four different categories of FaaS functions. Our results show that the suggested memory configurations with the Linear algorithm achieve 90% accuracy with a speedup of 2x compared to the other algorithms. Finally, we compare MAFF with two popular memory optimization tools provided by AWS, i.e., AWS Compute Optimizer and AWS Lambda Power Tuning, and demonstrate how our framework overcomes their limitations.
ArXiv, 2021
Server virtualization in the form of virtual machines (VMs) with the use of a hypervisor or a Vir... more Server virtualization in the form of virtual machines (VMs) with the use of a hypervisor or a Virtual Machine Monitor (VMM) is an essential part of cloud computing technology to provide infrastructureas-a-service (IaaS). A fault or an anomaly in the VMM can propagate to the VMs hosted on it and ultimately affect the availability and reliability of the applications running on those VMs. Therefore, identifying and eventually resolving it quickly is highly important. However, anomalous VMM detection is a challenge in the cloud environment since the user does not have access to the VMM. This paper addresses this challenge of anomalous VMM detection in the cloud-based environment without having any knowledge or data from VMM by introducing a novel machine learning-based algorithm called IAD: Indirect Anomalous VMMs Detection. This algorithm solely uses the VM’s resources utilization data hosted on those VMMs for the anomalous VMMs detection. The developed algorithm’s accuracy was tested ...
A memory leak in an application deployed on the cloud can affect the availability and reliability... more A memory leak in an application deployed on the cloud can affect the availability and reliability of the application. Therefore, to identify and ultimately resolve it quickly is highly important. However, in the production environment running on the cloud, memory leak detection is a challenge without the knowledge of the application or its internal object allocation details. This paper addresses this challenge of online detection of memory leaks in cloud-based infrastructure without having any internal application knowledge by introducing a novel machine learning based algorithm Precog. This algorithm solely uses one metric i.e the system's memory utilization on which the application is deployed for the detection of a memory leak. The developed algorithm's accuracy was tested on 60 virtual machines manually labeled memory utilization data provided by our industry partner Huawei Munich Research Center and it was found that the proposed algorithm achieves the accuracy score of...
The recent growth of the Internet of Things (IoT) devices has lead to the rise of various complex... more The recent growth of the Internet of Things (IoT) devices has lead to the rise of various complex applications where these applications involve interactions among large numbers of heterogeneous devices. An important challenge that needs to be addressed is to facilitate the agile development of IoT applications with minimal effort by the various parties involved in the process. However, IoT application development is challenging due to the wide variety of hardware and software technologies that interact in an IoT system. Moreover, it involves dealing with issues that are attributed to different software life-cycle phases: development, deployment, and progression. In this paper, we examine three IoT application development approaches: Mashup-based development, Model-based development, and Function-as-a-Service based development. The advantages and disadvantages of each approach are discussed from different perspectives, including reliability, deployment expeditiousness, ease of use, a...
A memory leak in an application deployed on the cloud can affect the availability and reliability... more A memory leak in an application deployed on the cloud can affect the availability and reliability of the application. Therefore, identifying and ultimately resolve it quickly is highly important. However, in the production environment running on the cloud, memory leak detection is a challenge without the knowledge of the application or its internal object allocation details. This paper addresses this challenge of detection of memory leaks in cloud-based infrastructure without having any internal knowledge by introducing two novel machine learning-based algorithms: Linear Backward Regression (LBR) and Precog and, their two variants: Linear Backward Regression with Change Points Detection (LBRCPD) and Precog with Maximum Filteration (PrecogMF). These algorithms only use one metric i.e the system's memory utilization on which the application is deployed for detection of a memory leak. The developed algorithm's accuracy was tested on 60 virtual machines manually labeled memory u...
2020 International Conference on Innovative Trends in Information Technology (ICITIIT)
Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering
Microservices enable a fine-grained control over the cloud applications that they constitute and ... more Microservices enable a fine-grained control over the cloud applications that they constitute and thus became widely-used in the industry. Each microservice implements its own functionality and communicates with other microservices through language-and platform-agnostic API. The resources usage of microservices varies depending on the implemented functionality and the workload. Continuously increasing load or a sudden load spike may yield a violation of a service level objective (SLO). To characterize the behavior of a microservice application which is appropriate for the user, we define a MicroService Capacity (MSC) as a maximal rate of requests that can be served without violating SLO. The paper addresses the challenge of identifying MSC individually for each microservice. Finding individual capacities of microservices ensures the flexibility of the capacity planning for an application. This challenge is addressed by sandboxing a microservice and building its performance model. This approach was implemented in a tool Terminus. The tool estimates the capacity of a microservice on different deployment configurations by conducting a limited set of load tests followed by fitting an appropriate regression model to the acquired performance data. The evaluation of the microservice performance models on microservices of four different applications shown relatively accurate predictions with mean absolute percentage error (MAPE) less than 10%. The results of the proposed performance modeling for individual microservices are deemed as a major input for the microservice application performance modeling.
2017 IEEE 7th International Symposium on Cloud and Service Computing (SC2)
A multilayered autoscaling gets an increasing attention both in research and business communities... more A multilayered autoscaling gets an increasing attention both in research and business communities. Introduction of new virtualization layers such as containers, pods, and clusters has turned a deployment and a management of cloud applications into a simple routine. Each virtualization layer usually provides its own solution for scaling. However, synchronization and collaboration of these solutions on multiple layers of virtualization remains an open topic. In the scope of the paper, we consider a wide research problem of the autoscaling across several layers for cloud applications. A novel approach to multilayered autoscalers performance measurement is introduced in this paper. This approach is implemented in Autoscaling Performance Measurement Tool (APMT), which architecture and functionality are also discussed. Results of model experiments on different requests patterns are also provided in the paper.
2018 IEEE 12th International Conference on Self-Adaptive and Self-Organizing Systems (SASO)
With the introduction of autoscaling, clouds have strengthened their position as self-adaptive sy... more With the introduction of autoscaling, clouds have strengthened their position as self-adaptive systems. Nevertheless, the reactive nature of the existing autoscaling solutions provided by major Infrastructure-as-a-Service (IaaS) cloud services providers (CSP) heavily limits the ability of cloud applications for self-adaptation. The major reason of such limitations is the necessity for the manual configuration of the autoscaling rules. With the evolution of monitoring systems, it became possible to employ the data-driven approaches to derive the parameters of scaling rules in order to enable the autoscaling in advance, i.e. the predictive autoscaling. The change in the amount of requests to microservices could be considered as a reason to adapt the virtual infrastructure underlying the cloud application. By forecasting the amount of requests to cloud application, it is possible to estimate the upcoming demand to replicate the microservices in advance. Hence, anticipation of the demand on the cloud application helps to evolve its self-adaptive properties. In the scope of the paper, the authors have tested various extrapolation models on the real anonymized requests time series data for 261 microservices provided by the industry partner Instana. The tested models are: various seasonal ARIMA models with GARCH modifications and outliers detection, exponential smoothing models, singular spectrum analysis (SSA), support vector regression (SVR), and simple linear regression. In order to evaluate the accuracy of these models, an interval score was used. The time required to fit and use each model was also evaluated. Comparative results of this research and the classification of forecasting models based on the interval accuracy score and model fitting time are provided in the paper. The study provides an approach to evaluate the quality of forecasting models to be used for self-adapting cloud applications and virtual infrastructure.
Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing Companion
This paper is invited to the Special Section on "Advances on complex cloud and service oriented c... more This paper is invited to the Special Section on "Advances on complex cloud and service oriented computing". The wide adoption of cloud computing by businesses is due to several reasons, among which the elasticity of the cloud virtual infrastructure a is the definite leader. Container technology allows to increase the flexibility of an application by adding another layer of virtualization. The containers can be dynamically created and terminated, and also moved from one host to another. A company can achieve a significant cost reduction and increase the manageability of its applications by allowing to run the containerized microservice applications in the cloud. The scaling for such solutions is conducted on both layers-the virtual infrastructure layer and the containers layer. Scaling on both layers needs to be synchronized so that for example the virtual machine won't be terminated with containers still running on it. The synchronization between layers is enabled by multilayered cooperative scaling implying that the autoscaling solution of the virtual infrastructure layer is aware of the decisions of the autoscaling solution on the containers layer and vice versa. In this paper, we introduce a notion of the cooperative multilayered scaling and the performance of the multilayered autoscaling solutions evaluated using the approach implemented in ScaleX (previously known as Autoscaling Performance Measurement Tool, APMT). We provide the results of the experimental evaluation of the multilayered autoscaling performance for the combination of the virtual infrastructure autoscaling of AWS, Microsoft Azure and Google Compute Engine with the pods horizontal autoscaling of Kubernetes by using ScaleX with 4 distinct load patterns. We also discuss the effect of the Docker container image size and its pulling policy on the scaling performance.
IEEE Access
Serverless computing is a cloud computing paradigm that allows developers to focus exclusively on... more Serverless computing is a cloud computing paradigm that allows developers to focus exclusively on business logic as cloud service providers manage resource management tasks. Serverless applications based on this model are often composed of several fine-grained and ephemeral Function-as-a-Service (FaaS) functions that implement complex business processes via mutual interaction and interaction with Backend-as-a-Services (BaaS) such as databases. FaaS functions suffer from the cold start problem because of the scale to zero instances feature. In this work, we use neural Temporal Point Processes (TPPs) to model function invocations in FaaS compositions. We predict a probability distribution over the time and class of the following invocations for a given history of invocations using these probabilistic models. The prediction can avoid cold starts by scaling functions in advance and reduce network load by optimizing the function-server assignment. In this regard, we developed a python-based tool called TppFaaS on top of OpenWhisk open-source serverless platform. TppFaaS uses the neural TPPs LogNormMix for modeling the time using a log-normal mixture distribution and TruncNorm for predicting a single value for the time. Furthermore, we built a custom trace data collector for OpenWhisk embedded into TppFaaS and created datasets for multiple FaaS compositions to train and test our models. For datasets without cold starts, the models achieved for most compositions a mean absolute error below 22ms and a percentage of correctly predicted function classes above 94%.
Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing
With the advent of serverless computing in different domains, there is a growing need for dynamic... more With the advent of serverless computing in different domains, there is a growing need for dynamic adaption to handle diverse and heterogeneous functions. However, serverless computing is currently limited to homogeneous Function-as-a-Service (FaaS) deployments or simply FaaS Deployment (FaaSD) consisting of deployments of serverless functions using a FaaS platform in a region with certain memory configurations. Extending serverless computing to support Heterogeneous FaaS Deployments (HeteroFaaSDs) consisting of multiple FaaSDs with variable configurations (FaaS platform, region, and memory) and dynamically load balancing the invocations of the functions across these FaaSDs within a HeteroFaaSD can provide an optimal way for handling such serverless functions. In this paper, we present a software system called Courier that is responsible for optimally distributing the invocations of the functions (called delivering of serverless functions) within the HeteroFaaSDs based on the execution time of the functions on the FaaSDs comprising the HeteroFaaSDs. To this end, we developed two approaches: Auto Weighted Round-Robin (AWRR) and Per-Function Auto Weighted Round-Robin (PFAWRR) that use functions execution times for delivering serverless functions within a HeteroFaaSD to reduce the overall execution time. We demonstrate and evaluate the functioning of our developed tool on three HeteroFaaSDs using three FaaS platforms: 1) on-premise Open-Whisk, 2) AWS Lambda, and 3) Google Cloud Functions (GCF). We show that Courier can improve the overall performance of the invocations of the functions within a HeteroFaaSD as compared to traditional load balancing algorithms. CCS CONCEPTS • Computer systems organization → Cloud computing.
2021 IEEE International Conference on Big Data (Big Data)
Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, 2018
More companies are shifting focus to adding more layers of virtualization for their cloud applica... more More companies are shifting focus to adding more layers of virtualization for their cloud applications thus increasing the flexibility in development, deployment and management of applications. Increase in the number of layers can result in additional overhead during autoscaling and also in coordination issues while layers may use the same resources while managed by different software. In order to capture these multilayered autoscaling performance issues, an Autoscaling Performance Measurement Tool (APMT) was developed. This tool evaluates the performance of cloud autoscaling solutions and combinations thereof for varying types of load patterns. In the paper, we highlight the architecture of the tool and its configuration. An autoscaling behavior for major IaaS providers with Kubernetes pods as the second layer of virtualization is illustrated using the data collected by APMT.
Reduplication words is a class of MWE which is rapidly expanding due to the continuous need for c... more Reduplication words is a class of MWE which is rapidly expanding due to the continuous need for coinage of new terms for describing new concepts, such as multi word expression, gold standard, and web page. Identification of reduplication words can particularly help parsing, and dictionary based applications like machine translation, and cross lingual information retrieval, since such word sequences should be treated as a single unit. The purpose of our work is to come up with a list of potential reduplication MWEs which a lexicographer can look at and decide whether a given word sequence should be added to the lexicon. This will aid the construction of a quality lexicon which incorporates MWE entries. A system is to be developed which is focused on first extracting reduplication words from the given text and then identify them into different categories based upon their semantic and syntactic analysis. The system should store different categories words into different files based upon...
International Journal of Applied Mathematics and Computer Science, 2019
This paper is invited to the Special Section on "Advances on complex cloud and service oriented c... more This paper is invited to the Special Section on "Advances on complex cloud and service oriented computing". The wide adoption of cloud computing by businesses is due to several reasons, among which the elasticity of the cloud virtual infrastructure a is the definite leader. Container technology allows to increase the flexibility of an application by adding another layer of virtualization. The containers can be dynamically created and terminated, and also moved from one host to another. A company can achieve a significant cost reduction and increase the manageability of its applications by allowing to run the containerized microservice applications in the cloud. The scaling for such solutions is conducted on both layers-the virtual infrastructure layer and the containers layer. Scaling on both layers needs to be synchronized so that for example the virtual machine won't be terminated with containers still running on it. The synchronization between layers is enabled by multilayered cooperative scaling implying that the autoscaling solution of the virtual infrastructure layer is aware of the decisions of the autoscaling solution on the containers layer and vice versa. In this paper, we introduce a notion of the cooperative multilayered scaling and the performance of the multilayered au-toscaling solutions evaluated using the approach implemented in ScaleX (previously known as Autoscaling Performance Measurement Tool, APMT). We provide the results of the experimental evaluation of the multilayered autoscaling performance for the combination of the virtual infrastructure autoscaling of AWS, Microsoft Azure and Google Compute Engine with the pods horizontal autoscaling of Kubernetes by using ScaleX with 4 distinct load patterns. We also discuss the effect of the Docker container image size and its pulling policy on the scaling performance.