0
Der Inhalt
● Was ist ein RaspBerry Pi
● Wieso RPIs im Cluster
● Lastverteilung, Marke Eigenbau
● Praktische Erfahrungen
● ...
/me.info();
●
Tam HANNA
– Director, Tamoggemon
Holding k.s.
About /girly
●
Annette BOSBACH
– Mitarbeiterin der
Leitstelle, Tamoggemon
Holding k.s.
Krank...Krank...
About /girly
●
Annette BOSBACH
– Mitarbeiterin der
Leitstelle, Tamoggemon
Holding k.s.
Krank...Krank...
wieder einmal ;)wi...
Wieso
TouchCalc
● Eine Engine fiel vom Himmel ;) ;)
– Notdürftig auf C++ portiert
● Einsatz unter Windows Phone und Firefox OS
–...
TouchCalc - II
● Aufbau als Client-Server-App
● Server rechnet, Client zeigt an
– Bessere Kontrolle über Nutzerverhalten
–...
Himbeere
Drei Varianten
● Modell A
– Kein LAN
– 256MB RAM
– Weniger Stromverbrauch (500 statt 700mA)
● Modell B
– LAN
– 512MB RAM
Möglichkeit der Kaskadierung
● Ein RaspBerry Pi B routet mehrere As
– Einsparung im Bereich Energieverbrauch
● Nur manchma...
Flaschenhals USB
● SOC ist für Handys vorgesehen
– Vergleichsweise wenig BUSse, etc
● Alles hängt am USB
Flaschenhals USB - II
● Geschwindigkeit per USB – rund 30MB
root@raspberrypi:~# dd if=/dev/sda of=/dev/null bs=32M
count=1...
Flaschenhals USB - III
● Bandbreite über LAN
– Rund 50-60MBit
● Achtung: Kollision zwischen USB und LAN
– Für E/A-lastige ...
Betriebssystem herbei
● RPI hat KEINEN Bootloader, etc
● Start NUR über SD-Karte möglich
● Externer Massenspeicher
– SD
– ...
Betriebssystem herbei - II
● Standardsystem: RaspBIAN
● Abgespecktes Debian
● An ARM-Prozessor angepasst
● Ubuntu funktion...
Zustandlosigkeit
Ein Protokoll, das zwischen den einzelnen
Aufrufen keinen Zustand hält. Mehrere Anfragen
desselben Klient...
Zustandslosigkeit - II
● Zustandslose Protokolle sind gut
– Skalieren sehr gut
– Verursachen keine Internodal-Kommunikatio...
Das Floriani-Prinzip
Heiliger Sankt Florian /
Verschon' mein Haus /
Zünd' and're an!
Idee
● Lastverteilung am Server erzeugt Last
● System ist „für Angreifer unattraktiv“
● Ab zum Client!
Der „Lastraum“
●
Object 0:
●
●
.ip : 89.173.25.32
●
.port : 2345
●
.minResponsibilityRange : 0
●
.maxResponsibilityRange :...
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
Ein kleines Beispiel
● Zwei Rpis
– 1 Leistungseinheit
● Ein BeagleBone
– 2 Leistungseinheiten
● RPI A
– 0.00-0.25
● RPI B
...
Verschiedene Anfragen?
● Was ist, wenn die Anfragen verschieden sind
● Verteilung bleibt trotzdem fair
– Alle Aufgaben wer...
Problem: Single Point of Failure
● Ausfall des ServerServers
– Keine Berechnungen möglich
● Problemlösung
– Client cached ...
Funktioniert gut
● Computersimulation mit Qt
– Von der Qualität des RNG abhängig
● Praxistext: seit 6 Monaten keine Imbala...
Praktische Erfahrungen
Übertaktung, ja bitte
Praktische Erfahrungen
● „MODEST“ wird im gesamten Cluster genutzt
● Andere Betreiber nutzen höhere Einstellungen
– Keine ...
Provider wehren sich
● Zehn Jahre lang
– Selbe IP
● Eines Tages
– Neue Adresse
Router sind anfällig
● 5 Router, eine grantige Assistentin
– Diverse seltsame Abstürze
● Home-Router sind unzuverlässig
– ...
MicroUSB-Lader sind teuer
● Rund 5V / 700mA per Planare
● Energieversorgung via MicroUSB ist „teuer“
● Besser: Netzteil an...
Vermeide externe Peripherie
● RPI mit SD-Karte → Angenehm kompakt
● USB-Geräte sind ungünstig
– Strombedarf (Hub nötig)
– ...
Ausblick
Ideales Lehrwerkzeug
● RaspBerry Pis sind preiswert
● RaspBerry Pis sind cool
– „Out-Sell Arduino on a 100 to 1 basis“
● R...
Ideales Lehrwerkzeug - II
● Nahe an echtem Server
● Software lässt sich weiterverwenden
– Linux ist – meist - Linux
● Real...
„Bessere“ Konkurrenten
● BeagleBone Black
– Schneller
– Keine GPU
● Diverse Evaluationsboards
– Wesentlich schneller
– Wen...
Es geht! Wirklich!
● Clusterbetrieb
– Seit 6 Monaten
– Kunden Happy
– Kosten gering
BONUS:
Qt am RaspBerry Pi
Hinweis, der Form halber
● Im Saal „Grün“ findet eine QA-Session statt
● Diese ist hochkarätig besetzt
● Öffentliche Disku...
Native Nutzung
● Qt 4 lässt sich per apt-get installieren
● Qt Creator und Co rennen am Rpi
● Kompilation großer Programme...
Bessere Idee
● RaspBerry Pi per Cross-Compiler ansprechen
● Erstellung von Qt 5 erfolgt am Desktop
● Wird danach in SD-Kar...
BakeQtPi
amhan@ubuntu:~/Downloads$ sudo ./bakeqtpi.bash -help
[sudo] password for tamhan:
Using 4 threads for compilation
...
Aber Achtung!
Donwloading QT5 Package
--2013-09-24 21:25:02--
http://releases.qt-project.org/qt5/5.0.0/single/qt-everywher...
Achtung, Ubuntu!
● Wird mit veraltetem Qt Creator ausgeliefert
● Installation neuer Version ersetzt diese nicht
● qtcreato...
Praktisches Entwickeln
● SD-Kartenimage ist erforderlich
tamhan@ubuntu:~/opt$ sudo mount -o
loop,offset=62914560
2013-02-0...
Deployment
?!?
tamhan@tamoggemon.com
@tamhanna
Pics: Fir0002/Flagstaffotos, Manuel F. Guerrero, U.S. Marine
Corps
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Upcoming SlideShare
Loading in...5
×

Raspberry Pi

322

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
322
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×