Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3592533.3592805acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article
Open access

Laminar: Dataflow Programming for Serverless IoT Applications

Published: 08 May 2023 Publication History

Abstract

Serverless computing has increased in popularity as a programming model for "Internet of Things" (IoT) applications that amalgamate IoT devices, edge-deployed computers and systems, and the cloud to interoperate. In this paper, we present Laminar - a dataflow program representation for distributed IoT application programming - and describe its implementation based on a network-transparent, event-driven, serverless computing infrastructure that uses append-only log storage to store all program state. We describe the initial implementation of Laminar, discuss some useful properties we obtained by leveraging log-based data structures and triggered computations of the underlying serverless runtime, and illustrate its performance and reliability characteristics using a set of benchmark applications.

References

[1]
2023. Keysight VEE. https://www.keysight.com/us/en/home.html.
[2]
ambience 2023. The Ambience Operating System. https://github.com/MAYHEM-Lab/ambience.
[3]
Ambiencepersonal 2022. Personal Communication with Ambience Developers. https://github.com/FatihBAKIR, December, 2022.
[4]
AWS Greengrass 2019. AWS Greengrass. https://aws.amazon.com/greengrass/ [Online; accessed 12-Sep-2019].
[5]
AWS Lambda 2023. AWS Lambda - Serverless Compute - Amazon Web Services. https://aws.amazon.com/lambda/.
[6]
Fatih Bakir, Chandra Krintz, and Rich Wolski. 2021. CAPLets: Resource aware, capability-based access control for iot. In 2021 IEEE/ACM Symposium on Edge Computing (SEC). IEEE, 106--120.
[7]
Michael R Berthold, Nicolas Cebron, Fabian Dill, Thomas R Gabriel, Tobias Kötter, Thorsten Meinl, Peter Ohl, Kilian Thiel, and Bernd Wiswedel. 2009. KNIME-the Konstanz information miner: version 2.0 and beyond. AcM SIGKDD explorations Newsletter 11, 1 (2009), 26--31.
[8]
Michael Blackstock and Rodger Lea. 2014. Toward a distributed data flow platform for the web of things (distributed node-red). In Proceedings of the 5th International Workshop on Web of Things. 34--39.
[9]
craigshoemaker. 2023. Azure Functions Overview. https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview.
[10]
John T Feo, David C Cann, and Rodney R Oldehoeft. 1990. A report on the Sisal language project. J. Parallel and Distrib. Comput. 10, 4 (1990), 349--366.
[11]
Emden R. Gansner, Eleftherios Koutsofios, and Stephen North. 2006. Drawing graphs with dot.
[12]
googlefuncs 2021. Cloud Functions. https://cloud.google.com/functions.
[13]
Arjun Guha, Claudiu Saftoiu, and Shriram Krishnamurthi. 2010. The essence of JavaScript. In ECOOP 2010--Object-Oriented Programming: 24th European Conference, Maribor, Slovenia, June 21--25, 2010. Proceedings 24. Springer, 126--150.
[14]
John Guttag, James Horning, and John Williams. 1981. FP with data abstraction and strong typing. In Proceedings of the 1981 conference on Functional programming languages and computer architecture. 11--24.
[15]
Paul Hudak and Joseph H Fasel. 1992. A gentle introduction to Haskell. ACM Sigplan Notices 27, 5 (1992), 1--52.
[16]
Wei-Tsung Lin, Fatih Bakir, Chandra Krintz, Rich Wolski, and Markus Mock. 2019. Data repair for distributed, event-based IoT applications. In Proceedings of the 13th ACM International Conference on Distributed and Event-based Systems. 139--150.
[17]
Seyed Hossein Mortazavi, Mohammad Salehe, Carolina Simoes Gomes, Caleb Phillips, and Eyal De Lara. 2017. Cloudpath: A multi-tier cloud computing framework. In Proceedings of the Second ACM/IEEE Symposium on Edge Computing. 1--13.
[18]
MSIoT 2023. IoT Edge | Microsoft Azure. https://azure.microsoft.com/en-us/services/iot-edge/.
[19]
Rishiyur S Nikhil. 1993. The parallel programming language Id and its compilation for parallel machines. International Journal of High Speed Computing 5, 02 (1993), 171--223.
[20]
Rishiyur S Nikhil and Keshav K Pingali. 1989. I-structures: Data structures for parallel computing. ACM Transactions on Programming Languages and Systems (TOPLAS) 11, 4 (1989), 598--632.
[21]
Martin Odersky, Philippe Altherr, Vincent Cremet, Burak Emir, Sebastian Maneth, Stéphane Micheloud, Nikolay Mihaylov, Michel Schinz, Erik Stenman, and Matthias Zenger. 2004. An overview of the Scala programming language. (2004).
[22]
OpenFaaS 2020. OpenFaaS. https://www.openfaas.com [Online; accessed 1-Sep-2020].
[23]
Tobias Pfandzelter and David Bermbach. 2020. tinyfaas: A lightweight faas platform for edge environments. In 2020 IEEE International Conference on Fog Computing (ICFC). IEEE, 17--24.
[24]
purescript 2023. The Purescript Language. https://www.purescript.org.
[25]
Marek Sadowski, Lennart Frantzell, and Sadowski. 2020. Apache OpenWhisk-Open Source Project. Serverless Swift: Apache OpenWhisk for iOS developers (2020), 37--57.
[26]
Vivek Sarkar. 1987. Partitioning and scheduling parallel programs for execution on multiprocessors. Stanford University.
[27]
Stephen Skedzielewski and John Glauert. 1985. IF1 An Intermediate Form for Applicative Languages. Lawrence Livermore National Laboratory Manual M-170, Livermore, CA (1985).
[28]
David A Turner. 1985. Miranda: A non-strict functional language with polymorphic types. In Functional Programming Languages and Computer Architecture: Nancy, France, September 16--19, 1985. Springer, 1--16.
[29]
Jeffrey D Ullman. 1998. Elements of ML programming (ML97 ed.). Prentice-Hall, Inc.
[30]
William W Wadge, Edward A Ashcroft, et al. 1985. Lucid, the dataflow programming language. Vol. 303. Academic Press London.
[31]
Rich Wolski, Chandra Krintz, Fatih Bakir, Gareth George, and Wei-Tsung Lin. 2019. CSPOT: portable, multi-scale functions-as-a-service for IoT. In Proceedings of the 4th ACM/IEEE Symposium on Edge Computing. ACM, 236--249.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SESAME '23: Proceedings of the 1st Workshop on SErverless Systems, Applications and MEthodologies
May 2023
64 pages
ISBN:9798400701856
DOI:10.1145/3592533
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 May 2023

Check for updates

Author Tags

  1. IoT
  2. serverless
  3. dataflow programming

Qualifiers

  • Research-article

Funding Sources

Conference

SESAME '23
Sponsor:

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 344
    Total Downloads
  • Downloads (Last 12 months)236
  • Downloads (Last 6 weeks)26
Reflects downloads up to 23 Sep 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media