SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Der Inhalt
● Was ist ein RaspBerry Pi
● Wieso RPIs im Cluster
● Lastverteilung, Marke Eigenbau
● Praktische Erfahrungen
● Ausblick
● Qt am RaspBerry Pi
/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 ;)wieder einmal ;)
Wieso
TouchCalc
● Eine Engine fiel vom Himmel ;) ;)
– Notdürftig auf C++ portiert
● Einsatz unter Windows Phone und Firefox OS
– Wenig Konkurrenz
– C++ ungeeignet
TouchCalc - II
● Aufbau als Client-Server-App
● Server rechnet, Client zeigt an
– Bessere Kontrolle über Nutzerverhalten
– Einfachere Portierung
● Nutzerakzeptanz gegeben (!!!)
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 manchmal sinnvoll:
– Viel Rechenleistungsbedarf
– Kommt mit 256MB RAM aus
– Wenig Bandbreite
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=10 iflag=direct
10+0 records in
10+0 records out
335544320 bytes (336 MB) copied, 10.6428 s, 31.5 MB/s
Flaschenhals USB - III
● Bandbreite über LAN
– Rund 50-60MBit
● Achtung: Kollision zwischen USB und LAN
– Für E/A-lastige Systeme ungeeignet
Betriebssystem herbei
● RPI hat KEINEN Bootloader, etc
● Start NUR über SD-Karte möglich
● Externer Massenspeicher
– SD
– USB (Stromverbrauch!)
Betriebssystem herbei - II
● Standardsystem: RaspBIAN
● Abgespecktes Debian
● An ARM-Prozessor angepasst
● Ubuntu funktioniert NICHT
Zustandlosigkeit
Ein Protokoll, das zwischen den einzelnen
Aufrufen keinen Zustand hält. Mehrere Anfragen
desselben Klienten werden vom selben Host als
unabhängig betrachtet...
Zustandslosigkeit - II
● Zustandslose Protokolle sind gut
– Skalieren sehr gut
– Verursachen keine Internodal-Kommunikation
● „Babycluster“ haben wenig
Internodalbandbreite
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 : 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!
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
– 0.25-0.5
● BB A
– 0.5-1
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
Problem: Single Point of Failure
● Ausfall des ServerServers
– Keine Berechnungen möglich
● Problemlösung
– Client cached Liste lokal
– Auslieferung erfolgt mit Liste „stabiler“ Server
Funktioniert gut
● Computersimulation mit Qt
– Von der Qualität des RNG abhängig
● Praxistext: seit 6 Monaten keine Imbalancen
– Firefox OS
– Windows Phone
Praktische Erfahrungen
Übertaktung, ja bitte
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
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
– War nicht immer so (!!!)
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“
Vermeide externe Peripherie
● RPI mit SD-Karte → Angenehm kompakt
● USB-Geräte sind ungünstig
– Strombedarf (Hub nötig)
– Platzbedarf
Ausblick
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 (!)
Ideales Lehrwerkzeug - II
● Nahe an echtem Server
● Software lässt sich weiterverwenden
– Linux ist – meist - Linux
● Reale Server leicht einpflegbar
– ServerServer anpassen
„Bessere“ Konkurrenten
● BeagleBone Black
– Schneller
– Keine GPU
● Diverse Evaluationsboards
– Wesentlich schneller
– Wenig Community
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 Diskussion ist dort möglich
Native Nutzung
● Qt 4 lässt sich per apt-get installieren
● Qt Creator und Co rennen am Rpi
● Kompilation großer Programme: aua
Bessere Idee
● RaspBerry Pi per Cross-Compiler ansprechen
● Erstellung von Qt 5 erfolgt am Desktop
● Wird danach in SD-Kartenimage geschrieben
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
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.
Achtung, Ubuntu!
● Wird mit veraltetem Qt Creator ausgeliefert
● Installation neuer Version ersetzt diese nicht
● qtcreator startet alte Version
– Erkennt Cross-Compiler nicht!
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/
Deployment
?!?
tamhan@tamoggemon.com
@tamhanna
Pics: Fir0002/Flagstaffotos, Manuel F. Guerrero, U.S. Marine
Corps

Weitere ähnliche Inhalte

Andere mochten auch

Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...Volker Janz
 
Big Data Bullshit Bingo
Big Data Bullshit BingoBig Data Bullshit Bingo
Big Data Bullshit BingoDanny Linden
 
Technologie und SEO: Cloud, Big Data und Mobile First angeschaut
Technologie und SEO: Cloud, Big Data und Mobile First angeschautTechnologie und SEO: Cloud, Big Data und Mobile First angeschaut
Technologie und SEO: Cloud, Big Data und Mobile First angeschautRalf Schwoebel
 
Icons and Stencils for Hadoop
Icons and Stencils for HadoopIcons and Stencils for Hadoop
Icons and Stencils for HadoopHortonworks
 
IoT evolution oder Hype ???
IoT evolution oder Hype ???IoT evolution oder Hype ???
IoT evolution oder Hype ???Thomas Broessler
 
[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?InterQuest Group
 

Andere mochten auch (9)

Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
 
Big Data Bullshit Bingo
Big Data Bullshit BingoBig Data Bullshit Bingo
Big Data Bullshit Bingo
 
Technologie und SEO: Cloud, Big Data und Mobile First angeschaut
Technologie und SEO: Cloud, Big Data und Mobile First angeschautTechnologie und SEO: Cloud, Big Data und Mobile First angeschaut
Technologie und SEO: Cloud, Big Data und Mobile First angeschaut
 
Einführung Big Data
Einführung Big DataEinführung Big Data
Einführung Big Data
 
Big Data - einfach erklärt!
Big Data - einfach erklärt!Big Data - einfach erklärt!
Big Data - einfach erklärt!
 
Icons and Stencils for Hadoop
Icons and Stencils for HadoopIcons and Stencils for Hadoop
Icons and Stencils for Hadoop
 
Big data ppt
Big  data pptBig  data ppt
Big data ppt
 
IoT evolution oder Hype ???
IoT evolution oder Hype ???IoT evolution oder Hype ???
IoT evolution oder Hype ???
 
[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?
 

Ähnlich wie Raspberry Pi

DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilan Wilhelm
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFromDual GmbH
 
Wie baue ich ein Freifunkbackbone - Was wir in den letzten 5 Jahren gelernt h...
Wie baue ich ein Freifunkbackbone - Was wir in den letzten 5 Jahren gelernt h...Wie baue ich ein Freifunkbackbone - Was wir in den letzten 5 Jahren gelernt h...
Wie baue ich ein Freifunkbackbone - Was wir in den letzten 5 Jahren gelernt h...Maximilan Wilhelm
 
Raspberry PI 4 Freifunk Offloader
Raspberry PI 4 Freifunk OffloaderRaspberry PI 4 Freifunk Offloader
Raspberry PI 4 Freifunk OffloaderAnnika Wickert
 
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?FromDual GmbH
 
Tam Hanna & Annette Heidi Bosbach - Arduino Zero Pro und Bluetooth LE - code....
Tam Hanna & Annette Heidi Bosbach - Arduino Zero Pro und Bluetooth LE - code....Tam Hanna & Annette Heidi Bosbach - Arduino Zero Pro und Bluetooth LE - code....
Tam Hanna & Annette Heidi Bosbach - Arduino Zero Pro und Bluetooth LE - code....AboutYouGmbH
 
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfOSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfNETWAYS
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
 
OSMC 2019 | Vom Bordstein zur Skyline by Robert Waffen
OSMC 2019 | Vom Bordstein zur Skyline by Robert WaffenOSMC 2019 | Vom Bordstein zur Skyline by Robert Waffen
OSMC 2019 | Vom Bordstein zur Skyline by Robert WaffenNETWAYS
 
Mehrserver Lösungen
Mehrserver LösungenMehrserver Lösungen
Mehrserver LösungenAvarteq
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
Clt2008 Virtualisierung
Clt2008 VirtualisierungClt2008 Virtualisierung
Clt2008 Virtualisierungbofh42
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungTilo Baller
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA'sFromDual GmbH
 
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud StackInfracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud StackEdmund Siegfried Haselwanter
 
Out-of-Band-Management für APU-Boards
Out-of-Band-Management für APU-BoardsOut-of-Band-Management für APU-Boards
Out-of-Band-Management für APU-BoardsMaximilan Wilhelm
 

Ähnlich wie Raspberry Pi (20)

DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance Tuning
 
Portscanning 2012
Portscanning 2012Portscanning 2012
Portscanning 2012
 
Wie baue ich ein Freifunkbackbone - Was wir in den letzten 5 Jahren gelernt h...
Wie baue ich ein Freifunkbackbone - Was wir in den letzten 5 Jahren gelernt h...Wie baue ich ein Freifunkbackbone - Was wir in den letzten 5 Jahren gelernt h...
Wie baue ich ein Freifunkbackbone - Was wir in den letzten 5 Jahren gelernt h...
 
Raspberry PI 4 Freifunk Offloader
Raspberry PI 4 Freifunk OffloaderRaspberry PI 4 Freifunk Offloader
Raspberry PI 4 Freifunk Offloader
 
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
 
Tam Hanna & Annette Heidi Bosbach - Arduino Zero Pro und Bluetooth LE - code....
Tam Hanna & Annette Heidi Bosbach - Arduino Zero Pro und Bluetooth LE - code....Tam Hanna & Annette Heidi Bosbach - Arduino Zero Pro und Bluetooth LE - code....
Tam Hanna & Annette Heidi Bosbach - Arduino Zero Pro und Bluetooth LE - code....
 
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfOSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
 
OSMC 2019 | Vom Bordstein zur Skyline by Robert Waffen
OSMC 2019 | Vom Bordstein zur Skyline by Robert WaffenOSMC 2019 | Vom Bordstein zur Skyline by Robert Waffen
OSMC 2019 | Vom Bordstein zur Skyline by Robert Waffen
 
Mehrserver Lösungen
Mehrserver LösungenMehrserver Lösungen
Mehrserver Lösungen
 
Smart Home - 10 Jahre danach
Smart Home - 10 Jahre danachSmart Home - 10 Jahre danach
Smart Home - 10 Jahre danach
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Clt2008 Virtualisierung
Clt2008 VirtualisierungClt2008 Virtualisierung
Clt2008 Virtualisierung
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & Verwendung
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA's
 
Grundlagen nmap
Grundlagen nmapGrundlagen nmap
Grundlagen nmap
 
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud StackInfracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
 
Out-of-Band-Management für APU-Boards
Out-of-Band-Management für APU-BoardsOut-of-Band-Management für APU-Boards
Out-of-Band-Management für APU-Boards
 

Mehr von Droidcon Berlin

Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google castDroidcon Berlin
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limitsDroidcon Berlin
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility Droidcon Berlin
 
From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_backDroidcon Berlin
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86Droidcon Berlin
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building AndroidDroidcon Berlin
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentationDroidcon Berlin
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Droidcon Berlin
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkraussDroidcon Berlin
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014Droidcon Berlin
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Droidcon Berlin
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidconDroidcon Berlin
 
Tuning android for low ram devices
Tuning android for low ram devicesTuning android for low ram devices
Tuning android for low ram devicesDroidcon Berlin
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradioDroidcon Berlin
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon Berlin
 
Droidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon Berlin
 

Mehr von Droidcon Berlin (20)

Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google cast
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limits
 
crashing in style
crashing in stylecrashing in style
crashing in style
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility
 
Details matter in ux
Details matter in uxDetails matter in ux
Details matter in ux
 
From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_back
 
droidparts
droidpartsdroidparts
droidparts
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
 
5 tips of monetization
5 tips of monetization5 tips of monetization
5 tips of monetization
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building Android
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentation
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkrauss
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidcon
 
Tuning android for low ram devices
Tuning android for low ram devicesTuning android for low ram devices
Tuning android for low ram devices
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradio
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicro
 
Droidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenberg
 

Raspberry Pi

  • 1.
  • 2. Der Inhalt ● Was ist ein RaspBerry Pi ● Wieso RPIs im Cluster ● Lastverteilung, Marke Eigenbau ● Praktische Erfahrungen ● Ausblick ● Qt am RaspBerry Pi
  • 3. /me.info(); ● Tam HANNA – Director, Tamoggemon Holding k.s.
  • 4. About /girly ● Annette BOSBACH – Mitarbeiterin der Leitstelle, Tamoggemon Holding k.s. Krank...Krank...
  • 5. About /girly ● Annette BOSBACH – Mitarbeiterin der Leitstelle, Tamoggemon Holding k.s. Krank...Krank... wieder einmal ;)wieder einmal ;)
  • 7. TouchCalc ● Eine Engine fiel vom Himmel ;) ;) – Notdürftig auf C++ portiert ● Einsatz unter Windows Phone und Firefox OS – Wenig Konkurrenz – C++ ungeeignet
  • 8. TouchCalc - II ● Aufbau als Client-Server-App ● Server rechnet, Client zeigt an – Bessere Kontrolle über Nutzerverhalten – Einfachere Portierung ● Nutzerakzeptanz gegeben (!!!)
  • 10. Drei Varianten ● Modell A – Kein LAN – 256MB RAM – Weniger Stromverbrauch (500 statt 700mA) ● Modell B – LAN – 512MB RAM
  • 11. 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
  • 12. Flaschenhals USB ● SOC ist für Handys vorgesehen – Vergleichsweise wenig BUSse, etc ● Alles hängt am USB
  • 13. 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
  • 14. Flaschenhals USB - III ● Bandbreite über LAN – Rund 50-60MBit ● Achtung: Kollision zwischen USB und LAN – Für E/A-lastige Systeme ungeeignet
  • 15. Betriebssystem herbei ● RPI hat KEINEN Bootloader, etc ● Start NUR über SD-Karte möglich ● Externer Massenspeicher – SD – USB (Stromverbrauch!)
  • 16. Betriebssystem herbei - II ● Standardsystem: RaspBIAN ● Abgespecktes Debian ● An ARM-Prozessor angepasst ● Ubuntu funktioniert NICHT
  • 17. Zustandlosigkeit Ein Protokoll, das zwischen den einzelnen Aufrufen keinen Zustand hält. Mehrere Anfragen desselben Klienten werden vom selben Host als unabhängig betrachtet...
  • 18. Zustandslosigkeit - II ● Zustandslose Protokolle sind gut – Skalieren sehr gut – Verursachen keine Internodal-Kommunikation ● „Babycluster“ haben wenig Internodalbandbreite
  • 19. Das Floriani-Prinzip Heiliger Sankt Florian / Verschon' mein Haus / Zünd' and're an!
  • 20. Idee ● Lastverteilung am Server erzeugt Last ● System ist „für Angreifer unattraktiv“ ● Ab zum Client!
  • 21. 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!
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. Problem: Single Point of Failure ● Ausfall des ServerServers – Keine Berechnungen möglich ● Problemlösung – Client cached Liste lokal – Auslieferung erfolgt mit Liste „stabiler“ Server
  • 26. Funktioniert gut ● Computersimulation mit Qt – Von der Qualität des RNG abhängig ● Praxistext: seit 6 Monaten keine Imbalancen – Firefox OS – Windows Phone
  • 29. 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
  • 30. Provider wehren sich ● Zehn Jahre lang – Selbe IP ● Eines Tages – Neue Adresse
  • 31. Router sind anfällig ● 5 Router, eine grantige Assistentin – Diverse seltsame Abstürze ● Home-Router sind unzuverlässig – War nicht immer so (!!!)
  • 32. 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“
  • 33.
  • 34. Vermeide externe Peripherie ● RPI mit SD-Karte → Angenehm kompakt ● USB-Geräte sind ungünstig – Strombedarf (Hub nötig) – Platzbedarf
  • 36. 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 (!)
  • 37. Ideales Lehrwerkzeug - II ● Nahe an echtem Server ● Software lässt sich weiterverwenden – Linux ist – meist - Linux ● Reale Server leicht einpflegbar – ServerServer anpassen
  • 38. „Bessere“ Konkurrenten ● BeagleBone Black – Schneller – Keine GPU ● Diverse Evaluationsboards – Wesentlich schneller – Wenig Community
  • 39. Es geht! Wirklich! ● Clusterbetrieb – Seit 6 Monaten – Kunden Happy – Kosten gering
  • 40.
  • 42. Hinweis, der Form halber ● Im Saal „Grün“ findet eine QA-Session statt ● Diese ist hochkarätig besetzt ● Öffentliche Diskussion ist dort möglich
  • 43. Native Nutzung ● Qt 4 lässt sich per apt-get installieren ● Qt Creator und Co rennen am Rpi ● Kompilation großer Programme: aua
  • 44. Bessere Idee ● RaspBerry Pi per Cross-Compiler ansprechen ● Erstellung von Qt 5 erfolgt am Desktop ● Wird danach in SD-Kartenimage geschrieben
  • 45. 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
  • 46. 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.
  • 47. Achtung, Ubuntu! ● Wird mit veraltetem Qt Creator ausgeliefert ● Installation neuer Version ersetzt diese nicht ● qtcreator startet alte Version – Erkennt Cross-Compiler nicht!
  • 48. 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/
  • 50.