Post on 13-Jan-2016
description
Scalable Resource Information Servicefor Computational Grids
Nian-Feng TzengCenter for Advanced Computer Studies
University of Louisiana at Lafayette
December 7, 2007
Computational Grids
Com
p.
Grid
Grid Resource Information Service
Computational Grid
Core GIIS
Core Grid
Grid Resource Information Service
Under GRAM reporter of GT: – at least, one system-wide GIIS – each resource provider (e.g., cluster header) runs GRIS
to provide queuing information and others
Grid Resource Information Service
Typical MDS-4 deployment
What is P2P?
• A distributed system architecture:• No centralized control• Nodes are symmetric in function
• Typically many nodes, but unreliable and heterogeneous
Client
Client
Client Client
Client
Internet
Example P2P problem: lookup
Internet
N1
N2 N3
N6N5
N4
Publisher
Key=“title”Value=file data… Client
Lookup(“title”)
?
• publish/lookup at the heart of all P2P systems
Another approach: distributed hash tables
(DHTs)
• Nodes are the hash buckets• Key identifies data uniquely• DHT balances keys and data across nodes• DHT replicates, caches, routes lookups, etc.
Distributed hash tables
Distributed applications
Lookup (key) data
node node node….
Insert(key, data)
Chord lookups
• Map keys to nodes in a load-balanced way• Hash a node IP addr. into a long string of digit
(node ID)• Hash a key to the same string length (key ID)• Assign hashed key to “closest” node (i.e., its
successor)• Refer hashed node ID & key ID, as ID & key,
respectively
K20K5
K80
CircularID space N32
N90
N105
N60
• Forward key lookup to a closer node• Insert: lookup + store
• Join: insert node in ring
Chord’s routing table: fingers
N80
½¼
1/8
1/161/321/641/128
Lookups take O(log(N)) hops
N32
N10
N5
N20
N110
N99
N80
N60
Lookup(K19)
K19
• Lookup: route to closest predecessor
Figure. Finger tables at existing nodes 0, 1, 3, to specifysubsequent intervals and their corresponding successors.
Steps for Node 3 to find successor of key = 1: a. key = 1 belongs to 3.finger[3].interval b. Node 3 checks its 3rd finger entry, succ. = 0 c. Node 0 checks its 1st finger entry, gets its succ. = 1 (key is within the smallest possible interval, 1st entry answer = succ.)
3 keys existing, 1, 2, 6,held in different nodes
held
held
held
Prefix Hash Trees (PHTs)
• Easy deployment using OpenDHT• 3 APIs – put, delete, get• Application – Place Lab
• Range queries• Multiple attributes – combined using
linearization• Hash on prefixes
• Beacon ID hashed to SHA-1
PHT search takes O(log(log(N))) hops
Fast and Scalable Resource Discovery
Our Work by Denvil Smith
well IDnamebore
pressuretemp
user
attribute/querytranslation
DHT(Chord)
user notification
Well data
querywell ID = 2701
get hash
searchPHT until
findingleaf node
checknode
capacity
createleaf nodes
updatePHT
updateDHT
get hash
searchPHTover DHT
validateselection
internalnodes
findsuccessorsuntil getting
leaf nodeWell ID = 2701Name = geiserBore = 89.99
Pressure = 28.8Temp = 512
query lookupsresource publishing
Our Work by Denvil Smith
Our Work by Denvil Smith
Questions?
Please Ask!