Hi,
ich verstehe die Lösung der Aufgabe 4.1 nicht ganz... FIFO ist klar, aber warum ist hier auch eine Kausalordnung gegeben? Oder sollen die Indizes an den m's die Happened-Before Relation ausdrücken?
Grüße,
Stephan
Aufgabe 4.1
Naja, die Causal-Order besagt ja, dass, wenn du eine Happened-Before Relation zwischen zwei Sende-Ereignissen hast, die Lieferungen in dieser Reihenfolge ankommen müssen.
Da du hier aber keine HB Relation zwischen den Sendeereignissen von P1 und P3 hat können die durchaus in unterschiedlicher Reihenfolge ankommen.
Ein Gegenbeispiel gäbe es nur, wenn du eine HB Relation hast und der Empfang in der falschen Reihenfolge passieren würde.
Da du hier aber keine HB Relation zwischen den Sendeereignissen von P1 und P3 hat können die durchaus in unterschiedlicher Reihenfolge ankommen.
Ein Gegenbeispiel gäbe es nur, wenn du eine HB Relation hast und der Empfang in der falschen Reihenfolge passieren würde.
OK, aber warum gilt dann nicht total. Wie gesagt, es gibt keine HB-Relation zwischen P1 und P3. Deliver(m8) und Deliver(m9) kommen auf allen Prozessen in der gleichen Reihenfolge an. Auf Prozess 3 finder vorher allerdings noch Deliver(m4) statt.
Allerdings dachte ich da keine HB zwischen P1 und P3 existiert, das die total Eigenschaft dadurch nicht verletzt wird.
Allerdings dachte ich da keine HB zwischen P1 und P3 existiert, das die total Eigenschaft dadurch nicht verletzt wird.
so wie ich das verstehe, ist total nur dann gegeben, wenn gilt: wenn m irgendwo vor m' ausgeliefert wird, wird es auf ALLEN vor m' ausgeliefert.
m8 wird auf P1 vor m4 ausgeliefert, also muss es auch auf P2 und P3 vor m4 geliefert werden -> dass ist bei P3 nicht der Fall --> NICHT total.
es geht hier im if-teil um die empfangs- und nicht um die sendeereignisse.
m8 wird auf P1 vor m4 ausgeliefert, also muss es auch auf P2 und P3 vor m4 geliefert werden -> dass ist bei P3 nicht der Fall --> NICHT total.
es geht hier im if-teil um die empfangs- und nicht um die sendeereignisse.