October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 1
Astrolabe:
A Robust and Scalable Technology for Distributed System
- R. van Renesse, K.P. Birman, W. Vogels (Cornell University)
Astrolabe: A Robust and Scalable Technology for Distributed System - - PowerPoint PPT Presentation
Astrolabe: A Robust and Scalable Technology for Distributed System R. van Renesse, K.P. Birman, W. Vogels (Cornell University) Presentation by Konrad Iwanicki October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 1
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 1
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 2
collections of distributed resources, such as:
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 3
Name pc372 Browser IE Printer OKI 783 Disk_total 20GB Disk_used 5GB pc372.mimuw.edu.pl Name laptop065 Browser Firefox Printer
500GB Disk_used 413GB laptop065.mimuw.edu.pl
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 4
Name pc372 duch laptop065 Browser IE
Printer OKI 783 HP 3971
20GB 2000GB 500GB Disk_used 5GB 587GB 413GB laptop065.mimuw.edu.pl
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 5
desired level of service.
resources?
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 6
SELECT
COUNT(user_name) AS firefox_user_count
FROM processes WHERE
name = 'firefox.exe'
GROUP BY
name
SELECT
FIRST(3, host_name) AS host
WHERE
Disk_used/Disk_total > 80%
ORDER BY
Disk_used/Disk_total DESC
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 7
resources in the system.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 8
company, RNS.
(http://www.allthingsdistributed.com/)
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 9
pc372 duch laptop065
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 10
pc372 duch laptop065 mim wz geol
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 11
pc372 duch laptop065 mim wz geol uw
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 12
pc372 duch laptop065 mim wz geol uw
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 13
pc372 duch laptop065 mim wz geol uw
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 14
pc372 duch laptop065 mim wz geol uw
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 15
pc372 duch laptop065 mim wz geol uw
What are these attributes?
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 16
pc372 duch laptop065 mim wz geol uw
Aggregated attributes. Exported attributes.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 17
Function Description MIN(attribute) Find the minimum attribute. MIN(attribute) Find the maximum attribute. SUM(attribute) Sum the attributes. COUNT(attribute) Compute the attributes. AVG(attribute [, weight]) Calculate a weighted average. OR(attribute) Bit-wise OR of a bitmap. AND(attribute) Bit-wise AND of a bitmap. FIRST(n, attribute) Return a set with the first n attributes. RANDOM(n, attribute [, weight]) Return a set with n randomly selected attributes. In general, aggregation functions should compact N values into a small output value. The size of the output value should be a small function of N:
Aggregated attributes a continuously recomputed.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 18
pc372 duch laptop065 mim wz geol uw
Who maintains attributes for a zone?
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 19
pc372 duch laptop065
The members
The members
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 20
pc372 duch laptop065 mim wz geol
The members
The members
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 21
pc372 duch laptop065 mim wz geol uw
My zones; I compute the attributes for these zones myself. Sibling zones; I get the attributes for these zones from
me
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 22
pc372 duch laptop065 mim wz geol uw pw pjwstk waw kra lub
me me me me /pl/waw/uw/mim/laptop065 /pl/waw/uw/mim /pl/waw/uw /pl/waw /pl All locally maintained attributes for zones: /pl/waw, /pl/kra, /pl/lub
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 23
pc372 duch laptop065 mim wz geol uw pw pjwstk waw kra lub
me me me me
How do I get the attributes
/pl/waw/uw/mim/laptop065 /pl/waw/uw/mim /pl/waw/uw /pl/waw /pl All locally maintained attributes for zones: /pl/waw, /pl/kra, /pl/lub
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 24
/pl/waw/uw/mim/laptop065
pc372 193.0.96.127 duch 193.0.96.2 laptop065 193.0.96.415 mim null wz 211.123.1.15, ... geol 193.14.16.29, ... uw null pw 195.28.56.201, ... pjwstk 162.32.90.45, ... waw null kra 147.13.132.137, ... lub 182..132.137, ...
A list of contacts for zone /pl/kra A list of contacts for zone /pl/waw/uw/geol One of the attributes maintained Locally for a zone is a list of contacts for the zone.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 25
locally, based on the child zone attributes.
– The attributes of all child zones of the parent zone, */Z. – The attributes of all common higher level zones.
while Aremote is the remote (the contact's) value of A, as obtained in the exchange. The computer chooses the fresher attribute:
– If TimeComputed(Alocal) < TimeComputed(Aremote): Alocal := Aremote
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 26
/pl/waw/uw/mim/laptop065
pc372 193.0.96.127 duch 193.0.96.2 laptop065 193.0.96.415 mim null wz 211.123.1.15, ... geol 193.14.16.29, ... uw null pw 195.28.56.201, ... pjwstk 162.32.90.45, ... waw null kra 147.13.132.137, ... lub 182..132.137, ...
/pl/waw/uw/wz
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 27
/pl/waw/uw/mim/laptop065
pc372 193.0.96.127 duch 193.0.96.2 laptop065 193.0.96.415 mim null wz 211.123.1.15, ... geol 193.14.16.29, ... uw null pw 195.28.56.201, ... pjwstk 162.32.90.45, ... waw null kra 147.13.132.137, ... lub 182..132.137, ...
contact IP.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 28
/pl/waw/uw/mim/laptop065
pc372 193.0.96.127 duch 193.0.96.2 laptop065 193.0.96.415 mim null wz 211.123.1.15, ... geol 193.14.16.29, ... uw null pw 195.28.56.201, ... pjwstk 162.32.90.45, ... waw null kra 147.13.132.137, ... lub 182..132.137, ...
contact IP.
attributes.
Exchange the common attributes with 211.123.1.15
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 29
/pl/waw/uw/mim/laptop065
pc372 193.0.96.127 duch 193.0.96.2 laptop065 193.0.96.415 mim null wz 211.123.1.15, ... geol 193.14.16.29, ... uw null pw 195.28.56.201, ... pjwstk 162.32.90.45, ... waw null kra 147.13.132.137, ... lub 182..132.137, ...
contact IP.
attributes.
attributes.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 30
/pl/waw/uw/mim/laptop065
pc372 193.0.96.127 duch 193.0.96.2 laptop065 193.0.96.415 mim null wz 211.123.1.15, ... geol 193.14.16.29, ... uw null pw 195.28.56.201, ... pjwstk 162.32.90.45, ... waw null kra 147.13.132.137, ... lub 182..132.137, ...
contact IP.
attributes.
attributes.
exchanged attributes are now the same.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 31
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 32
would all reach a consistent view:
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 33
would all reach a consistent view:
changes in connectivity:
can be chosen at random.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 34
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 35
in the paper).
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 36
static.
are interested in some attribute values.
zones (via gossiping).
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 37
static.
are interested in some attribute values.
zones (via gossiping).
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 38
static.
are interested in some attribute values.
zones (via gossiping).
information about resources, but we can also locate particular resources...
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 39
we have to ensure some security.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 40
we have to ensure some security.
by a trusted certification authority.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 41
we have to ensure some security.
by a trusted certification authority.
in a zone only if it is accompanied by a certificate for that zone.
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 42
we have to ensure some security.
by a trusted certification authority.
in a zone only if it is accompanied by a certificate for that zone.
integrity (details in the paper).
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 43
The average number of rounds to propagate an update depending on the number
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 44
The average number of rounds to propagate an update depending on the probability of a message being lost (bf = 25).
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 45
The average number of rounds to propagate an update depending on the probability of a node being down (bf = 25).
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 46
– Zone hierarchy, hierarchical attribute aggregation
– Dynamically installed aggregation functions
– Self-management and recovery
– Integrity and write access control
October 3rd and 8th, 2012 Distributed Systems Course, University of Warsaw 47