SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Embedded Erlang
Development environment for Embedded Erlang
Fredrik Andersson, Niclas Axelsson, Fabian Bergström, Christoffer Ferm,
Henrik Nordh, Gustav Simonsson
Erlang Solutions Ltd.
FSCONS
Gothenburg, November 2010
Erlang Solutions Ltd.
Copyright 2010 Erlang Solutions, Ltd
Background
• Thesis projects
– Uppsala University and Erlang Solutions
• Embedded Platform
– OS platform for embedded devices
• Embedded Erlang
– Erlang on embedded devices
• Erlang VM Extensions
– Better hardware utilization
• Framework for data sharing
– Automatic data sharing
Copyright 2010 Erlang Solutions, Ltd
Motivation
Copyright 2010 Erlang Solutions, Ltd
Erlang
• Development started 1987 at Ericsson Computer Science Lab.
Released as opensource 1998, Ericsson is still the active
maintainer
• Native support for SMP and Concurrency using message passing
• History in Telecom buisness. Designed with Robustness and Low
Down Time in mind.
• Used by among others, Facebook (Facebook chat), T-Mobile
(WAP, SMS), Klarna (e-commerce)
Embedded Platform
Henrik Nordh, Gustav Simonsson
Copyright 2010 Erlang Solutions, Ltd
Embedded OS Usage
Copyright 2010 Erlang Solutions, Ltd
Goals
• Minimal Linux system with Erlang and tools
• Different versions for different purposes
• Easy-to-install package
• Reduce time-to-productivity for embedded Erlang developers
Copyright 2010 Erlang Solutions, Ltd
Metrics
• Evaluating Linux distributions
– memory
– disk usage
– boot times
– harware support
• Embedded focus
Copyright 2010 Erlang Solutions, Ltd
Allocated Memory After Boot
Ubuntu-10.04-minimal-armel
Ångström console-image
Debian-5.0-lenny-arm
Ångström minimal-image
Modified Ångström
0 5 10 15 20 25 30
Copyright 2010 Erlang Solutions, Ltd
Root File System Size
Ubuntu-10.04-minimal-armel
Ångström console-image
Debian-5.0-lenny-arm
Ångström minimal-image
Our Modified Ångström
0 50 100 150 200 250 300
Copyright 2010 Erlang Solutions, Ltd
The Ångström Distribution
• Linux for embedded devices
• Smallest image uses 11 MB disk, 16.2 MB memory
• Default distribution for several devices
– BeagleBoard
– Gumstix
– Pandora (portable gaming console)
• Easy to customise with OpenEmbedded
Copyright 2010 Erlang Solutions, Ltd
OpenEmbedded
• Framework for building embedded Linux Distributions
• Several hardware architectures
• 1000+ packages pre-defined
• Quite complex, but powerful
• Handles dependencies, sources, configuration, cross-
compilation etc.
Copyright 2010 Erlang Solutions, Ltd
uClibc
• Much smaller than glibc, smaller than EGLIBC
• Source compatible with glibc, not binary compatible
• Highly configurable
Copyright 2010 Erlang Solutions, Ltd
BusyBox
• Smaller versions of UNIX utilities in a single binary
• Written with size-optimisation and limited resources in mind
• Very modular and configurable
• Well-tested against uClibc
Copyright 2010 Erlang Solutions, Ltd
Maintaining Different Versions
• “Minimal”
• “Debug”
• “Extended”
• Binary installation packages for common platforms
• Latest Erlang version included
Adapting Erlang for
Embedded Systems
Fredrik Andersson, Fabian Bergström
Copyright 2010 Erlang Solutions, Ltd
Goals
The Virtual machine must be adapted to the limited resources of
embedded systems.
• Low RAM consumption
– How can we reduce RAM usage?
– How will this impact performance?
• Low Disk usage
– How can we keep disk usage low?
– Performance?
• Benchmarks, analysis and documentaion.
Copyright 2010 Erlang Solutions, Ltd
Progress, Memory Usage
70k
80k
70k
60k
60k60k
60k
60k 60k
70k
80k
60k
60k
60k 60k
60k 60k
70k
60k
60k 60k
60k
Copyright 2010 Erlang Solutions, Ltd
Progress, Disk Usage
Vanilla Erlang
Compressed Applications
-Os, strip, stripped beams
0
1
2
3
4
5
6
7
Size on disk
Megabytes
Copyright 2010 Erlang Solutions, Ltd
Progress, Hardware
• VM compiled for Gumstix, BeagleBoard
– BeagleBoard is a prototyping platform
– Gumstix is a much smaller system for commercial use
• TI OMAP35x
– Another thesis project for OpenGL and DSP from Erlang
Copyright 2010 Erlang Solutions, Ltd
The Future
• Support for more hardware
– Pandaboard, utilizing the latest multicore ARM processor
• Documentation for embedded Erlang development
– How should you utilize Erlang tools for handling project mangement
• Real world application
– Small measuring nodes in larger distributed systems
Adding support for special purpose
computing units to the Erlang VM
Christoffer Ferm
Copyright 2010 Erlang Solutions, Ltd
Erlang VM Charasterics
• Good support for SMP
– Added in 2006
• Easy approach to utilizing SMP for developers
– Message passing
– Lightweight processes
Copyright 2010 Erlang Solutions, Ltd
Modern Processing Units
• CPU
– Already supported
• GPU
– OpenCL
– Other GPGPU
• Digital Signal Processor
• Cryptoprocessors
Framework for Data Exchange
Between Mobile Nodes
Niclas Axelsson
Copyright 2010 Erlang Solutions, Ltd
Introduction
• Mobile devices with limited resources
– Phones
– Cars
• Dynamic ad-hoc networks
• Delay tolerant data
Copyright 2010 Erlang Solutions, Ltd
Features
• Written in Erlang
• Simple to configure
• Takes care of the communication between nodes
• Handles storage of data
• A subscription system
Copyright 2010 Erlang Solutions, Ltd
Example Applications
• Music player – share songs
• Announcement systems
• Statistics gathering
The erlang-embedded homepage
Copyright 2010 Erlang Solutions, Ltd
www.erlang-embedded.com
• First release “Stag Beetle” is already out.
– Next release is scheduled around the 16th
of november
• Mailinglist
– erlang-embedded@googlegroups.com
• Github
– http://github.com/esl/erlang-embedded
Copyright 2010 Erlang Solutions, Ltd
Thank you
Questions?
Copyright 2010 Erlang Solutions, Ltd
The Hardware
Copyright 2010 Erlang Solutions, Ltd
Embedded Market
• 2006: 4 billion embedded processors sold worldwide
• 2010: 16 billion
• 2020: 40 billion
• Intel estimates 15 billion will be connected in swarms or
over the Internet by 2015
• ARM announced embedded multi-core CPU in okt 2009

Weitere ähnliche Inhalte

Ähnlich wie Embedded Erlang Development Environment

Long and winding road - 2014
Long and winding road  - 2014Long and winding road  - 2014
Long and winding road - 2014Connor McDonald
 
IoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukeboxIoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukeboxMickaël Rémond
 
Nerves Project Intro to ErlangDC
Nerves Project Intro to ErlangDCNerves Project Intro to ErlangDC
Nerves Project Intro to ErlangDCFrank Hunleth
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureVinoth Rajagopalan
 
Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...Real-Time Innovations (RTI)
 
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...Codemotion
 
"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talk"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talkCLOUDIAN KK
 
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...Russell Pavlicek
 
z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!Michael Erichsen
 
Aberdeen Oil & Gas Event - AWS Partner Eurotech
Aberdeen Oil & Gas Event - AWS Partner EurotechAberdeen Oil & Gas Event - AWS Partner Eurotech
Aberdeen Oil & Gas Event - AWS Partner EurotechAmazon Web Services
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]Raul Soto
 
Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Ahmed El-Arabawy
 
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex systemIbm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex systemIBM Switzerland
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsHPCC Systems
 
MOBILE COMPUTING Unit 5.pptx
MOBILE COMPUTING Unit 5.pptxMOBILE COMPUTING Unit 5.pptx
MOBILE COMPUTING Unit 5.pptxkarthiksmart21
 

Ähnlich wie Embedded Erlang Development Environment (20)

Linux para iniciantes
Linux para iniciantesLinux para iniciantes
Linux para iniciantes
 
Long and winding road - 2014
Long and winding road  - 2014Long and winding road  - 2014
Long and winding road - 2014
 
IoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukeboxIoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukebox
 
Nerves Project Intro to ErlangDC
Nerves Project Intro to ErlangDCNerves Project Intro to ErlangDC
Nerves Project Intro to ErlangDC
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
 
Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...
 
Sundance's presentation at B:RAI 2020
Sundance's presentation at B:RAI 2020Sundance's presentation at B:RAI 2020
Sundance's presentation at B:RAI 2020
 
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
 
Cpp htp5e 01
Cpp htp5e 01Cpp htp5e 01
Cpp htp5e 01
 
Erlang os
Erlang osErlang os
Erlang os
 
"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talk"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talk
 
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
 
z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!
 
Aberdeen Oil & Gas Event - AWS Partner Eurotech
Aberdeen Oil & Gas Event - AWS Partner EurotechAberdeen Oil & Gas Event - AWS Partner Eurotech
Aberdeen Oil & Gas Event - AWS Partner Eurotech
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]
 
Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land
 
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex systemIbm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
 
Deluxe techperl
Deluxe techperlDeluxe techperl
Deluxe techperl
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
MOBILE COMPUTING Unit 5.pptx
MOBILE COMPUTING Unit 5.pptxMOBILE COMPUTING Unit 5.pptx
MOBILE COMPUTING Unit 5.pptx
 

Mehr von FSCONS

Rikard Fröberg - Events for everybody
Rikard Fröberg - Events for everybodyRikard Fröberg - Events for everybody
Rikard Fröberg - Events for everybodyFSCONS
 
Mats Lundälv - Open Accessibility Everywhere – Presenting the AEGIS Project
Mats Lundälv - Open Accessibility Everywhere – Presenting the AEGIS ProjectMats Lundälv - Open Accessibility Everywhere – Presenting the AEGIS Project
Mats Lundälv - Open Accessibility Everywhere – Presenting the AEGIS ProjectFSCONS
 
Ester Ytterbrink - FOSS for crips
Ester Ytterbrink - FOSS for cripsEster Ytterbrink - FOSS for crips
Ester Ytterbrink - FOSS for cripsFSCONS
 
Evenemang för alla - Presentation på sharea
Evenemang för alla - Presentation på shareaEvenemang för alla - Presentation på sharea
Evenemang för alla - Presentation på shareaFSCONS
 
Appleseed Social Networking
Appleseed Social NetworkingAppleseed Social Networking
Appleseed Social NetworkingFSCONS
 
Distributed Democracy
Distributed DemocracyDistributed Democracy
Distributed DemocracyFSCONS
 
Open Hardware Repository
Open Hardware RepositoryOpen Hardware Repository
Open Hardware RepositoryFSCONS
 
2010 11 eek kangas
2010 11 eek kangas2010 11 eek kangas
2010 11 eek kangasFSCONS
 
The Inanna Project
The Inanna ProjectThe Inanna Project
The Inanna ProjectFSCONS
 
How far are we ready to go?
How far are we ready to go?How far are we ready to go?
How far are we ready to go?FSCONS
 
Glyn moody ethics of intellectual monopolies - fscons 2010
Glyn moody   ethics of intellectual monopolies - fscons 2010Glyn moody   ethics of intellectual monopolies - fscons 2010
Glyn moody ethics of intellectual monopolies - fscons 2010FSCONS
 
Embedding Linux For An Automotive Environment
Embedding Linux For An Automotive EnvironmentEmbedding Linux For An Automotive Environment
Embedding Linux For An Automotive EnvironmentFSCONS
 
GNU Parallel - Ole Tange
GNU Parallel - Ole TangeGNU Parallel - Ole Tange
GNU Parallel - Ole TangeFSCONS
 
Filesharer? GO TO JAIL!
Filesharer? GO TO JAIL!Filesharer? GO TO JAIL!
Filesharer? GO TO JAIL!FSCONS
 
Etik och it
Etik och itEtik och it
Etik och itFSCONS
 
Kaizendo: Customizable schoolbooks
Kaizendo: Customizable schoolbooksKaizendo: Customizable schoolbooks
Kaizendo: Customizable schoolbooksFSCONS
 
Are you weak in the middle?
Are you weak in the middle?Are you weak in the middle?
Are you weak in the middle?FSCONS
 
Multitouching your apps
Multitouching your appsMultitouching your apps
Multitouching your appsFSCONS
 
Who are the free users
Who are the free usersWho are the free users
Who are the free usersFSCONS
 

Mehr von FSCONS (20)

Rikard Fröberg - Events for everybody
Rikard Fröberg - Events for everybodyRikard Fröberg - Events for everybody
Rikard Fröberg - Events for everybody
 
Mats Lundälv - Open Accessibility Everywhere – Presenting the AEGIS Project
Mats Lundälv - Open Accessibility Everywhere – Presenting the AEGIS ProjectMats Lundälv - Open Accessibility Everywhere – Presenting the AEGIS Project
Mats Lundälv - Open Accessibility Everywhere – Presenting the AEGIS Project
 
Ester Ytterbrink - FOSS for crips
Ester Ytterbrink - FOSS for cripsEster Ytterbrink - FOSS for crips
Ester Ytterbrink - FOSS for crips
 
Evenemang för alla - Presentation på sharea
Evenemang för alla - Presentation på shareaEvenemang för alla - Presentation på sharea
Evenemang för alla - Presentation på sharea
 
Appleseed Social Networking
Appleseed Social NetworkingAppleseed Social Networking
Appleseed Social Networking
 
Distributed Democracy
Distributed DemocracyDistributed Democracy
Distributed Democracy
 
Open Hardware Repository
Open Hardware RepositoryOpen Hardware Repository
Open Hardware Repository
 
2010 11 eek kangas
2010 11 eek kangas2010 11 eek kangas
2010 11 eek kangas
 
The Inanna Project
The Inanna ProjectThe Inanna Project
The Inanna Project
 
Fcons
FconsFcons
Fcons
 
How far are we ready to go?
How far are we ready to go?How far are we ready to go?
How far are we ready to go?
 
Glyn moody ethics of intellectual monopolies - fscons 2010
Glyn moody   ethics of intellectual monopolies - fscons 2010Glyn moody   ethics of intellectual monopolies - fscons 2010
Glyn moody ethics of intellectual monopolies - fscons 2010
 
Embedding Linux For An Automotive Environment
Embedding Linux For An Automotive EnvironmentEmbedding Linux For An Automotive Environment
Embedding Linux For An Automotive Environment
 
GNU Parallel - Ole Tange
GNU Parallel - Ole TangeGNU Parallel - Ole Tange
GNU Parallel - Ole Tange
 
Filesharer? GO TO JAIL!
Filesharer? GO TO JAIL!Filesharer? GO TO JAIL!
Filesharer? GO TO JAIL!
 
Etik och it
Etik och itEtik och it
Etik och it
 
Kaizendo: Customizable schoolbooks
Kaizendo: Customizable schoolbooksKaizendo: Customizable schoolbooks
Kaizendo: Customizable schoolbooks
 
Are you weak in the middle?
Are you weak in the middle?Are you weak in the middle?
Are you weak in the middle?
 
Multitouching your apps
Multitouching your appsMultitouching your apps
Multitouching your apps
 
Who are the free users
Who are the free usersWho are the free users
Who are the free users
 

Kürzlich hochgeladen

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Embedded Erlang Development Environment

  • 1. Embedded Erlang Development environment for Embedded Erlang Fredrik Andersson, Niclas Axelsson, Fabian Bergström, Christoffer Ferm, Henrik Nordh, Gustav Simonsson Erlang Solutions Ltd. FSCONS Gothenburg, November 2010 Erlang Solutions Ltd.
  • 2. Copyright 2010 Erlang Solutions, Ltd Background • Thesis projects – Uppsala University and Erlang Solutions • Embedded Platform – OS platform for embedded devices • Embedded Erlang – Erlang on embedded devices • Erlang VM Extensions – Better hardware utilization • Framework for data sharing – Automatic data sharing
  • 3. Copyright 2010 Erlang Solutions, Ltd Motivation
  • 4. Copyright 2010 Erlang Solutions, Ltd Erlang • Development started 1987 at Ericsson Computer Science Lab. Released as opensource 1998, Ericsson is still the active maintainer • Native support for SMP and Concurrency using message passing • History in Telecom buisness. Designed with Robustness and Low Down Time in mind. • Used by among others, Facebook (Facebook chat), T-Mobile (WAP, SMS), Klarna (e-commerce)
  • 6. Copyright 2010 Erlang Solutions, Ltd Embedded OS Usage
  • 7. Copyright 2010 Erlang Solutions, Ltd Goals • Minimal Linux system with Erlang and tools • Different versions for different purposes • Easy-to-install package • Reduce time-to-productivity for embedded Erlang developers
  • 8. Copyright 2010 Erlang Solutions, Ltd Metrics • Evaluating Linux distributions – memory – disk usage – boot times – harware support • Embedded focus
  • 9. Copyright 2010 Erlang Solutions, Ltd Allocated Memory After Boot Ubuntu-10.04-minimal-armel Ångström console-image Debian-5.0-lenny-arm Ångström minimal-image Modified Ångström 0 5 10 15 20 25 30
  • 10. Copyright 2010 Erlang Solutions, Ltd Root File System Size Ubuntu-10.04-minimal-armel Ångström console-image Debian-5.0-lenny-arm Ångström minimal-image Our Modified Ångström 0 50 100 150 200 250 300
  • 11. Copyright 2010 Erlang Solutions, Ltd The Ångström Distribution • Linux for embedded devices • Smallest image uses 11 MB disk, 16.2 MB memory • Default distribution for several devices – BeagleBoard – Gumstix – Pandora (portable gaming console) • Easy to customise with OpenEmbedded
  • 12. Copyright 2010 Erlang Solutions, Ltd OpenEmbedded • Framework for building embedded Linux Distributions • Several hardware architectures • 1000+ packages pre-defined • Quite complex, but powerful • Handles dependencies, sources, configuration, cross- compilation etc.
  • 13. Copyright 2010 Erlang Solutions, Ltd uClibc • Much smaller than glibc, smaller than EGLIBC • Source compatible with glibc, not binary compatible • Highly configurable
  • 14. Copyright 2010 Erlang Solutions, Ltd BusyBox • Smaller versions of UNIX utilities in a single binary • Written with size-optimisation and limited resources in mind • Very modular and configurable • Well-tested against uClibc
  • 15. Copyright 2010 Erlang Solutions, Ltd Maintaining Different Versions • “Minimal” • “Debug” • “Extended” • Binary installation packages for common platforms • Latest Erlang version included
  • 16. Adapting Erlang for Embedded Systems Fredrik Andersson, Fabian Bergström
  • 17. Copyright 2010 Erlang Solutions, Ltd Goals The Virtual machine must be adapted to the limited resources of embedded systems. • Low RAM consumption – How can we reduce RAM usage? – How will this impact performance? • Low Disk usage – How can we keep disk usage low? – Performance? • Benchmarks, analysis and documentaion.
  • 18. Copyright 2010 Erlang Solutions, Ltd Progress, Memory Usage 70k 80k 70k 60k 60k60k 60k 60k 60k 70k 80k 60k 60k 60k 60k 60k 60k 70k 60k 60k 60k 60k
  • 19. Copyright 2010 Erlang Solutions, Ltd Progress, Disk Usage Vanilla Erlang Compressed Applications -Os, strip, stripped beams 0 1 2 3 4 5 6 7 Size on disk Megabytes
  • 20. Copyright 2010 Erlang Solutions, Ltd Progress, Hardware • VM compiled for Gumstix, BeagleBoard – BeagleBoard is a prototyping platform – Gumstix is a much smaller system for commercial use • TI OMAP35x – Another thesis project for OpenGL and DSP from Erlang
  • 21. Copyright 2010 Erlang Solutions, Ltd The Future • Support for more hardware – Pandaboard, utilizing the latest multicore ARM processor • Documentation for embedded Erlang development – How should you utilize Erlang tools for handling project mangement • Real world application – Small measuring nodes in larger distributed systems
  • 22. Adding support for special purpose computing units to the Erlang VM Christoffer Ferm
  • 23. Copyright 2010 Erlang Solutions, Ltd Erlang VM Charasterics • Good support for SMP – Added in 2006 • Easy approach to utilizing SMP for developers – Message passing – Lightweight processes
  • 24. Copyright 2010 Erlang Solutions, Ltd Modern Processing Units • CPU – Already supported • GPU – OpenCL – Other GPGPU • Digital Signal Processor • Cryptoprocessors
  • 25. Framework for Data Exchange Between Mobile Nodes Niclas Axelsson
  • 26. Copyright 2010 Erlang Solutions, Ltd Introduction • Mobile devices with limited resources – Phones – Cars • Dynamic ad-hoc networks • Delay tolerant data
  • 27. Copyright 2010 Erlang Solutions, Ltd Features • Written in Erlang • Simple to configure • Takes care of the communication between nodes • Handles storage of data • A subscription system
  • 28. Copyright 2010 Erlang Solutions, Ltd Example Applications • Music player – share songs • Announcement systems • Statistics gathering
  • 30. Copyright 2010 Erlang Solutions, Ltd www.erlang-embedded.com • First release “Stag Beetle” is already out. – Next release is scheduled around the 16th of november • Mailinglist – erlang-embedded@googlegroups.com • Github – http://github.com/esl/erlang-embedded
  • 31. Copyright 2010 Erlang Solutions, Ltd Thank you Questions?
  • 32. Copyright 2010 Erlang Solutions, Ltd The Hardware
  • 33. Copyright 2010 Erlang Solutions, Ltd Embedded Market • 2006: 4 billion embedded processors sold worldwide • 2010: 16 billion • 2020: 40 billion • Intel estimates 15 billion will be connected in swarms or over the Internet by 2015 • ARM announced embedded multi-core CPU in okt 2009