an overview of ocean
DESCRIPTION
An Overview of OCEAN. A Small Introduction by Cyrus & Erwin. Constructed in Layers. Mobility moves stuff Negotiation makes contracts Searching finds things on network. Matching/Searching. Negotiation. Mobility. Mobility. - PowerPoint PPT PresentationTRANSCRIPT
An Overview of OCEANAn Overview of OCEAN
A Small Introduction by A Small Introduction by
Cyrus & ErwinCyrus & Erwin
Constructed in LayersConstructed in Layers
Mobility moves Mobility moves stuff stuff
Negotiation Negotiation makes makes contractscontracts
Searching finds Searching finds things on things on networknetwork Mobility
Matching/Searching
Negotiation
MobilityMobility
Provides ability to checkpoint code & state. Provides ability to checkpoint code & state. Transfer both to different location. Resume Transfer both to different location. Resume executionexecution
Problem has been solved (or there are Problem has been solved (or there are provisions) by several third party vendors. provisions) by several third party vendors. (Globus/ADK/.NET)(Globus/ADK/.NET)
Sama is working on (Java based) OCEAN Sama is working on (Java based) OCEAN specific implementation.specific implementation.
SearchingSearching
Problem, locating specific resource in Problem, locating specific resource in network.network.
Solutions:Solutions:– Central serverCentral server– Distributed serverDistributed server– Peer 2 PeerPeer 2 Peer
Search languageSearch language
Extremely simple yet flexible.Extremely simple yet flexible. A resource has a name with a couple of A resource has a name with a couple of
features and typed values. These can be features and typed values. These can be used for matching.used for matching.
<resource name="CPUID"><resource name="CPUID">
<feature name="Vendor“ value="AuthenticAMD"/> <feature name="Vendor“ value="AuthenticAMD"/> <feature name="Stepping" value="2" <feature name="Stepping" value="2" type="numeric" match=">"/> type="numeric" match=">"/> </resource>"</resource>"
Network engineNetwork engine
OCEAN allows searching using various OCEAN allows searching using various protocols:protocols:– Simple Connectionless Simple Connectionless
» Plum - Currently just minimal functionality to Plum - Currently just minimal functionality to implement Dr Franks Evolution Scheme implement Dr Franks Evolution Scheme
(current focus)(current focus)
– ConnectedConnected» Marco Polo - Cyrus p2p protocol Marco Polo - Cyrus p2p protocol
– Hybrid protocol between Hybrid protocol between connectionless/connected protocol.connectionless/connected protocol.
Network EngineNetwork Engine
Peer Manager Peer Manager – Contains a List of all PeersContains a List of all Peers– Provides Provides
» Ability to Send a Messages to Active PeersAbility to Send a Messages to Active Peers
» Propagate a Received MessagePropagate a Received Message
» Notify a protocol when incoming socket Notify a protocol when incoming socket connections are madeconnections are made
» Notify a protocol when a message is receivedNotify a protocol when a message is received
Network EngineNetwork Engine
Abstract Peer InterfaceAbstract Peer Interface– Protocols Extend Peer concept as neededProtocols Extend Peer concept as needed
» Example: MPF Peers Must track certain stats (later) Example: MPF Peers Must track certain stats (later)
» Protocols make the selection of the “Active” Peers Protocols make the selection of the “Active” Peers and make choices to add and remove peers.and make choices to add and remove peers.
Protocols interact with Matchers through a Protocols interact with Matchers through a generic interfacegeneric interface
Network EngineNetwork Engine
Matcher / Network InterfaceMatcher / Network Interface– Matcher Asking Network to look for matches Matcher Asking Network to look for matches
(Searcher Interface)(Searcher Interface)– Network telling Matcher when a match has Network telling Matcher when a match has
occurred (MatchListener Interface)occurred (MatchListener Interface)– For a seller, the protocol must be able to know For a seller, the protocol must be able to know
if the seller is a match to “search” type of if the seller is a match to “search” type of messages (SellerMatcher Interface)messages (SellerMatcher Interface)
MPF Evolution Protocol MPF Evolution Protocol OverviewOverview
Track success of peers over time based on successful Track success of peers over time based on successful matches.matches.– For each peer track these vars:For each peer track these vars:
» nTrialsnTrials
» nSucessesnSucesses
– Rating = (nSucesses + success Bias) / (nTrials + trialBias)Rating = (nSucesses + success Bias) / (nTrials + trialBias)
– Decay nTrials and nSucesses over time to ensure new data Decay nTrials and nSucesses over time to ensure new data is weighted more heavilyis weighted more heavily
– Using rating to select which are the best peers, Using rating to select which are the best peers, communicate with top peerscommunicate with top peers