Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Raspberry Pi

1,146 views

Published on

  • Be the first to comment

  • Be the first to like this

Raspberry Pi

  1. 1. Der Inhalt ● Was ist ein RaspBerry Pi ● Wieso RPIs im Cluster ● Lastverteilung, Marke Eigenbau ● Praktische Erfahrungen ● Ausblick ● Qt am RaspBerry Pi
  2. 2. /me.info(); ● Tam HANNA – Director, Tamoggemon Holding k.s.
  3. 3. About /girly ● Annette BOSBACH – Mitarbeiterin der Leitstelle, Tamoggemon Holding k.s. Krank...Krank...
  4. 4. About /girly ● Annette BOSBACH – Mitarbeiterin der Leitstelle, Tamoggemon Holding k.s. Krank...Krank... wieder einmal ;)wieder einmal ;)
  5. 5. Wieso
  6. 6. TouchCalc ● Eine Engine fiel vom Himmel ;) ;) – Notdürftig auf C++ portiert ● Einsatz unter Windows Phone und Firefox OS – Wenig Konkurrenz – C++ ungeeignet
  7. 7. TouchCalc - II ● Aufbau als Client-Server-App ● Server rechnet, Client zeigt an – Bessere Kontrolle über Nutzerverhalten – Einfachere Portierung ● Nutzerakzeptanz gegeben (!!!)
  8. 8. Himbeere
  9. 9. Drei Varianten ● Modell A – Kein LAN – 256MB RAM – Weniger Stromverbrauch (500 statt 700mA) ● Modell B – LAN – 512MB RAM
  10. 10. Möglichkeit der Kaskadierung ● Ein RaspBerry Pi B routet mehrere As – Einsparung im Bereich Energieverbrauch ● Nur manchmal sinnvoll: – Viel Rechenleistungsbedarf – Kommt mit 256MB RAM aus – Wenig Bandbreite
  11. 11. Flaschenhals USB ● SOC ist für Handys vorgesehen – Vergleichsweise wenig BUSse, etc ● Alles hängt am USB
  12. 12. Flaschenhals USB - II ● Geschwindigkeit per USB – rund 30MB root@raspberrypi:~# dd if=/dev/sda of=/dev/null bs=32M count=10 iflag=direct 10+0 records in 10+0 records out 335544320 bytes (336 MB) copied, 10.6428 s, 31.5 MB/s
  13. 13. Flaschenhals USB - III ● Bandbreite über LAN – Rund 50-60MBit ● Achtung: Kollision zwischen USB und LAN – Für E/A-lastige Systeme ungeeignet
  14. 14. Betriebssystem herbei ● RPI hat KEINEN Bootloader, etc ● Start NUR über SD-Karte möglich ● Externer Massenspeicher – SD – USB (Stromverbrauch!)
  15. 15. Betriebssystem herbei - II ● Standardsystem: RaspBIAN ● Abgespecktes Debian ● An ARM-Prozessor angepasst ● Ubuntu funktioniert NICHT
  16. 16. Zustandlosigkeit Ein Protokoll, das zwischen den einzelnen Aufrufen keinen Zustand hält. Mehrere Anfragen desselben Klienten werden vom selben Host als unabhängig betrachtet...
  17. 17. Zustandslosigkeit - II ● Zustandslose Protokolle sind gut – Skalieren sehr gut – Verursachen keine Internodal-Kommunikation ● „Babycluster“ haben wenig Internodalbandbreite
  18. 18. Das Floriani-Prinzip Heiliger Sankt Florian / Verschon' mein Haus / Zünd' and're an!
  19. 19. Idee ● Lastverteilung am Server erzeugt Last ● System ist „für Angreifer unattraktiv“ ● Ab zum Client!
  20. 20. Der „Lastraum“ ● Object 0: ● ● .ip : 89.173.25.32 ● .port : 2345 ● .minResponsibilityRange : 0 ● .maxResponsibilityRange : 10 ● .uid : BA_PI_1 ● .setOffline : ● Check server BA_PI_1... ● Server seems to work. ● ● Object 1: ● ● .ip : 212.186.120.179 ● .port : 2345 ● .minResponsibilityRange : 10 ● .maxResponsibilityRange : 20 ● .uid : VIE_PI_1 ● .setOffline : ● Check server VIE_PI_1... ● SERVER DOES NOT WORK!
  21. 21. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 0 10 20 30 40 50 60 70 80 90 100
  22. 22. Ein kleines Beispiel ● Zwei Rpis – 1 Leistungseinheit ● Ein BeagleBone – 2 Leistungseinheiten ● RPI A – 0.00-0.25 ● RPI B – 0.25-0.5 ● BB A – 0.5-1
  23. 23. Verschiedene Anfragen? ● Was ist, wenn die Anfragen verschieden sind ● Verteilung bleibt trotzdem fair – Alle Aufgaben werden gleich verteilt – Jeder Server bekommt gleichen Anteil an Clients
  24. 24. Problem: Single Point of Failure ● Ausfall des ServerServers – Keine Berechnungen möglich ● Problemlösung – Client cached Liste lokal – Auslieferung erfolgt mit Liste „stabiler“ Server
  25. 25. Funktioniert gut ● Computersimulation mit Qt – Von der Qualität des RNG abhängig ● Praxistext: seit 6 Monaten keine Imbalancen – Firefox OS – Windows Phone
  26. 26. Praktische Erfahrungen
  27. 27. Übertaktung, ja bitte
  28. 28. Praktische Erfahrungen ● „MODEST“ wird im gesamten Cluster genutzt ● Andere Betreiber nutzen höhere Einstellungen – Keine Probleme bekannt ● Nutzung gerechtfertigt: – Minimal höherer Stromverbrauch – Wesentlich bessere Hardware-Ausnutzung
  29. 29. Provider wehren sich ● Zehn Jahre lang – Selbe IP ● Eines Tages – Neue Adresse
  30. 30. Router sind anfällig ● 5 Router, eine grantige Assistentin – Diverse seltsame Abstürze ● Home-Router sind unzuverlässig – War nicht immer so (!!!)
  31. 31. MicroUSB-Lader sind teuer ● Rund 5V / 700mA per Planare ● Energieversorgung via MicroUSB ist „teuer“ ● Besser: Netzteil an GPIO-PIN – Effizienter – Risiko von Hardwareschaden – Sicherung „umgangen“
  32. 32. Vermeide externe Peripherie ● RPI mit SD-Karte → Angenehm kompakt ● USB-Geräte sind ungünstig – Strombedarf (Hub nötig) – Platzbedarf
  33. 33. Ausblick
  34. 34. Ideales Lehrwerkzeug ● RaspBerry Pis sind preiswert ● RaspBerry Pis sind cool – „Out-Sell Arduino on a 100 to 1 basis“ ● RaspBerry Pis schränken ein – Grenzerfahrung wg wenigen Ressourcen – Nutzer lernen Umgang mit SSH (!)
  35. 35. Ideales Lehrwerkzeug - II ● Nahe an echtem Server ● Software lässt sich weiterverwenden – Linux ist – meist - Linux ● Reale Server leicht einpflegbar – ServerServer anpassen
  36. 36. „Bessere“ Konkurrenten ● BeagleBone Black – Schneller – Keine GPU ● Diverse Evaluationsboards – Wesentlich schneller – Wenig Community
  37. 37. Es geht! Wirklich! ● Clusterbetrieb – Seit 6 Monaten – Kunden Happy – Kosten gering
  38. 38. BONUS: Qt am RaspBerry Pi
  39. 39. Hinweis, der Form halber ● Im Saal „Grün“ findet eine QA-Session statt ● Diese ist hochkarätig besetzt ● Öffentliche Diskussion ist dort möglich
  40. 40. Native Nutzung ● Qt 4 lässt sich per apt-get installieren ● Qt Creator und Co rennen am Rpi ● Kompilation großer Programme: aua
  41. 41. Bessere Idee ● RaspBerry Pi per Cross-Compiler ansprechen ● Erstellung von Qt 5 erfolgt am Desktop ● Wird danach in SD-Kartenimage geschrieben
  42. 42. BakeQtPi amhan@ubuntu:~/Downloads$ sudo ./bakeqtpi.bash -help [sudo] password for tamhan: Using 4 threads for compilation Usage: ./bakeqtpi.bash [options] options: --package Downloads and builds the official QT5 Package from qt-project.org --webkit Builds Webkit --http Tells git and init-repository to use http(s) --httppi Tells the script to download the Raspbian image using http/wget --torrentpi Tells the script to download the Raspbian image using torrent/ctorrent --raspbian <path> Use custom raspbian. Note, you can point this to your SD card, assuming it's a standard raspbian sd card using --raspbian /dev/sdX (Don't put the partition number in) --confclean Runs 'make confclean' before running ./configure -v, --version Version Info -h, --help Help and usage info
  43. 43. Aber Achtung! Donwloading QT5 Package --2013-09-24 21:25:02-- http://releases.qt-project.org/qt5/5.0.0/single/qt-everywhere-opensource-src-5.0. 0.tar.gz Auflösen des Hostnamen »releases.qt-project.org (releases.qt-project.org)«... 77.86.229.90 Verbindungsaufbau zu releases.qt-project.org (releases.qt-project.org)|77.86.229.90|:80... verbunden. HTTP-Anforderung gesendet, warte auf Antwort... 301 Moved Permanently Platz: http://download.qt-project.org/ [folge] --2013-09-24 21:25:03-- http://download.qt-project.org/ Auflösen des Hostnamen »download.qt-project.org (download.qt-project.org)«... 77.86.229.90 Verbindungsaufbau zu download.qt-project.org (download.qt-project.org)|77.86.229.90|:80... verbunden.
  44. 44. Achtung, Ubuntu! ● Wird mit veraltetem Qt Creator ausgeliefert ● Installation neuer Version ersetzt diese nicht ● qtcreator startet alte Version – Erkennt Cross-Compiler nicht!
  45. 45. Praktisches Entwickeln ● SD-Kartenimage ist erforderlich tamhan@ubuntu:~/opt$ sudo mount -o loop,offset=62914560 2013-02-09-wheezy-raspbian.img /home/tamhan/opt/rasp-pi-rootfs/
  46. 46. Deployment
  47. 47. ?!? tamhan@tamoggemon.com @tamhanna Pics: Fir0002/Flagstaffotos, Manuel F. Guerrero, U.S. Marine Corps

×