• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Praesi C-Mesh
 

Praesi C-Mesh

on

  • 145 views

German presentation on a school project on parallel C programs. For details see https://github.com/elHornair/mesh

German presentation on a school project on parallel C programs. For details see https://github.com/elHornair/mesh

Statistics

Views

Total Views
145
Views on SlideShare
145
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

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

    Praesi C-Mesh Praesi C-Mesh Presentation Transcript

    • C-Mesh Routing-Simulation in C ( ), 01. Juli 2013Alain Horner @elHornair
    • Intro
    • Aufgabenstellung Offizielle Kennen wir alle Aufgabenstellung
    • Lösungskonzept
    • Funktionsweise der Knoten Boss-Worker Modell Boss: Auf Paket warten Boss: Paket an Worker weitergeben Worker: Paket verarbeiten
    • Funktionsweise der Knoten Verteilung der Pakete
    • Funktionsweise der Knoten Boss-Worker: Implementierung mit Pthreads while (1) { // wait for next package newsockfd = wait_for_connection(sockfd); // let worker handle package pthread_create(&workers[thread_counter], NULL, worker_init, (void *)newsockfd); // alternate workers thread_counter += 1; if (thread_counter >= NUM_WORKERS) { thread_counter = 0; } } Details: Siehe Github
    • Verbindungen zu Nachbaren Nachbar: Knoten, dessen IP-Adresse und Port bekannt ist Nachbaren-Liste Bidirektionale Verbindungen -> Handshake
    • Verbindungen zu Nachbaren Handshake
    • Routing Z.B. “In welcher Richtung liegt das Ziel?” Tabelle mit zwei Einträgen Pro Eintrag: Nachbar (IP-Adresse und Port)
    • Routing Eigenheit von Aufgabenstellung ausgenutzt: Routingtabelle möglichst früh anpassen Einträge werden nie überschrieben “Pakete werden immer von der Quelle zum Ziel oder vom Ziel zur Quelle gesendet”
    • Paket-Forwarding Knoten: Paket weiterleiten, falls nicht für mich Routingtabelle verwenden Fallback: Flooding
    • Paket-Forwarding Flooding
    • Paket-Forwarding Problem mit ringförmig verbundenen Knoten
    • Erreichen des Ziels Nur bei Quell- und Zielknoten möglich Ausgabe der Nachricht Umwandlung des Nachrichtenpakets in OK-Paket Routing sehr einfach Schwarze Liste wird ignoriert OK-Paket: Zurück bis zu ursprünglichem Sender
    • Demo
    • Demo Python-Testprogramm 1 Startknoten 1 Zielknoten 10 Verbindungsknoten 3 Pakete
    • Outro
    • Lessons learned Geteilte Ressourcen immer locken Debugging: Gnu Debugger (GDB)
    • Weiterführende Links Sourcecode Dokumentation Pthreads
    • Fragen?
    • Danke!