Embedded Erlang
Development environment for Embedded Erlang
Fredrik Andersson, Niclas Axelsson, Fabian Bergström, Christof...
Copyright 2010 Erlang Solutions, Ltd
Background
• Thesis projects
– Uppsala University and Erlang Solutions
• Embedded Pla...
Copyright 2010 Erlang Solutions, Ltd
Motivation
Copyright 2010 Erlang Solutions, Ltd
Erlang
• Development started 1987 at Ericsson Computer Science Lab.
Released as opens...
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...
Copyright 2010 Erlang Solutions, Ltd
Metrics
• Evaluating Linux distributions
– memory
– disk usage
– boot times
– harware...
Copyright 2010 Erlang Solutions, Ltd
Allocated Memory After Boot
Ubuntu-10.04-minimal-armel
Ångström console-image
Debian-...
Copyright 2010 Erlang Solutions, Ltd
Root File System Size
Ubuntu-10.04-minimal-armel
Ångström console-image
Debian-5.0-le...
Copyright 2010 Erlang Solutions, Ltd
The Ångström Distribution
• Linux for embedded devices
• Smallest image uses 11 MB di...
Copyright 2010 Erlang Solutions, Ltd
OpenEmbedded
• Framework for building embedded Linux Distributions
• Several hardware...
Copyright 2010 Erlang Solutions, Ltd
uClibc
• Much smaller than glibc, smaller than EGLIBC
• Source compatible with glibc,...
Copyright 2010 Erlang Solutions, Ltd
BusyBox
• Smaller versions of UNIX utilities in a single binary
• Written with size-o...
Copyright 2010 Erlang Solutions, Ltd
Maintaining Different Versions
• “Minimal”
• “Debug”
• “Extended”
• Binary installati...
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 system...
Copyright 2010 Erlang Solutions, Ltd
Progress, Memory Usage
70k
80k
70k
60k
60k60k
60k
60k 60k
70k
80k
60k
60k
60k 60k
60k...
Copyright 2010 Erlang Solutions, Ltd
Progress, Disk Usage
Vanilla Erlang
Compressed Applications
-Os, strip, stripped beam...
Copyright 2010 Erlang Solutions, Ltd
Progress, Hardware
• VM compiled for Gumstix, BeagleBoard
– BeagleBoard is a prototyp...
Copyright 2010 Erlang Solutions, Ltd
The Future
• Support for more hardware
– Pandaboard, utilizing the latest multicore A...
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 util...
Copyright 2010 Erlang Solutions, Ltd
Modern Processing Units
• CPU
– Already supported
• GPU
– OpenCL
– Other GPGPU
• Digi...
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...
Copyright 2010 Erlang Solutions, Ltd
Features
• Written in Erlang
• Simple to configure
• Takes care of the communication ...
Copyright 2010 Erlang Solutions, Ltd
Example Applications
• Music player – share songs
• Announcement systems
• Statistics...
The erlang-embedded homepage
Copyright 2010 Erlang Solutions, Ltd
www.erlang-embedded.com
• First release “Stag Beetle” is already out.
– Next release ...
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 billi...
Upcoming SlideShare
Loading in...5
×

Embedded erlang-fscons-2010

2,062

Published on

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,062
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
47
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Embedded erlang-fscons-2010

  1. 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. 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. 3. Copyright 2010 Erlang Solutions, Ltd Motivation
  4. 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)
  5. 5. Embedded Platform Henrik Nordh, Gustav Simonsson
  6. 6. Copyright 2010 Erlang Solutions, Ltd Embedded OS Usage
  7. 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. 8. Copyright 2010 Erlang Solutions, Ltd Metrics • Evaluating Linux distributions – memory – disk usage – boot times – harware support • Embedded focus
  9. 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. 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. 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. 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. 13. Copyright 2010 Erlang Solutions, Ltd uClibc • Much smaller than glibc, smaller than EGLIBC • Source compatible with glibc, not binary compatible • Highly configurable
  14. 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. 15. Copyright 2010 Erlang Solutions, Ltd Maintaining Different Versions • “Minimal” • “Debug” • “Extended” • Binary installation packages for common platforms • Latest Erlang version included
  16. 16. Adapting Erlang for Embedded Systems Fredrik Andersson, Fabian Bergström
  17. 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. 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. 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. 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. 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. 22. Adding support for special purpose computing units to the Erlang VM Christoffer Ferm
  23. 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. 24. Copyright 2010 Erlang Solutions, Ltd Modern Processing Units • CPU – Already supported • GPU – OpenCL – Other GPGPU • Digital Signal Processor • Cryptoprocessors
  25. 25. Framework for Data Exchange Between Mobile Nodes Niclas Axelsson
  26. 26. Copyright 2010 Erlang Solutions, Ltd Introduction • Mobile devices with limited resources – Phones – Cars • Dynamic ad-hoc networks • Delay tolerant data
  27. 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. 28. Copyright 2010 Erlang Solutions, Ltd Example Applications • Music player – share songs • Announcement systems • Statistics gathering
  29. 29. The erlang-embedded homepage
  30. 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. 31. Copyright 2010 Erlang Solutions, Ltd Thank you Questions?
  32. 32. Copyright 2010 Erlang Solutions, Ltd The Hardware
  33. 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
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×