Faasdom: a Benchmark Suitefor Serverless Computing

Total Page:16

File Type:pdf, Size:1020Kb

Faasdom: a Benchmark Suitefor Serverless Computing CC-BY 4.0. This is the author’s preprint version of the camera-ready article. A full version of this paper is published in the proceedings of 14th ACM International Conference on Distributed and Event-Based Systems (DEBS 2020). FaaSdom: A Benchmark Suite for Serverless Computing Pascal Maissen Pascal Felber Department of Computer Science Department of Computer Science University of Fribourg, Switzerland University of Neuchâtel, Switzerland [email protected] [email protected] Peter Kropf Valerio Schiavoni Department of Computer Science Department of Computer Science University of Neuchâtel, Switzerland University of Neuchâtel, Switzerland [email protected] [email protected] ABSTRACT Edge Master Serverless computing has become a major trend among cloud User Worker interface function main() { code providers. With serverless computing, developers fully dele- return { payload:'Hello!' code gate the task of managing the servers, dynamically allocating API }; code } the required resources, as well as handling availability and gateway … Dispatcher Event queue Worker Worker fault-tolerance matters to the cloud provider. In doing so, Cloud event … sources code code code code developers can solely focus on the application logic of their software, which is then deployed and completely managed Figure 1: Typical FaaS architecture. The main aspects in the cloud. to benchmark are: performance of a worker (i.e., execu- Despite its increasing popularity, not much is known re- tion speed of a function) and quality of the auto-scaling garding the actual system performance achievable on the mechanism (e.g., allocation of new VMs, how to handle currently available serverless platforms. Specifically, it is flash-crowds [36]). cumbersome to benchmark such systems in a language- or runtime-independent manner. Instead, one must resort to a 1 INTRODUCTION full application deployment, to later take informed decisions on the most convenient solution along several dimensions, The serverless computing paradigm is an emerging approach including performance and economic costs. for developing cloud-based applications [12, 13, 57]. IBM [34] FaaSdom is a modular architecture and proof-of-concept defines it as “an approach to computing that offloads responsi- implementation of a benchmark suite for serverless comput- bility for common infrastructure management tasks (scaling, ing platforms. It currently supports the current mainstream scheduling, patching, provisioning, etc.) to cloud providers serverless cloud providers (i.e., AWS, Azure, Google, IBM), and tools, allowing engineers to focus their time and effort a large set of benchmark tests and a variety of implementa- on the business logic specific to their applications or process”. tion languages. The suite fully automatizes the deployment, Serverless computing requires less expertise than other self- execution and clean-up of such tests, providing insights (in- managed approaches. Users do not manage directly the in- cluding historical) on the performance observed by serverless frastructure and runtime of the system, but instead dele- applications. FaaSdom also integrates a model to estimate gate its operations to the cloud provider. Additionally, cloud budget costs for deployments across the supported providers. providers can deploy finer-grain billing policiese ( .g., on a FaaSdom is open-source and available at https://github.com/ per service-call basis) for any of the offered services [11, 50], bschitter/benchmark-suite-serverless-computing. generally leading to reduced costs for developers. One can distinguish between various serverless paradigms: (1) FaaS (function as a service, and focus of our work) imple- mented for instance by AWS Lambda [4], (2) DBaaS (database as a service), as available through Microsoft Azure for Post- greSQL [42]; and (3) STaaS (storage as a service), via Google KEYWORDS Cloud [26]. FaaS can be considered an hybrid between Plat- serverless, function as a service, benchmark suite, open- form as a Service (PaaS) and the Software as a Service (SaaS) source service model: data and infrastructure are fully managed by CC-BY 4.0. This is the author’s preprint version of the camera-ready article. A full version of this paper is published in the proceedings of 14th ACM International Conference on Distributed and Event-Based Systems (DEBS 2020). the provider, while the application is handled by the user. Fig- 2 BACKGROUND ure 1 illustrates a typical FaaS infrastructure. In the typical This section provides technical details about the four ma- FaaS approach, developers bypass the setup, maintenance jor mainstream serverless providers, namely Amazon Web and management of a compute node (i.e., bare metal, vir- Services (§2.1), Microsoft Azure (§2.2), Google Cloud (§2.3) tual machines, or even containers). Instead, users provide and IBM Cloud (§2.4). We compare the performance of all of the application code for specific functions to be deployed to them in our evaluation (§6). the cloud. Specific eventse ( .g., HTTP requests, storage or database conditions) trigger their execution, typically imple- 2.1 Amazon Web Services Lambda menting data processing [4, 19]. The provider then handles AWS Lambda [4] was released in November in 2014 [8]. AWS the load, as well as availability and scaling requirements. Lambda spans 18 geographical regions, plus China [10]. At Despite the convenience of the approach, it is currently hard the time of writing, it supports six different runtime systems to decide on a specific FaaS provider based on criteria such and seven different programming languages [9]. Depending as performance, workload adaptability or costs. on the region where the function is deployed, Lambda sup- This paper introduces FaaSdom, a testing suite that tack- ports up to 3,000 instances to serve the user functions [6]. les this problem. In a nutshell, application developers can The memory allocated to a function instance can vary from use the FaaSdom suite to automatically deploy several per- 128 MB up to 3,008 MB in steps of 64 MB [5]. The CPU power formance tests a set of FaaS providers. The results can then increases linearly with its memory allocation. For instance, be easily compared along several dimensions. Based on this according to the documentation, at 1,792 MB the function information, deployers can evaluate the “FaaS-domness” of will get 1 vCPU [5]. the providers and decide which one is best adapted for their As observed in [58], Lambda executes functions using applications, in terms of performance, reliability or cost. two different CPUs, namely Intel Xeon E5-2666 clocked at While few efforts exist to benchmark serverless comput- 2.90 GHz and Intel Xeon E5-2680, clocked at 2.80 GHz. ing (often FaaS oriented) [14–16, 27, 35, 38–41, 51, 53], they are relatively limited in terms of supported providers, com- 2.2 Microsoft Azure Functions parison metrics, diversity of benchmarks (e.g., user-defined functions, elasticity), or operating modes (e.g., stress-test vs. Microsoft Azure Functions [43] was released publicly in No- continuous monitoring). Similarly, studies on benchmarking vember 2016 [37]. It supports five runtime systems and seven cloud platforms lack an in-depth evaluation of serverless different programming languages [49]. In contrast with the computing platforms [17]. In this paper, we introduce FaaS- other three cloud providers, Azure offers three different host- dom, a modular and extensible benchmark suite for evaluat- ing plans [46]: Azure Functions offers billing plans that adapt ing serverless computing. FaaSdom natively supports major to the load and popularity of the deployed function (“Con- FaaS providers (AWS, Azure, Google, IBM) but can be easily sumption” plan), plans with finer-grain control over the com- extended to benchmark additional platforms. It includes a puting instance size and pre-warming support (“Premium” wide range of workloads, including user-defined functions, plan), and a billing plan customized on a given application and implementation languages. FaaSdom uses several met- needs (“App Service” plan). This work only considers the con- rics to compare FaaS platforms against multiple dimensions, sumption plan (generation 2.0 [45]), as it is the only one to in terms of latency, throughput and operating costs. It pro- be fully managed by the cloud provider and the most similar vides a Web-based interface that allows users to perform in terms of features to the plans from alternative providers. benchmarks in a fully automatic way (including deployment, Azure Functions can use as many as 200 instances and up execution and clean-up of the tests), and keeps track of his- to 1.5 GB memory [46]. The service can run either on Win- torical data. In that way, FaaSdom can be used both for dows or Linux hosts, and is offered in 28 out of 46 publicly one-shot benchmarks and for continuous monitoring over accessible regions [48]. Note that the consumption plan is time of the providers. FaaSdom is the first system to support only available in 11 regions for both Linux and Windows, such in-depth, comprehensive and extensible benchmarking hence we restrict our deployment to those in our experiments. of serverless computing. Computing nodes can be characterized by their Azure Com- The remainder of this paper is organised as follows. We pute Unit (ACU), with 100 ACU roughly mapped to 1 vCPU. According to our investigations, we believe Azure Functions first introduce background concepts (§2) and the supported 1 frameworks (§3). We then describe the FaaSdom architecture to be executed by virtual machines of type Av2. These VMs (§4) and its different benchmarks (§5). We present and discuss use three different CPUs: Intel Xeon 8171M at 2.1 GHz, Intel evaluation results (§6), before concluding with a summary Xeon E5-2673 v4 at 2.3 GHz and Intel Xeon E5-2673 v3 at of lessons learned (§7) and open perspectives(§8). 2.4 GHz [47]. 1https://docs.microsoft.com/de-ch/azure/virtual-machines/av2-series CC-BY 4.0. This is the author’s preprint version of the camera-ready article.
Recommended publications
  • Serverless Computing in Financial Services High Performance Computing—With More Speed, Accuracy and Flexibility Authors
    Serverless computing in financial services High performance computing—with more speed, accuracy and flexibility Authors Michael Behrendt is a Distinguished Engineer in Neil Cowit is the Worldwide Cloud Offering the IBM Cloud development organization. He is Manager for High Performance Computing at responsible for IBM’s technical strategy around IBM. HPC has been a significant part of Neil’s serverless & Function-as-a-Service. 20-plus-year career within the financial services technology sector. He has held leadership In that context, he’s also the chief architect for and individual contributor roles in Product the IBM serverless offering, IBM Cloud Functions. Management, Development, Sales and Marketing. Before that, he was the chief architect of the core platform of IBM Bluemix and was one of the initial founding members incubating it. Michael has been working on cloud computing for more than 13 years and has 35 patents. He is located in the IBM Research & Development Laboratory in Boeblingen, Germany. | 2 | Contents Authors 02 Introduction 04 What issues can serverless computing help address? 06 Technical perspective 07 IBM Cloud Functions: Implementing serverless computing 08 Benefits of IBM Cloud Functions 08 Conclusion 09 Glossary 10 | 3 | Introduction If Mrs. Wallis Simpson were alive today and Wouldn’t it be terrific if we only had to solve static involved in financial services, she may very well or deterministic models as opposed to stochastic have modified her famous quote from “You can or probabilistic financial models? Imagine being never be too rich or too thin.” to “You can never able to cover all the possible contingencies in have too much compute capacity.” proportion to their likelihood.
    [Show full text]
  • Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider
    Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider Mohammad Shahrad, Rodrigo Fonseca, Íñigo Goiri, Gohar Chaudhry, Paul Batum, Jason Cooke, Eduardo Laureano, Colby Tresness, Mark Russinovich, and Ricardo Bianchini July 15, 2020 What is Serverless? •Very attractive abstraction: • Pay for Use • Infinite elasticity from 0 (and back) • No worry about servers • Provisioning, Reserving, Configuring, patching, managing •Most popular offering: Function-as-a-Service (FaaS) • Bounded-time functions with no persistent state among invocations • Upload code, get an endpoint, and go For the rest of this talk, Serverless = Serverless FaaS What is Serverless? Bare Metal VMs (IaaS) Containers Functions (FaaS) Unit of Scale Server VM Application/Pod Function Provisioning Ops DevOps DevOps Cloud Provider Init Time Days ~1 min Few seconds Few seconds Scaling Buy new hardware Allocate new VMs 1 to many, auto 0 to many, auto Typical Lifetime Years Hours Minutes O(100ms) Payment Per allocation Per allocation Per allocation Per use State Anywhere Anywhere Anywhere Elsewhere Serverless “…more than 20 percent of global enterprises will have deployed serverless computing technologies by 2020.” Gartner, Dec 2018 Serverless Source: CNCF Cloud Native Interactive Landscape https://landscape.cncf.io/format=serverless Serverless December 2019 “… we predict that (…) serverless computing will grow to dominate the future of cloud computing.” So what are people doing with FaaS? • Interesting Explorations • MapReduce (pywren)
    [Show full text]
  • Architectural Implications of Function-As-A-Service Computing
    Architectural Implications of Function-as-a-Service Computing Mohammad Shahrad Jonathan Balkind David Wentzlaff Princeton University Princeton University Princeton University Princeton, USA Princeton, USA Princeton, USA [email protected] [email protected] [email protected] ABSTRACT Network Serverless computing is a rapidly growing cloud application model, popularized by Amazon’s Lambda platform. Serverless cloud ser- Scheduling vices provide fine-grained provisioning of resources, which scale Platform (priorwork) automatically with user demand. Function-as-a-Service (FaaS) appli- Queueing Management cations follow this serverless model, with the developer providing 35% decrease in IPC Interference their application as a set of functions which are executed in response due to interference 6x variation due to to a user- or system-generated event. Functions are designed to Memory BW invocation pattern 20x MPKI for be short-lived and execute inside containers or virtual machines, Branch MPKI >10x exec time short functions introducing a range of system-level overheads. This paper studies for short functions Cold Start Server the architectural implications of this emerging paradigm. Using (500ms cold start) Up to 20x (thispaper) Container the commercial-grade Apache OpenWhisk FaaS platform on real slowdown servers, this work investigates and identifies the architectural im- Native plications of FaaS serverless computing. The workloads, along with Execution Figure 1: We characterize the server-level overheads of the way that FaaS inherently interleaves short functions from many Function-as-a-Service applications, compared to native exe- tenants frustrates many of the locality-preserving architectural cution. This contrasts with prior work [2–5] which focused structures common in modern processors.
    [Show full text]
  • How Entle Core™ Reduces Risk with Proven Technologies
    How Entle Core™ reduces risk with proven technologies What is Entle Core™? cloud computing had become well-established, and serverless computing took that a step further to make On the basis of over a decade in the web elastic infrastructure even more accessible. development industry, Entle has developed a mature, In contrast to a constantly-running server or elastic risk-reducing, and highly performant website server group that responds to visitor requests (either architecture called Entle Core™. Websites built with using bare-metal physical machines, virtual machines, Entle Core™ are heavily optimised for performance, or containers), serverless functions use cloud native SEO, and ultimately, conversion. systems’ inherent elasticity to consume resources on To achieve this, Entle Core™ combines a serverless demand and in a fully abstracted manner. Server hosting architecture with the JAMstack (JavaScript, management is abstracted to the cloud provider’s APIs, and markup) pattern. expert team, in the same way that they are responsible for all their other cloud infrastructure (e.g. in AWS’ The key elements of Entle Core™ are: case, the underlying infrastructure for EC2, EKS, Aurora • Serverless hosting using AWS S3 storage and AWS or Redshift). This significantly reduces the DevOps Cloudfront CDN, and AWS Lamda to provide workload on the website developer and thereby dynamic functionality; reduces the risk associated with designing, testing, and maintaining one’s own server setup. Serverless is the next step in the evolution of A static site
    [Show full text]
  • Serverless Computing: an Investigation of Factors Influencing Microservice Performance
    Serverless Computing: An Investigation of Factors Influencing Microservice Performance Wes Lloyd1, Shruti Ramesh4, Swetha Chinthalapati2, Lan Ly3, Shrideep Pallickara5 5 Institute of Technology 4 Department of Computer Science University of Washington Microsoft Colorado State University Tacoma, Washington USA Redmond, Washington USA Fort Collins, Colorado USA 1wlloyd, 2swethach, [email protected] [email protected] [email protected] Abstract— Serverless computing platforms provide driving a paradigm shift rivaling a scale not seen since the function(s)-as-a-Service (FaaS) to end users while promising advent of cloud computing itself! reduced hosting costs, high availability, fault tolerance, and dynamic elasticity for hosting individual functions known as Fundamentally different than application hosting with IaaS microservices. Serverless Computing environments, unlike or Platform-as-a-Service (PaaS) clouds, with serverless Infrastructure-as-a-Service (IaaS) cloud platforms, abstract computing, applications are decomposed into many infrastructure management including creation of virtual machines microservices, which are essentially disparate functions. (VMs), operating system containers, and request load balancing Serverless environments leverage operating system containers from users. To conserve cloud server capacity and energy, cloud such as Docker to deploy and scale microservices [6]. Granular providers allow hosting infrastructure to go COLD, code deployment harnessing containers enables incremental, deprovisioning containers when service demand is low freeing rapid scaling of server infrastructure surpassing the elasticity infrastructure to be harnessed by others. In this paper, we present afforded by dynamically scaling virtual machines (VMs). Cloud results from our comprehensive investigation into the factors providers can load balance many small container placements which influence microservice performance afforded by serverless across servers helping to minimize idle server capacity better computing.
    [Show full text]
  • DEMYSTIFYING NOOPS and SERVERLESS COMPUTING Purpose
    Innovation Committee, Chief Information Officers Council WHITE PAPER: DEMYSTIFYING NOOPS AND SERVERLESS COMPUTING Purpose The purpose of this white paper is to provide an overview of NoOps and serverless computing for CIOs in the federal government and discuss the potential impact of these emerging trends on how agencies develop software and deliver services. Background Serverless computing is an emerging cloud computing model whereby cloud providers manage IT infrastructure and users are charged only for the resources they use.1 The growth of serverless computing has given rise to the concept of NoOps, whereby service providers automate and manage IT infrastructure and operations to such an extent that IT operations staff can focus on higher-value work in the software development life cycle. NoOps is more of a theoretical concept than a development practice at this time, with few commercial IT organizations adopting a development approach that completely automates IT operations.2 The history of cloud computing is characterized by increasing levels of abstraction where responsibilities have shifted from consumers to service providers. Companies and government agencies have moved from managing their own on-premise and agency-owned equipment, to adopting Infrastructure-as-a-Service (IaaS) models that abstract physical hardware, to Platform-as-a-Service (PaaS) models that abstract operating systems. Companies are now experimenting with and implementing serverless computing architectures, which further abstract server and infrastructure management away from consumers and increase the speed to deploy 3 microservices. Serverless is similar to PaaS models in that in both, consumers do not have to worry about patching or monitoring individual servers.
    [Show full text]
  • Lightweight Isolation for Efficient Stateful Serverless Computing
    FAASM: Lightweight Isolation for Efficient Stateful Serverless Computing Simon Shillaker and Peter Pietzuch, Imperial College London https://www.usenix.org/conference/atc20/presentation/shillaker This paper is included in the Proceedings of the 2020 USENIX Annual Technical Conference. July 15–17, 2020 978-1-939133-14-4 Open access to the Proceedings of the 2020 USENIX Annual Technical Conference is sponsored by USENIX. FAASM: Lightweight Isolation for Efficient Stateful Serverless Computing Simon Shillaker Peter Pietzuch Imperial College London Imperial College London Abstract Existing platforms such as Google Cloud Functions [32], Serverless computing is an excellent fit for big data process- IBM Cloud Functions [39], Azure Functions [50] and AWS ing because it can scale quickly and cheaply to thousands of Lambda [5] isolate functions in ephemeral, stateless contain- parallel functions. Existing serverless platforms isolate func- ers. The use of containers as an isolation mechanisms in- tions in ephemeral, stateless containers, preventing them from troduces two challenges for data-intensive applications, data directly sharing memory. This forces users to duplicate and access overheads and the container resource footprint. serialise data repeatedly, adding unnecessary performance Data access overheads are caused by the stateless nature of and resource costs. We believe that a new lightweight iso- the container-based approach, which forces state to be main- lation approach is needed, which supports sharing memory tained externally, e.g. in object stores such as Amazon S3 [6], directly between functions and reduces resource overheads. or passed between function invocations. Both options in- We introduce Faaslets, a new isolation abstraction for high- cur costs due to duplicating data in each function, repeated performance serverless computing.
    [Show full text]
  • Bringing Serverless to Containers with Google Cloud Run
    Bringing serverless to containers with Google Cloud Run Martin Omander Zoë Omander @martinomander @zoe_omander Dec 3, 2019 Lily started the first Pet Theory clinic 12 years ago Lily, veterinarian, Founder of Pet Theory IT growing pains... The appointment system is down... Why can’t I change my appointment online? Michael, client Patrick, IT support I have to call insurance companies all the time. I wasn’t able to send any invoices yesterday. The phone just kept ringing. Deirdre, veterinarian Lisa, receptionist Solid IT is a requirement for my business. As a pilot project, let’s fix the invoice problem first. Lily, veterinarian, Ruby, Founder of Pet Theory Consultant There are two paths to modern cloud systems. Z Containers: Serverless: Docker, Kubernetes FaaS, PaaS Fine-grained control. No infrastructure management. Use any language, binary or library. Fully managed security. Run your code in many places. Pay only for usage. Setup and maintenance work. App is not portable. Provision resources ahead of time. Can’t use any language. Pay for idle resources. Can’t use any binary or library. What if we choose the wrong path? I have read about a new trend in cloud computing... Patrick, IT support Ruby, Consultant Containers Serverless Containers: Serverless: Docker, Kubernetes FaaS, PaaS Fine-grained control. No infrastructure management. Use any language, binary or library. Fully managed security. Run your code in many places. Pay only for usage. Setup and maintenance work. App is not portable. Provision resources ahead of time. Can’t use any language. Pay for idle resources. Can’t use any binary or library.
    [Show full text]
  • Evaluation of Serverless Computing Frameworks Based on Kubernetes
    Aalto University School of Science Degree Programme of Computer Science and Engineering Sunil Kumar Mohanty Evaluation of Serverless Computing Frame- works Based on Kubernetes Master's Thesis Espoo, July 6, 2018 Supervisor: Professor Mario Di Francesco, Aalto University Instructor: Gopika Premsankar M.Sc. (Tech.) Aalto University School of Science ABSTRACT OF Degree Programme of Computer Science and Engineering MASTER'S THESIS Author: Sunil Kumar Mohanty Title: Evaluation of Serverless Computing Frameworks Based on Kubernetes Date: July 6, 2018 Pages: 76 Professorship: Mobile Computing, Services and Secu- Code: SCI3045 rity Supervisor: Professor Mario Di Francesco Instructor: Gopika Premsankar M.Sc. (Tech.) Recent advancements in virtualization and software architectures have led to the birth of the new paradigm of serverless computing. Serverless computing, also known as function-as-a-service, allows developers to deploy functions as comput- ing units without worrying about the underlying infrastructure. Moreover, no resources are allocated or billed until a function is invoked. Thus, the major ben- efits of serverless computing are reduced developer concern about infrastructure, reduced time to market and lower cost. Currently, serverless computing is gener- ally available through various public cloud service providers. However, there are certain bottlenecks on public cloud platforms, such as vendor lock-in, computa- tion restrictions and regulatory restrictions. Thus, there is a growing interest to implement serverless computing on a private infrastructure. One of the preferred ways of implementing serverless computing is through the use of containers. A container-based solution allows to utilize features of existing orchestration frame- works, such as Kubernetes. This thesis discusses the implementation of serverless computing on Kubernetes.
    [Show full text]
  • Ambitious Data Science Can Be Painless
    Harvard Data Science Review • Issue 1.1, Summer 2019 Ambitious Data Science Can Be Painless Hatef Monajemi, Riccardo Murri, Eric Jonas, Percy Liang, Victoria Stodden, David Donoho Published on: Sep 29, 2019 DOI: 10.1162/99608f92.02c552 License: Creative Commons Attribution 4.0 International License (CC-BY 4.0) Harvard Data Science Review • Issue 1.1, Summer 2019 Ambitious Data Science Can Be Painless ABSTRACT Modern data science research, at the cutting edge, can involve massive computational experimentation; an ambitious PhD in computational fields may conduct experiments consuming several million CPU hours. Traditional computing practices, in which researchers use laptops, PCs, or campus-resident resources with shared policies, are awkward or inadequate for experiments at the massive scale and varied scope that we now see in the most ambitious data science. On the other hand, modern cloud computing promises seemingly unlimited computational resources that can be custom configured, and seems to offer a powerful new venue for ambitious data-driven science. Exploiting the cloud fully, the amount of raw experimental work that could be completed in a fixed amount of calendar time ought to expand by several orders of magnitude. Still, at the moment, starting a massive experiment using cloud resources from scratch is commonly perceived as cumbersome, problematic, and prone to rapid ‘researcher burnout.’ New software stacks are emerging that render massive cloud-based experiments relatively painless, thereby allowing a proliferation of ambitious experiments for scientific discovery. Such stacks simplify experimentation by systematizing experiment definition, automating distribution and management of all tasks, and allowing easy harvesting of results and documentation.
    [Show full text]
  • Volunteer Down: How COVID-19 Created the Largest Idling Supercomputer on Earth
    future internet Perspective Volunteer Down: How COVID-19 Created the Largest Idling Supercomputer on Earth Nane Kratzke Department for Electrical Engineering and Computer Science, Lübeck University of Applied Sciences, 23562 Lübeck, Germany; [email protected] Received: 25 May 2020; Accepted: 3 June 2020; Published: 6 June 2020 Abstract: From close to scratch, the COVID-19 pandemic created the largest volunteer supercomputer on earth. Sadly, processing resources assigned to the corresponding Folding@home project cannot be shared with other volunteer computing projects efficiently. Consequently, the largest supercomputer had significant idle times. This perspective paper investigates how the resource sharing of future volunteer computing projects could be improved. Notably, efficient resource sharing has been optimized throughout the last ten years in cloud computing. Therefore, this perspective paper reviews the current state of volunteer and cloud computing to analyze what both domains could learn from each other. It turns out that the disclosed resource sharing shortcomings of volunteer computing could be addressed by technologies that have been invented, optimized, and adapted for entirely different purposes by cloud-native companies like Uber, Airbnb, Google, or Facebook. Promising technologies might be containers, serverless architectures, image registries, distributed service registries, and all have one thing in common: They already exist and are all tried and tested in large web-scale deployments. Keywords: volunteer computing; cloud computing; grid computing; HPC; supercomputing; microservice; nanoservice; container; cloud-native; serverless; platform; lessons-learned; COVID-19 1. Introduction On 28 April 2020, Greg Bowman—director of the volunteer computing (VC) project Folding@home— posted this on Twitter https://twitter.com/drGregBowman/status/1255142727760543744: @Folding@home is continuing its growth spurt! There are now 3.5 M devices participating, including 2.8 M CPUs (19 M cores!) and 700 K GPUs.
    [Show full text]
  • Implementing Serverless PHP Under the Hood of Openwhisk
    Implementing Serverless PHP Under the hood of OpenWhisk Rob Allen Serverless? The first thing to know about serverless computing is that "serverless" is a pretty bad name to call it. - Brandon Butler, Network World Rob Allen ~ @akrabat AKA: Functions as a Service • A runtime to execute your functions • No capacity planning or load balancing; just tasks being executed. • Pay for execution, not when idle Rob Allen ~ @akrabat Common tasks • Microservices / API backends • Volatile workloads (that break down in pieces) • Data processing • Event processing (message queues) • Scheduled tasks • Chat bots Rob Allen ~ @akrabat Challenges • Start up latency • Time limit • State is external • DevOps is still a thing Rob Allen ~ @akrabat It's about value Rob Allen ~ @akrabat Serverless implementations Apache OpenWhisk (IBM, Adobe, RedHat) AWS Lambda Google Cloud Functions Microsoft Azure Cloud Functions Iron.io Rob Allen ~ @akrabat OpenWhisk is Open Source Rob Allen ~ @akrabat JavaScript Rob Allen ~ @akrabat Hello world in JS hello.js: 1 function main(params) 2 { 3 name = params.name || "World" 4 return {msg: 'Hello ' + name} 5 } Create action: $ wsk action create helloJS hello.js --web true --kind nodejs:6 ok: updated action helloJS Rob Allen ~ @akrabat Hello world in JS Execute: $ wsk action invoke -r helloJS -p name Rob { "msg": "Hello Rob" } or: $ curl -k https://192.168.33.13/api/v1/web/guest/default/helloJS.json { "msg": "Hello World" } Rob Allen ~ @akrabat PHP Rob Allen ~ @akrabat Hello world in PHP hello.php: 1 <?php 2 function main(array $args)
    [Show full text]