Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Like this? Share it with your network

Share

Embedded erlang-fscons-2010

on

  • 2,493 views

 

Statistics

Views

Total Views
2,493
Views on SlideShare
2,493
Embed Views
0

Actions

Likes
1
Downloads
46
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Embedded erlang-fscons-2010 Presentation Transcript

  • 1. Erlang Solutions Ltd. 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
  • 2. 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
  • 3. Motivation Copyright 2010 Erlang Solutions, Ltd
  • 4. 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) Copyright 2010 Erlang Solutions, Ltd
  • 5. Henrik Nordh, Gustav Simonsson Embedded Platform
  • 6. Embedded OS Usage Copyright 2010 Erlang Solutions, Ltd
  • 7. 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
  • 8. Metrics • Evaluating Linux distributions – memory – disk usage – boot times – harware support • Embedded focus Copyright 2010 Erlang Solutions, Ltd
  • 9. Allocated Memory After Boot Modified Ångström Ångström minimal-image Debian-5.0-lenny-arm Ångström console-image Ubuntu-10.04-minimal-armel 0 5 10 15 20 25 30 Copyright 2010 Erlang Solutions, Ltd
  • 10. Root File System Size Our Modified Ångström Ångström minimal-image Debian-5.0-lenny-arm Ångström console-image Ubuntu-10.04-minimal-armel 0 50 100 150 200 250 300 Copyright 2010 Erlang Solutions, Ltd
  • 11. 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
  • 12. 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
  • 13. uClibc • Much smaller than glibc, smaller than EGLIBC • Source compatible with glibc, not binary compatible • Highly configurable Copyright 2010 Erlang Solutions, Ltd
  • 14. 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
  • 15. Maintaining Different Versions • “Minimal” • “Debug” • “Extended” • Binary installation packages for common platforms • Latest Erlang version included Copyright 2010 Erlang Solutions, Ltd
  • 16. Fredrik Andersson, Fabian Bergström Adapting Erlang for Embedded Systems
  • 17. 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
  • 18. Progress, Memory Usage 80k 60k 60k 70k 60k 70k 60k 60k 80k 60k 70k 70k 60k 60k 60k 60k 60k 60k 60k 60k 60k 60k Copyright 2010 Erlang Solutions, Ltd
  • 19. Progress, Disk Usage Size on disk 7 6 5 Megabytes 4 3 2 1 0 Compressed Applications Vanilla Erlang -Os, strip, stripped beams Copyright 2010 Erlang Solutions, Ltd
  • 20. 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
  • 21. 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 Copyright 2010 Erlang Solutions, Ltd
  • 22. Christoffer Ferm Adding support for special purpose computing units to the Erlang VM
  • 23. 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
  • 24. Modern Processing Units • CPU – Already supported • GPU – OpenCL – Other GPGPU • Digital Signal Processor • Cryptoprocessors Copyright 2010 Erlang Solutions, Ltd
  • 25. Niclas Axelsson Framework for Data Exchange Between Mobile Nodes
  • 26. Introduction • Mobile devices with limited resources – Phones – Cars • Dynamic ad-hoc networks • Delay tolerant data Copyright 2010 Erlang Solutions, Ltd
  • 27. 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
  • 28. Example Applications • Music player – share songs • Announcement systems • Statistics gathering Copyright 2010 Erlang Solutions, Ltd
  • 29. The erlang-embedded homepage
  • 30. 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
  • 31. Thank you Questions? Copyright 2010 Erlang Solutions, Ltd
  • 32. The Hardware Copyright 2010 Erlang Solutions, Ltd
  • 33. 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 Copyright 2010 Erlang Solutions, Ltd