Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing

Serverless computing is an excellent fit for big data processing because it can scale quickly and cheaply to thousands of parallel functions. Existing serverless platforms isolate functions in ephemeral, stateless containers, preventing them from directly sharing memory. This forces users to duplica...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Shillaker, Simon, Pietzuch, Peter
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Shillaker, Simon
Pietzuch, Peter
description Serverless computing is an excellent fit for big data processing because it can scale quickly and cheaply to thousands of parallel functions. Existing serverless platforms isolate functions in ephemeral, stateless containers, preventing them from directly sharing memory. This forces users to duplicate and serialise data repeatedly, adding unnecessary performance and resource costs. We believe that a new lightweight isolation approach is needed, which supports sharing memory directly between functions and reduces resource overheads. We introduce Faaslets, a new isolation abstraction for high-performance serverless computing. Faaslets isolate the memory of executed functions using software-fault isolation (SFI), as provided by WebAssembly, while allowing memory regions to be shared between functions in the same address space. Faaslets can thus avoid expensive data movement when functions are co-located on the same machine. Our runtime for Faaslets, Faasm, isolates other resources, e.g. CPU and network, using standard Linux cgroups, and provides a low-level POSIX host interface for networking, file system access and dynamic loading. To reduce initialisation times, Faasm restores Faaslets from already-initialised snapshots. We compare Faasm to a standard container-based platform and show that, when training a machine learning model, it achieves a 2x speed-up with 10x less memory; for serving machine learning inference, Faasm doubles the throughput and reduces tail latency by 90%.
doi_str_mv 10.48550/arxiv.2002.09344
format Article
fullrecord <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_2002_09344</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2002_09344</sourcerecordid><originalsourceid>FETCH-LOGICAL-a674-81d5db92633a203bd43fd7f1805e03dbca95c2f2483d7e07163b9cb060e456133</originalsourceid><addsrcrecordid>eNotz71OwzAYhWEvDKhwAUz4BhI--7OdhA1FLa0UiaHdIzu2i6X8VLZb4O5RC8t5tyM9hDwxKEUtJbzo-B0uJQfgJTQoxD3ZbrRO0yvtwvEzf7nr0l1aRp3DMlO_RLr2PgzBzZnus87On0e6d_Hi4uhSou0ync45zMcHcuf1mNzjf1fksFkf2m3Rfbzv2reu0KoSRc2stKbhClFzQGMFelt5VoN0gNYMupED91zUaCsHFVNomsGAAiekYogr8vx3e6P0pxgmHX_6K6m_kfAXs7tGgw</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing</title><source>arXiv.org</source><creator>Shillaker, Simon ; Pietzuch, Peter</creator><creatorcontrib>Shillaker, Simon ; Pietzuch, Peter</creatorcontrib><description>Serverless computing is an excellent fit for big data processing because it can scale quickly and cheaply to thousands of parallel functions. Existing serverless platforms isolate functions in ephemeral, stateless containers, preventing them from directly sharing memory. This forces users to duplicate and serialise data repeatedly, adding unnecessary performance and resource costs. We believe that a new lightweight isolation approach is needed, which supports sharing memory directly between functions and reduces resource overheads. We introduce Faaslets, a new isolation abstraction for high-performance serverless computing. Faaslets isolate the memory of executed functions using software-fault isolation (SFI), as provided by WebAssembly, while allowing memory regions to be shared between functions in the same address space. Faaslets can thus avoid expensive data movement when functions are co-located on the same machine. Our runtime for Faaslets, Faasm, isolates other resources, e.g. CPU and network, using standard Linux cgroups, and provides a low-level POSIX host interface for networking, file system access and dynamic loading. To reduce initialisation times, Faasm restores Faaslets from already-initialised snapshots. We compare Faasm to a standard container-based platform and show that, when training a machine learning model, it achieves a 2x speed-up with 10x less memory; for serving machine learning inference, Faasm doubles the throughput and reduces tail latency by 90%.</description><identifier>DOI: 10.48550/arxiv.2002.09344</identifier><language>eng</language><subject>Computer Science - Distributed, Parallel, and Cluster Computing</subject><creationdate>2020-02</creationdate><rights>http://arxiv.org/licenses/nonexclusive-distrib/1.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,781,886</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/2002.09344$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.2002.09344$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Shillaker, Simon</creatorcontrib><creatorcontrib>Pietzuch, Peter</creatorcontrib><title>Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing</title><description>Serverless computing is an excellent fit for big data processing because it can scale quickly and cheaply to thousands of parallel functions. Existing serverless platforms isolate functions in ephemeral, stateless containers, preventing them from directly sharing memory. This forces users to duplicate and serialise data repeatedly, adding unnecessary performance and resource costs. We believe that a new lightweight isolation approach is needed, which supports sharing memory directly between functions and reduces resource overheads. We introduce Faaslets, a new isolation abstraction for high-performance serverless computing. Faaslets isolate the memory of executed functions using software-fault isolation (SFI), as provided by WebAssembly, while allowing memory regions to be shared between functions in the same address space. Faaslets can thus avoid expensive data movement when functions are co-located on the same machine. Our runtime for Faaslets, Faasm, isolates other resources, e.g. CPU and network, using standard Linux cgroups, and provides a low-level POSIX host interface for networking, file system access and dynamic loading. To reduce initialisation times, Faasm restores Faaslets from already-initialised snapshots. We compare Faasm to a standard container-based platform and show that, when training a machine learning model, it achieves a 2x speed-up with 10x less memory; for serving machine learning inference, Faasm doubles the throughput and reduces tail latency by 90%.</description><subject>Computer Science - Distributed, Parallel, and Cluster Computing</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotz71OwzAYhWEvDKhwAUz4BhI--7OdhA1FLa0UiaHdIzu2i6X8VLZb4O5RC8t5tyM9hDwxKEUtJbzo-B0uJQfgJTQoxD3ZbrRO0yvtwvEzf7nr0l1aRp3DMlO_RLr2PgzBzZnus87On0e6d_Hi4uhSou0ync45zMcHcuf1mNzjf1fksFkf2m3Rfbzv2reu0KoSRc2stKbhClFzQGMFelt5VoN0gNYMupED91zUaCsHFVNomsGAAiekYogr8vx3e6P0pxgmHX_6K6m_kfAXs7tGgw</recordid><startdate>20200221</startdate><enddate>20200221</enddate><creator>Shillaker, Simon</creator><creator>Pietzuch, Peter</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20200221</creationdate><title>Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing</title><author>Shillaker, Simon ; Pietzuch, Peter</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a674-81d5db92633a203bd43fd7f1805e03dbca95c2f2483d7e07163b9cb060e456133</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>Computer Science - Distributed, Parallel, and Cluster Computing</topic><toplevel>online_resources</toplevel><creatorcontrib>Shillaker, Simon</creatorcontrib><creatorcontrib>Pietzuch, Peter</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Shillaker, Simon</au><au>Pietzuch, Peter</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing</atitle><date>2020-02-21</date><risdate>2020</risdate><abstract>Serverless computing is an excellent fit for big data processing because it can scale quickly and cheaply to thousands of parallel functions. Existing serverless platforms isolate functions in ephemeral, stateless containers, preventing them from directly sharing memory. This forces users to duplicate and serialise data repeatedly, adding unnecessary performance and resource costs. We believe that a new lightweight isolation approach is needed, which supports sharing memory directly between functions and reduces resource overheads. We introduce Faaslets, a new isolation abstraction for high-performance serverless computing. Faaslets isolate the memory of executed functions using software-fault isolation (SFI), as provided by WebAssembly, while allowing memory regions to be shared between functions in the same address space. Faaslets can thus avoid expensive data movement when functions are co-located on the same machine. Our runtime for Faaslets, Faasm, isolates other resources, e.g. CPU and network, using standard Linux cgroups, and provides a low-level POSIX host interface for networking, file system access and dynamic loading. To reduce initialisation times, Faasm restores Faaslets from already-initialised snapshots. We compare Faasm to a standard container-based platform and show that, when training a machine learning model, it achieves a 2x speed-up with 10x less memory; for serving machine learning inference, Faasm doubles the throughput and reduces tail latency by 90%.</abstract><doi>10.48550/arxiv.2002.09344</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier DOI: 10.48550/arxiv.2002.09344
ispartof
issn
language eng
recordid cdi_arxiv_primary_2002_09344
source arXiv.org
subjects Computer Science - Distributed, Parallel, and Cluster Computing
title Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-16T15%3A00%3A31IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Faasm:%20Lightweight%20Isolation%20for%20Efficient%20Stateful%20Serverless%20Computing&rft.au=Shillaker,%20Simon&rft.date=2020-02-21&rft_id=info:doi/10.48550/arxiv.2002.09344&rft_dat=%3Carxiv_GOX%3E2002_09344%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true