Skip to content

This is a school project where i implement the causally ordered multicasting method using Python.

Notifications You must be signed in to change notification settings

gmitaros/causally-ordered-multicasting

Repository files navigation

Τotally Οrdered Μulticasting

Σε αυτο το project υλοποιουμε την μέθοδο αιτιακά διατεταγμένης πολυεκπομπής (causally ordered multicasting).

Το project αυτο περιεχει:

  1. Κώδικας που υλοποιεί την μέθοδο αιτιακά διατεταγμένης πολυεκπομπής, με σχόλια για την λειτουργία του. Ο κώδικας δεν περιέχει περιττό (χωρίς εμφανή χρήση) περιεχόμενο. Οι command-line παράμετροι είναι το μηχάνημα, ο αύξοντας αριθμός της διεργασίας (0, 1, 2) και οι πόρτες που χρησιμοποιεί. H eκτέλεση ειναι σε localhost (127.0.0.1).
  2. Ένα demo της λειτουργίας του κώδικά σας (με print statements που να αναδεικνύουν την λειτουργία του) το οποίο λειτουργεί ως εξής:
    1. Δημιουργείτε τρείς διεργασίες: 0, 1, 2
    2. Ξεκινάτε πρώτα την διεργασία 0, μετά την διεργασία 1 που συνδέεται με την 0, και τέλος την 2 που συνδέεται με τις 0 και 1. Οι πόρτες που χρησιμοποιείτε πρέπει να είναι είναι κάποια συνάρτηση του ΑΜ (αριθμού μητρώου σας) σας, π.χ., ΑΜ + i
    3. Μετά το πέρας των συνδέσεων, η διεργασία 0 πολυεκπέμπει (multicasts) 20 «ερωτήσεις» με μικρή χρονική καθυστέρηση (2-3’’) μεταξύ τους
    4. Για κάθε λήψη «ερώτησης», μια απο τις άλλες δύο διεργασίες (εναλλάξ) πολυεκπέμπει μια «απάντηση»
    5. Η κάθε διεργασία (0, 1, 2) τυπώνει τα μηνύματα που της παραδίδονται από το λογισμικό αιτιακά διατεταγμένης εκπομπής και τα αποθηκεύει σε αρχείο που ονομάζεται ‘delivered-messages-p’ όπου p ο αύξων αριθμός της διεργασίας.
  3. Μια σύντομη αναφορά (PDF) που να περιγράφει την λογική της υλοποίησής σας και την ορθότητα των αποτελεσμάτων σας. Η αναφορά ειναι εδώ.

Τρόπος Εκτέλεσης

Ανοίγουμε σε linux στο ίδιο pc 3 terminal και τρεχουμε με τη σειρά:

1. $python casormu.py 127.0.0.1 0 2312
2. $python casormu.py 127.0.0.1 1 2313
3. $python casormu.py 127.0.0.1 2 2314

About

This is a school project where i implement the causally ordered multicasting method using Python.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages