FIGURE 1 - uploaded by Sulav Malla
Content may be subject to copyright.
Block diagram showing the different services of Google cloud platform when used as Infrastructure or Function as a Service.

Block diagram showing the different services of Google cloud platform when used as Infrastructure or Function as a Service.

Source publication
Article
Full-text available
High performance computing (HPC) in the cloud has been shown to be a viable alternative to on‐premise clusters, especially for loosely coupled or embarrassingly parallel jobs. The traditional approach for a user would be to use the cloud provider's IaaS to provision virtual machines (VM) and use it in a similar manner to an on‐premise cluster. A ne...

Contexts in source publication

Context 1
... the number of tasks is greater than the CPUs available, the task is queued until a CPU is freed. The output of the computation is uploaded to the Cloud Storage by each VM, as shown in Figure 1, since it is the most scalable and reliable storage options available. ...
Context 2
... function performs the computation on those input files (which may be in Cloud Storage or local disk), store the results to Cloud Storage, and send back a message via Cloud Pub/Sub to the user signaling the task completion. This workflow is illustrated in Figure 1. Function instances run in an isolated executable environment and currently have the following limits: function memory up to 2048MB, execution duration up to 9 minutes, and one CPU up to 2.4 GHz. ...

Similar publications

Preprint
Full-text available
High performance computing clusters operating in shared and batch mode pose challenges for processing sensitive data. In the meantime, the need for secure processing of sensitive data on HPC system is growing. In this work we present a novel method for creating secure computing environments on traditional multi-tenant high-performance computing clu...

Citations

... Comparison of FaaS and other models[27] [28]. ...
Article
Full-text available
Function as a Service (FaaS) has transformed application development in cloud environments by simplifying the deployment process and letting developers concentrate exclusively on coding, barring the need to worry about infrastructure administration. By utilizing FaaS, developers have the option to decompose their applications into smaller, autonomous functions that are executed in response to events, leading to enhanced efficiency and scalability. The server less computing architecture obviates the necessity of providing and managing servers, enabling developers to expedite the delivery of applications in a more cost-efficient manner. The main aim of this study is to analyse the influence of FaaS on the efficiency of application development in cloud environments. The study employs a systematic process for reviewing the literature. This study performed a thorough review of 28 papers that were published from 2018 to 2024.This systematic literature analysis attempts to thoroughly assess the impact of FaaS, a famous model of server less computing, on the productivity of application development in cloud computing settings. The purpose of the review is to analyse and consolidate current research findings on the implementation and usage of FaaS. It aims to assess the impact of FaaS on several aspects such as the development process, performance metrics, operational requirements, scalability, reliability, and cost-effectiveness. This study demonstrates that FaaS greatly improves application development speed in cloud environments by providing a scalable, event-driven architecture, decreasing the burden of managing infrastructure, and enabling quick deployment of code snippets.
... To overcome this problem of partly-documented experiments, a checklist is proposed in the next section which gives an answer to RQ2.2. [136] 2019 Simulation-as-a-Service with Serverless Computing Malla & Christensen [169] 2019 HPC in the cloud: Performance comparison of function as a service (FaaS) vs infrastructure as a service (IaaS) Malawski et al. [168] 2020 Serverless execution of scientific workflows: Experiments with HyperFlow, AWS Lambda and Google Cloud Functions Sadaqat et al. [237] 2022 Benchmarking Serverless Computing: Performance and Usability de Carvalho & de Araújo [38] 2022 Orama: A Benchmark Framework for Function-as-a-Service Hancock et al. [95] 2022 OrcBench: A Representative Serverless Benchmark Palepu et al. [208] 2022 ...
... Another subarea are use case implementations using FaaS platforms as execution environment for simulations [136], cloud functions as part of an e-commerce system [18], building microservices architecture with predictable performance [83] or checking the High Performance Computing (HPC) capabilities of cloud function offerings compared to IaaS [169] or against each other [168]. A last use case paper was a survey to understand how well public FaaS platforms are understood and can be used out of the box to implement applications [237]. ...
... In addition, awareness of multi-threaded functions is missing. This is even more important when looking at improvements in the resource allocation for cloud functions 169 . Providers in general claim that doubling the resource allocation halves the execution time. ...
Thesis
Full-text available
Serverless Computing is seen as a game changer in operating large-scale applications. While practitioners and researches often use this term, the concept they actually want to refer to is Function as a Service (FaaS). In this new service model, a user deploys only single functions to cloud platforms where the cloud provider deals with all operational concerns – this creates the notion of server-less computing for the user. Nonetheless, a few configurations for the cloud function are necessary for most commercial FaaS platforms as they influence the resource assignments like CPU time and memory. Due to these options, there is still an abstracted perception of servers for the FaaS user. The resource assignment and the different strategies to scale resources for public cloud offerings and on-premise hosted open-source platforms determine the runtime characteristics of cloud functions and are in the focus of this work. Compared to cloud offerings like Platform as a Service, two out of the five cloud computing characteristics improved. These two are rapid elasticity and measured service. FaaS is the first computational cloud model to scale functions only on demand. Due to an independent scaling and a strong isolation via virtualized environments, functions can be considered independent of other cloud functions. Therefore, noisy neighbor problems do not occur. The second characteristic, measured service, targets billing. FaaS platforms measure execution time on a millisecond basis and bill users accordingly based on the function configuration. This leads to new performance and cost trade-offs. Therefore, this thesis proposes a simulation approach to investigate this tradeoff in an early development phase. The alternative would be to deploy functions with varying configurations, analyze the execution data from several FaaS platforms and adjust the configuration. However, this alternative is time-consuming, tedious and costly. To provide a proper simulation, the development and production environment should be as similar as possible. This similarity is also known as dev-prod parity. Based on a new methodology to compare different virtualized environments, users of our simulation framework are able to execute functions on their machines and investigate the runtime characteristics for different function configurations at several cloud platforms without running their functions on the cloud platform at all. A visualization of the local simulations guide the user to choose an appropriate function configuration to resolve the mentioned trade-off dependent on their requirements.
... Pemanfaatan server telah meningkat secara signifikan karena virtualisasi sistem komputer, yang menyebabkan peningkatan konsumsi daya dan kebutuhan penyimpanan oleh pusat data dan dengan demikian juga meningkatkan biaya operasional (Alyas et al., 2022). Penyediaan IaaS penyedia cloud untuk menyediakan mesin virtual (VM) dan menggunakannya dengan cara yang mirip dengan klaster lokal (Malla & Christensen, 2020). ...
Article
Full-text available
The digitization of user services has increased, in line with the need for VPS and cloud computing services, which are rampant among application and platform developers. Quite a few companies that create applications or application users have servers to handle user needs. Testing is carried out using the ICMP Protocol to get real-time results and can be measured. From Scenario 1, carrying out 20 test requests, we get a packet loss of 5% with RTT Avarage of 195,838ms and Mdev 4,103ms. If you apply DNS failover in scenario 2, the client will likely access the web a little slower, as evidenced by the packet loss being 25% greater in value. Compared to scenario 1, having a high standard deviation (Mdev) of round-trip times is not desirable. This variation is also known as jitter. Increased jitter can cause a bad user experience, especially in real-time audio and video streaming applications. However, this is still understandable because it only has a 1-5 second effect on the service. Next, in scenario 3, we can see that private and public servers have relatively high gab with 0% packet loss, which has a small Mdev value of 0.309ms. Therefore, the DNS failover method is a solution for network administrators who have problems related to server migration between public servers and private servers so that services can run even if a server is maintaining or downlinking.
... Performance isolation is another challenge. E.g. in [7], the best performance was achieved on IaaS by allocating one CPU to one computational task. Such control over resource management, also possible in Kubernetes, is not available on FaaS, where the resources are managed by the underlying platform [8]. ...
Preprint
Full-text available
Serverless computing has become an important model in cloud computing and influenced the design of many applications. Here, we provide our perspective on how the recent landscape of serverless computing for scientific applications looks like. We discuss the advantages and problems with serverless computing for scientific applications, and based on the analysis of existing solutions and approaches, we propose a science-oriented architecture for a serverless computing framework that is based on the existing designs. Finally, we provide an outlook of current trends and future directions.
... HPC over the cloud is a popular and practical alternative to traditional on-premise clusters for running embarrassingly parallel or loosely coupled jobs (Malla and Christensen, 2019). There are several methods of delivering HPC through the cloud, such as virtual machines or containers hosted on the cloud infrastructure. ...
... Alternatively, for infrastructure-asa-service (IaaS) facilitators viz. Amazon EC2, Google Drive, Microsoft Azure [3,4] provide pooled resources by using virtual machines (VMs) to users ondemand(UOD). It can accuse the user's charges which not only surgerate of resource utilization (RU) but also carry their significant benefit. ...
Article
Full-text available
At present, the cloud computing environment (CCE) has emerged as one of the significant technologies in communication, computing, and the Internet. It facilitates on-demand services of different types based on pay-per-use access such as platforms, applications and infrastructure. Because of its growing reputation, the massive requests need to be served in an efficient way which gives the researcher a challenging problem known as task scheduling. These requests are handled by method of efficient allocation of resources. In the process of resource allocation, task scheduling is accomplished where there is a dependency between tasks, which is a Directed Acyclic Graph (DAG) scheduling. DAG is one of the most important scheduling due to wide range of its applicable in different areas such as environmental technology, resources, and energy optimization. NP-complete is a renowned concern, so various models deals with NP-complete that have been suggested in the literature. However, as the Quality of Service (QoS)-aware services in the CCEplatform have turned into an attractive and prevalent way to provide computing resources emerges as a novel critical issue. Therefore, the key aim of this manuscript is to develop a novel DAG scheduling model for optimizing the QoS parameters in the CCEplatform and validation of this can be done with the help of extensive simulation technique. Each simulated result is compared with the existing results, and it is found that newly developed algorithm performs better in comparison to the state-of-the-art algorithms.
... This also influences the number of instances. Requests to functions with more resources are more likely to be queued when an instance is already up and running [33] which is not the case for other platforms when looking at the mentioned experiments in this section. Google Cloud Functions show an unpredictable scaling behavior in 2018 [23], [24] where small resource configurations escalate and can be as fast/powerful as the big configurations. ...
Conference Paper
Full-text available
Open-source offerings are often investigated when comparing their features to commercial cloud offerings. However, performance benchmarking is rarely executed for open-source tools hosted on-premise nor is it possible to conduct a fair cost comparison due to a lack of resource settings equivalent to cloud scaling strategies. Therefore, we firstly list implemented resource scaling strategies for public and open-source FaaS platforms. Based on this we propose a methodology to calculate an abstract performance measure to compare two platforms with each other. Since all open-source platforms suggest a Kubernetes deployment, we use this measure for a configuration of open-source FaaS platforms based on Kubernetes limits. We tested our approach with CPU intensive functions, considering the difference between single-threaded and multi-threaded functions to avoid wasting resources. With regard to this, we also address the noisy neighbor problem for open-source FaaS platforms by conducting an instance parallelization experiment. Our approach to limit resources leads to consistent results while avoiding an overbooking of resources.
... Spillner et al. [3] argued that serverless has potential for HPC. A study by Mallah et al. [11] further confirms this point, as they tested the viability of using serverless public cloud offerings instead of virtual machines (VMs) on their HPC cluster. They found that while this approach is very much valid, it performs best when running embarrassingly parallel tasks. ...
Article
Full-text available
Serverless computing has grown massively in popularity over the last few years, and has provided developers with a way to deploy function-sized code units without having to take care of the actual servers or deal with logging, monitoring, and scaling of their code. High-performance computing (HPC) clusters can profit from improved serverless resource sharing capabilities compared to reservation-based systems such as Slurm. However, before running self-hosted serverless platforms in HPC becomes a viable option, serverless platforms must be able to deliver a decent level of performance. Other researchers have already pointed out that there is a distinct lack of studies in the area of comparative benchmarks on serverless platforms, especially for open-source self-hosted platforms. This study takes a step towards filling this gap by systematically benchmarking two promising self-hosted Kubernetes-based serverless platforms in comparison. While the resulting benchmarks signal potential, they demonstrate that many opportunities for performance improvements in serverless computing are being left on the table.
... Therefore, a function invocation might get prematurely terminated if it requires high computing power and is executed in an execution environment with low compute capabilities. However, the resource (storage, memory, compute, and network) requirements for serverless functions are very dynamic and can differ vastly [26]. Heterogeneous FaaS Deployment (HeteroFaaSD) is the deployment that consists of multiple FaaSDs with each of these deployments differing from another on a particular configuration parameter (FaaS platform, memory, or region) and keeping the other parameters fixed. ...
Conference Paper
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 OpenWhisk, 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.
... The study [Malla and Christensen 2020] performed an evaluation of a workload with an all-against-all pairwise comparison of human proteins using a dynamic programming algorithm. The dataset consists of 20336 human protein sequences split into 41 files (each with about 500 proteins). ...
Conference Paper
Full-text available
Protein sequence alignment is a task of great relevance in Bioinformatics and the Hirschberg algorithm is widely used for this task. This work proposes a framework for executing sequence alignment with the Hirschberg algorithm in different cloud computing services. In experiments, our framework was used to align HIV-1 protease sequences using different instances of AWS EC2 and different configurations of AWS Lambda functions.The results show that, for this application, there is a tradeoff between the expected execution time and the cost, e.g., in most cases AWS Lambda provides the best runtime, however at a higher USD cost. In this context, it is important to have a framework that helps in deciding which approach is most appropriate.