$30 off During Our Annual Pro Sale. View Details »

Portals: Teleporting smart edge services to a serverless future

Philipp Haller
October 19, 2023
25

Portals: Teleporting smart edge services to a serverless future

Philipp Haller

October 19, 2023
Tweet

Transcript

  1. Digital Futures
    2023-09-05 1

    View Slide

  2. Digital Futures
    PORTALS: Teleporting smart
    edge services to a serverless
    future
    Philipp Haller


    Associate Professor, EECS/TCS


    KTH Royal Institute of Technology
    2023-09-05 2

    View Slide

  3. Project team
    Philipp Haller


    Associate Professor, KTH
    Paris Carbone


    Senior researcher, RISE


    Assistant Professor, KTH
    Jonas Spenger


    Researcher, RISE


    PhD student, KTH

    View Slide

  4. Digital Futures
    Context: Large-Scale Data-Driven
    Services
    • Modern digital services leveraging large amounts of data are
    challenging to make trustful, reliable and scalable


    • Data privacy and reliability essential due to sensitivity of data


    • Scalability essential due to size of data or user base


    • Reliability and scalability requires constructing digital services as
    distributed systems


    • Tolerating faults (of compute nodes or the network)


    • Scaling compute and storage resources on demand
    2023-10-19 4

    View Slide

  5. Digital Futures
    Challenges of Distributed Systems
    Building reliable and scalable distributed systems is challenging


    • Fault tolerance requires sophisticated distributed algorithms


    • Scalability requires complex concurrent programming


    • Data consistency may increase latency and reduce availability


    • Data-privacy legislation like GDPR is difficult to enforce


    • Dynamic updates or enhancements challenging
    2023-10-19 5

    View Slide

  6. Digital Futures
    How to Handle these Challenges?
    • Various system architectures and programming frameworks have been
    proposed


    • The latest developments include Serverless Computing


    • Applications decomposed into functions that are invoked in
    response to events (FaaS — Function-as-a-Service)


    • Key innovation: allocate compute resources automatically → scale
    up and down (even to zero) according to demand


    • No manual provisioning of virtual machines → “serverless”


    • Partially addresses fault tolerance, scalability and dynamic updates
    2023-10-19 6

    View Slide

  7. Digital Futures
    Challenges of Serverless
    Computing
    • Key aspects remain responsibilities of applications:


    • Challenge: enforcing strong data consistency on top of weak
    consistency provided by serverless framework


    • Challenge: data privacy


    • Added challenge: enforcing data-privacy legislation
    automatically


    • These are essential for trust and privacy
    2023-10-19 7

    View Slide

  8. Digital Futures
    PORTALS: Objectives
    The objectives of the PORTALS project are to develop:


    • A decentralized serverless system architecture


    • Enabling deployment of “workflows” on the edge and in the cloud


    • A programming model to support a wide range of applications


    • Flexible inter-workflow communication via “portals”


    • Principled data processing via “atomic streams”


    • A formalization and a proof of execution guarantees and correctness


    • A prototype implementation enabling experimental evaluation and extension
    2023-10-19 8

    View Slide

  9. Digital Futures
    Workflows
    • The units of computation: DAGs of stateful tasks


    • Consume and produce streams of events
    2023-10-19 9
    Work
    fl
    ow[T, U]
    src sink
    tasks
    AtomicStream[T] AtomicStream[U]

    View Slide

  10. Digital Futures
    Atomic Processing Contract
    Data is processed through atomic (transactional) steps:


    1. Consume an atom (“batch of events”) from the input stream


    2. Process the entire atom


    3. Produce side effects (new events, state updates)
    2023-10-19 10
    Work
    fl
    ow[T, U]
    src sink
    tasks
    AtomicStream[T] AtomicStream[U]

    View Slide

  11. Digital Futures
    Portals
    • A Portal exposes a dataflow as a service via bidirectional communication
    2023-10-19 11
    Responding
    Dataflow
    src tasks sink
    Requests Replies
    Portal Service
    Access
    Operator
    Reques8ng
    Dataflow
    Requests Replies
    Portal Service

    View Slide

  12. Digital Futures
    Portals Open Source Project
    • A prototype implementation under active development


    • Open source, Apache 2.0 license


    • Written in Scala 3, a high-level language combining functional and
    object-oriented programming


    • Repository on GitHub:

    https://github.com/portals-project/portals
    2023-10-19 12

    View Slide

  13. Digital Futures
    Portals Playground
    • The Portals playground enables running Portals-based applications in the
    web browser: portals-project.org/playground/


    • Made possible by compiling the Portals framework to JavaScript using
    Scala.js, the Scala-to-JavaScript compiler
    2023-10-05 13

    View Slide

  14. Digital Futures
    Selected Publications
    • Spenger, Carbone, Haller. Portals: an Extension of Dataflow Streaming for Stateful
    Serverless. ACM SIGPLAN Onward! 2022

    https://doi.org/10.1145/3563835.3567664


    • Spenger, Huang, Haller, Carbone. Portals: A Showcase of Multi-Dataflow Stateful
    Serverless. PVLDB 16(12): 4054-4057 (2023)

    https://doi.org/10.14778/3611540.3611619


    • Spenger, Carbone, Haller: A Survey of Actor-Like Programming Models for Serverless
    Computing. Active Object Languages: Current Research Trends, Springer LNCS, to
    appear


    • Project website with all papers and talks:

    https://www.portals-project.org/
    2023-10-19 14

    View Slide

  15. Digital Futures
    Thank you for
    listening
    2023-09-05 15

    View Slide