SlideShare a Scribd company logo
Chubby Lock Service
Amir H. Payberah
amir@sics.se
Amirkabir University of Technology
(Tehran Polytechnic)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 1 / 38
What is the Problem?
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 2 / 38
What is the Problem?
Large distributed system
How to ensure that only one process across a fleet of processes acts
on a resource?
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 3 / 38
What is the Problem?
Large distributed system
How to ensure that only one process across a fleet of processes acts
on a resource?
• Ensure only one server can write to a database.
• Ensure that only one server can perform a particular action.
• Ensure that there is a single master that processes all writes.
• ...
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 3 / 38
What is the Problem?
All these scenarios need a simple way to coordinate execution of
process to ensure that only one entity is performing an action.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 4 / 38
What is the Problem?
All these scenarios need a simple way to coordinate execution of
process to ensure that only one entity is performing an action.
We need agreement (consensus)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 4 / 38
What is the Problem?
All these scenarios need a simple way to coordinate execution of
process to ensure that only one entity is performing an action.
We need agreement (consensus)
Paxos ...
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 4 / 38
How Can We Use Paxos
to Solve the Problem
of Coordination?
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 5 / 38
Possible Solutions
Building a consensus library
Building a centralized lock service
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 6 / 38
Consensus Library vs. Centralized Service
Consensus library
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Consensus Library vs. Centralized Service
Consensus library
• Library code has to be included in every program.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Consensus Library vs. Centralized Service
Consensus library
• Library code has to be included in every program.
• Application developers to be experts in distributed system.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Consensus Library vs. Centralized Service
Consensus library
• Library code has to be included in every program.
• Application developers to be experts in distributed system.
• Need to wait on majority (quorums).
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Consensus Library vs. Centralized Service
Consensus library
• Library code has to be included in every program.
• Application developers to be experts in distributed system.
• Need to wait on majority (quorums).
Centralized lock service
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Consensus Library vs. Centralized Service
Consensus library
• Library code has to be included in every program.
• Application developers to be experts in distributed system.
• Need to wait on majority (quorums).
Centralized lock service
• Clean interface.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Consensus Library vs. Centralized Service
Consensus library
• Library code has to be included in every program.
• Application developers to be experts in distributed system.
• Need to wait on majority (quorums).
Centralized lock service
• Clean interface.
• Service can be modified independently.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Consensus Library vs. Centralized Service
Consensus library
• Library code has to be included in every program.
• Application developers to be experts in distributed system.
• Need to wait on majority (quorums).
Centralized lock service
• Clean interface.
• Service can be modified independently.
• A single client can obtain a lock and make progress (non-quorum
based decisions, the lock service takes care of it)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Consensus Library vs. Centralized Service
Consensus library
• Library code has to be included in every program.
• Application developers to be experts in distributed system.
• Need to wait on majority (quorums).
Centralized lock service
• Clean interface.
• Service can be modified independently.
• A single client can obtain a lock and make progress (non-quorum
based decisions, the lock service takes care of it)
• Application developers do not have to worry about dealing with
operations, various failure modes debugging etc.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
Centralized Lock Service
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 8 / 38
Chubby is a Lock Service
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 9 / 38
Chubby
Primary goals: reliability and availability (not high performance)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 10 / 38
Chubby
Primary goals: reliability and availability (not high performance)
Used in Google: GFS, Bigtable, etc.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 10 / 38
Chubby Structure
Two main components:
• Server (chubby cell)
• Client library
Communicate via RPC
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 11 / 38
Chubby Cell
A small set of servers (replicas)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 12 / 38
Chubby Cell
A small set of servers (replicas)
One is the master (elected from the replicas via Paxos)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 12 / 38
Chubby Cell
A small set of servers (replicas)
One is the master (elected from the replicas via Paxos)
Maintain copies of simple database (replicated state machines)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 12 / 38
Chubby Cell
A small set of servers (replicas)
One is the master (elected from the replicas via Paxos)
Maintain copies of simple database (replicated state machines)
• Only the master initiates reads and writes of this database.
• All other replicas simply copy updates from the master (using the
Paxos protocol).
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 12 / 38
Chubby Client
Find the master: sending master location requests to replicas.
All requests are sent directly to the master.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 13 / 38
Chubby Operations
Write requests
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
Chubby Operations
Write requests
• The master receives the request.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
Chubby Operations
Write requests
• The master receives the request.
• Write requests are propagated via the consensus protocol to all
replicas.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
Chubby Operations
Write requests
• The master receives the request.
• Write requests are propagated via the consensus protocol to all
replicas.
• Acknowledges when write request reaches the majority of the
replicas
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
Chubby Operations
Write requests
• The master receives the request.
• Write requests are propagated via the consensus protocol to all
replicas.
• Acknowledges when write request reaches the majority of the
replicas
Read requests
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
Chubby Operations
Write requests
• The master receives the request.
• Write requests are propagated via the consensus protocol to all
replicas.
• Acknowledges when write request reaches the majority of the
replicas
Read requests
• Satisfied by the master alone.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
Let’s Go into More Details
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 15 / 38
Chubby Interface (1/2)
Chubby exports a unix-like filesystem interface.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
Chubby Interface (1/2)
Chubby exports a unix-like filesystem interface.
Tree of files with names separated by slashes (namesapace):
/ls/cell1/aut/cc14:
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
Chubby Interface (1/2)
Chubby exports a unix-like filesystem interface.
Tree of files with names separated by slashes (namesapace):
/ls/cell1/aut/cc14:
• 1st component (ls): lock service (common to all names)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
Chubby Interface (1/2)
Chubby exports a unix-like filesystem interface.
Tree of files with names separated by slashes (namesapace):
/ls/cell1/aut/cc14:
• 1st component (ls): lock service (common to all names)
• 2nd component (cell1): the chubby cell name
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
Chubby Interface (1/2)
Chubby exports a unix-like filesystem interface.
Tree of files with names separated by slashes (namesapace):
/ls/cell1/aut/cc14:
• 1st component (ls): lock service (common to all names)
• 2nd component (cell1): the chubby cell name
• The rest: the name of the directory and the file (name inside the
cell)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
Chubby Interface (2/2)
Chubby maintains a namespace that contains files and directories,
called nodes.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 17 / 38
Chubby Interface (2/2)
Chubby maintains a namespace that contains files and directories,
called nodes.
Clients can create nodes and add contents to nodes.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 17 / 38
Chubby Interface (2/2)
Chubby maintains a namespace that contains files and directories,
called nodes.
Clients can create nodes and add contents to nodes.
Support most normal operations:
• create, delete, open, write, ...
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 17 / 38
Chubby Interface (2/2)
Chubby maintains a namespace that contains files and directories,
called nodes.
Clients can create nodes and add contents to nodes.
Support most normal operations:
• create, delete, open, write, ...
Clients open nodes to obtain handles that are analogous to unix file
descriptors.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 17 / 38
Locks (1/2)
Each Chubby file and directory (node) can act as a reader/writer
lock.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 18 / 38
Locks (1/2)
Each Chubby file and directory (node) can act as a reader/writer
lock.
A client handle may hold the lock in two modes: writer (exclusive)
mode or reader (shared) mode.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 18 / 38
Locks (1/2)
Each Chubby file and directory (node) can act as a reader/writer
lock.
A client handle may hold the lock in two modes: writer (exclusive)
mode or reader (shared) mode.
• Only one client can hold lock in writer mode.
• Many clients can hold lock in reader mode.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 18 / 38
Locks (2/2)
Locks are advisory in Chubby.
• Holding a lock is not necessary to access file.
• Holding a lock does not prevent other clients accessing file.
• Conflicts only with other attempts to acquire the same lock.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 19 / 38
Chubby Example (1/2)
Electing a primary (leader) process.
Steps in primary election:
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
Chubby Example (1/2)
Electing a primary (leader) process.
Steps in primary election:
• Clients open a lock file and attempt to acquire the lock in write
mode.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
Chubby Example (1/2)
Electing a primary (leader) process.
Steps in primary election:
• Clients open a lock file and attempt to acquire the lock in write
mode.
• One client succeeds (becomes the primary) and writes its
name/identity into the file.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
Chubby Example (1/2)
Electing a primary (leader) process.
Steps in primary election:
• Clients open a lock file and attempt to acquire the lock in write
mode.
• One client succeeds (becomes the primary) and writes its
name/identity into the file.
• Other clients fail (become replicas) and discover the name of the
primary by reading the file.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
Chubby Example (1/2)
Electing a primary (leader) process.
Steps in primary election:
• Clients open a lock file and attempt to acquire the lock in write
mode.
• One client succeeds (becomes the primary) and writes its
name/identity into the file.
• Other clients fail (become replicas) and discover the name of the
primary by reading the file.
• Primary obtains sequencer and passes it to servers (servers can
insure that the elected primary is still valid).
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
Chubby Example (2/2)
Leader election
Open("/ls/foo/OurServicePrimary", "write mode")
if (successful) { // primary
SetContents(primary_identity)
} else { // replica
Open("/ls/foo/OurServicePrimary", "read mode",
"file-modification event")
when notified of file modification:
primary = GetContentsAndStat()
}
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 21 / 38
APIs
Open(), Close(), Delete()
GetContentsAndStat(), GetStat(), ReadDir()
SetContents()
SetACL()
Locks: Acquire(), TryAcquire(), Release()
Sequencers: GetSequencer(), SetSequencer(),
CheckSequencer()
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 22 / 38
Events
Chubby clients may subscribe to many events when they create a
handle.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 23 / 38
Events
Chubby clients may subscribe to many events when they create a
handle.
Events include:
• File contents modified
• Child node added, removed, or modified
• Chubby master failed over
• Handle has become invalid
• Lock acquired
• Conflicting lock requested from another client
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 23 / 38
Locking - Problem
After acquiring a lock and issuing a request (R1) a client may fail.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 24 / 38
Locking - Problem
After acquiring a lock and issuing a request (R1) a client may fail.
Another client may acquire the lock and issue its own request (R2).
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 24 / 38
Locking - Problem
After acquiring a lock and issuing a request (R1) a client may fail.
Another client may acquire the lock and issue its own request (R2).
R1 arrive later at the server and be acted upon (possible inconsis-
tency).
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 24 / 38
Locking - Solutions (1/3)
Solution 1: virtual time
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 25 / 38
Locking - Solutions (1/3)
Solution 1: virtual time
• But, it is costly to introduce sequence numbers into all the
interactions.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 25 / 38
Locking - Solutions (2/3)
Solution 2: sequencers
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
Locking - Solutions (2/3)
Solution 2: sequencers
• Sequence numbers are introduced into only those interactions that
make use of locks.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
Locking - Solutions (2/3)
Solution 2: sequencers
• Sequence numbers are introduced into only those interactions that
make use of locks.
• A lock holder can obtain a sequencer from Chubby.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
Locking - Solutions (2/3)
Solution 2: sequencers
• Sequence numbers are introduced into only those interactions that
make use of locks.
• A lock holder can obtain a sequencer from Chubby.
• It attaches the sequencer to any requests that it sends to other
servers (e.g., Bigtable)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
Locking - Solutions (2/3)
Solution 2: sequencers
• Sequence numbers are introduced into only those interactions that
make use of locks.
• A lock holder can obtain a sequencer from Chubby.
• It attaches the sequencer to any requests that it sends to other
servers (e.g., Bigtable)
• The other servers can verify the sequencer information
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
Locking - Solutions (3/3)
Solution 3: lock-delay
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 27 / 38
Locking - Solutions (3/3)
Solution 3: lock-delay
• Correctly released locks are immediately available.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 27 / 38
Locking - Solutions (3/3)
Solution 3: lock-delay
• Correctly released locks are immediately available.
• If a lock becomes free because holder failed or becomes inaccessible,
lock cannot be claimed by another client until lock-delay expires.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 27 / 38
Caching
To reduce read traffic, Chubby clients cache file data and node
meta-data.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 28 / 38
Caching
To reduce read traffic, Chubby clients cache file data and node
meta-data.
Write-through: write is done synchronously both to the cache and
to the primary copy.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 28 / 38
Caching
To reduce read traffic, Chubby clients cache file data and node
meta-data.
Write-through: write is done synchronously both to the cache and
to the primary copy.
Master will invalidate cached copies upon a write request.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 28 / 38
Caching
To reduce read traffic, Chubby clients cache file data and node
meta-data.
Write-through: write is done synchronously both to the cache and
to the primary copy.
Master will invalidate cached copies upon a write request.
The client also can allow its cache lease to expire.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 28 / 38
Session Lease (1/3)
Lease: a promise by one party to abide by an agreement for a given
interval of time unless the promise is explicitly revoked.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 29 / 38
Session Lease (1/3)
Lease: a promise by one party to abide by an agreement for a given
interval of time unless the promise is explicitly revoked.
Session: a relationship between a Chubby cell and a Chubby client.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 29 / 38
Session Lease (1/3)
Lease: a promise by one party to abide by an agreement for a given
interval of time unless the promise is explicitly revoked.
Session: a relationship between a Chubby cell and a Chubby client.
Session lease: interval during which client’s cached items (handles,
locks, files) are valid.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 29 / 38
Session Lease (1/3)
Lease: a promise by one party to abide by an agreement for a given
interval of time unless the promise is explicitly revoked.
Session: a relationship between a Chubby cell and a Chubby client.
Session lease: interval during which client’s cached items (handles,
locks, files) are valid.
Session maintained through KeepAlives messages.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 29 / 38
Session Lease (2/3)
If client’s local lease expires (happens when a master fails over)
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
Session Lease (2/3)
If client’s local lease expires (happens when a master fails over)
• Client disables cache.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
Session Lease (2/3)
If client’s local lease expires (happens when a master fails over)
• Client disables cache.
• Session in jeopardy, client waits in grace period (45s).
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
Session Lease (2/3)
If client’s local lease expires (happens when a master fails over)
• Client disables cache.
• Session in jeopardy, client waits in grace period (45s).
• Sends jeopardy event to application.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
Session Lease (2/3)
If client’s local lease expires (happens when a master fails over)
• Client disables cache.
• Session in jeopardy, client waits in grace period (45s).
• Sends jeopardy event to application.
• Application can suspend activity.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
Session Lease (3/3)
Client attempts to exchange KeepAlive messages with master during
grace period.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 31 / 38
Session Lease (3/3)
Client attempts to exchange KeepAlive messages with master during
grace period.
• Succeed: re-enables cache; send safe event to application
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 31 / 38
Session Lease (3/3)
Client attempts to exchange KeepAlive messages with master during
grace period.
• Succeed: re-enables cache; send safe event to application
• Failed: discards cache; sends expired event to application
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 31 / 38
Scaling
Reducing communication with the master.
Two techniques:
• Proxies
• Partitioning
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 32 / 38
Scaling - Proxies
Proxy is a trusted process that pass requests from other clients to
a Chubby cell.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 33 / 38
Scaling - Proxies
Proxy is a trusted process that pass requests from other clients to
a Chubby cell.
Can handle KeepAlives and reads → reduce the master load.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 33 / 38
Scaling - Proxies
Proxy is a trusted process that pass requests from other clients to
a Chubby cell.
Can handle KeepAlives and reads → reduce the master load.
Cannot reduce write loads, but they are << 1% of workload.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 33 / 38
Scaling - Proxies
Proxy is a trusted process that pass requests from other clients to
a Chubby cell.
Can handle KeepAlives and reads → reduce the master load.
Cannot reduce write loads, but they are << 1% of workload.
Introduces another point of failure.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 33 / 38
Scaling - Partitioning
Namespace partitioned between servers.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 34 / 38
Scaling - Partitioning
Namespace partitioned between servers.
N partitions, each with master and replicas
Node D/C stored on P(D/C) = hash(D) mod N
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 34 / 38
Summary
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 35 / 38
Summary
Library vs. Service
Chubby: coarse-grained lock service
Chubby cell and clients
Unix-like interface
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 36 / 38
References:
M. Burrows, The Chubby lock service for loosely-coupled distributed
systems, OSDI, 2006.
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 37 / 38
Questions?
Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 38 / 38

More Related Content

What's hot

Cloud adoption and rudiments
Cloud  adoption and rudimentsCloud  adoption and rudiments
Cloud adoption and rudiments
gaurav jain
 
Consistency protocols
Consistency protocolsConsistency protocols
Consistency protocols
ZongYing Lyu
 
Cloud Infrastructure Mechanisms
Cloud Infrastructure MechanismsCloud Infrastructure Mechanisms
Cloud Infrastructure Mechanisms
Mohammed Sajjad Ali
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
SHATHAN
 
Cloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling TechnologiesCloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling Technologies
Abdelkhalik Mosa
 
Storage Area Networks Unit 1 Notes
Storage Area Networks Unit 1 NotesStorage Area Networks Unit 1 Notes
Storage Area Networks Unit 1 Notes
Sudarshan Dhondaley
 
Hashing
HashingHashing
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
Alagappa Govt Arts College, Karaikudi
 
Third party cloud services cloud computing
Third party cloud services cloud computingThird party cloud services cloud computing
Third party cloud services cloud computing
SohailAliMalik
 
8 memory management strategies
8 memory management strategies8 memory management strategies
8 memory management strategies
Dr. Loganathan R
 
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsDistributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Sachin Chauhan
 
Distributed file systems dfs
Distributed file systems   dfsDistributed file systems   dfs
Distributed file systems dfs
Pragati Startup Presentation Designer firm
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
Jonas Bonér
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docx
kumari36
 
Distributed Deadlock Detection.ppt
Distributed Deadlock Detection.pptDistributed Deadlock Detection.ppt
Distributed Deadlock Detection.ppt
Babar Kamran Ahmed (LION)
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
SANG WON PARK
 
Cloud Encryption
Cloud EncryptionCloud Encryption
Cloud Encryption
RituparnaNag
 
Distributed Database
Distributed DatabaseDistributed Database
File replication
File replicationFile replication
File replication
Klawal13
 

What's hot (20)

Cloud adoption and rudiments
Cloud  adoption and rudimentsCloud  adoption and rudiments
Cloud adoption and rudiments
 
Consistency protocols
Consistency protocolsConsistency protocols
Consistency protocols
 
Cloud Infrastructure Mechanisms
Cloud Infrastructure MechanismsCloud Infrastructure Mechanisms
Cloud Infrastructure Mechanisms
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
 
Cloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling TechnologiesCloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling Technologies
 
Storage Area Networks Unit 1 Notes
Storage Area Networks Unit 1 NotesStorage Area Networks Unit 1 Notes
Storage Area Networks Unit 1 Notes
 
Hashing
HashingHashing
Hashing
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
Third party cloud services cloud computing
Third party cloud services cloud computingThird party cloud services cloud computing
Third party cloud services cloud computing
 
8 memory management strategies
8 memory management strategies8 memory management strategies
8 memory management strategies
 
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsDistributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit Protocols
 
Distributed file systems dfs
Distributed file systems   dfsDistributed file systems   dfs
Distributed file systems dfs
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docx
 
Chapter 13
Chapter 13Chapter 13
Chapter 13
 
Distributed Deadlock Detection.ppt
Distributed Deadlock Detection.pptDistributed Deadlock Detection.ppt
Distributed Deadlock Detection.ppt
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
Cloud Encryption
Cloud EncryptionCloud Encryption
Cloud Encryption
 
Distributed Database
Distributed DatabaseDistributed Database
Distributed Database
 
File replication
File replicationFile replication
File replication
 

Viewers also liked

AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.  AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
OW2
 
Ow2 Jonas Use Case Ministere Interieur Open World Forum
Ow2 Jonas Use Case Ministere Interieur Open World ForumOw2 Jonas Use Case Ministere Interieur Open World Forum
Ow2 Jonas Use Case Ministere Interieur Open World ForumOW2
 
Portland Views
Portland ViewsPortland Views
Portland Viewsgardenmam
 
Libby's Tips for Getting Unstuck
Libby's Tips for Getting UnstuckLibby's Tips for Getting Unstuck
Libby's Tips for Getting UnstuckLibby Gill
 
Chapter 2 power point
Chapter 2 power pointChapter 2 power point
Chapter 2 power pointdphil002
 
OW2con'14 - XLcloud, a demonstation of 3D remote rendering in the cloud
OW2con'14 - XLcloud, a demonstation of 3D remote rendering in the cloudOW2con'14 - XLcloud, a demonstation of 3D remote rendering in the cloud
OW2con'14 - XLcloud, a demonstation of 3D remote rendering in the cloud
OW2
 
Inquiry presentation
Inquiry presentationInquiry presentation
Inquiry presentationwall530
 
What Do You Feel 2008
What Do You Feel 2008What Do You Feel 2008
What Do You Feel 2008renee22220
 
Star Animation I
Star Animation IStar Animation I
Star Animation I
guestaa9bece
 
Why no one loves me? Using BI techniques to make my business more attractive,...
Why no one loves me? Using BI techniques to make my business more attractive,...Why no one loves me? Using BI techniques to make my business more attractive,...
Why no one loves me? Using BI techniques to make my business more attractive,...
OW2
 
Conpaas Elastic Cloud, OW2con 2011, Nov 24-25, Paris
Conpaas Elastic Cloud, OW2con 2011, Nov 24-25, ParisConpaas Elastic Cloud, OW2con 2011, Nov 24-25, Paris
Conpaas Elastic Cloud, OW2con 2011, Nov 24-25, ParisOW2
 
Ow2 X Wiki Use Case Open World Forum09
Ow2 X Wiki Use Case Open World Forum09Ow2 X Wiki Use Case Open World Forum09
Ow2 X Wiki Use Case Open World Forum09OW2
 
Life Beautiful Monday
Life Beautiful MondayLife Beautiful Monday
Life Beautiful MondayPentiux
 
Paisajes De Serge Motylev
Paisajes De Serge MotylevPaisajes De Serge Motylev
Paisajes De Serge Motylevalfcoltrane
 
UShareSoft Software onboarding to cloud, OW2con11, Nov 24-25, Paris
UShareSoft Software onboarding to cloud, OW2con11, Nov 24-25, ParisUShareSoft Software onboarding to cloud, OW2con11, Nov 24-25, Paris
UShareSoft Software onboarding to cloud, OW2con11, Nov 24-25, ParisOW2
 
Migration Novaforge OW2 Conference Nov10
Migration Novaforge OW2 Conference Nov10Migration Novaforge OW2 Conference Nov10
Migration Novaforge OW2 Conference Nov10OW2
 
CompatibleOne Project, OW2con 2011, Nov 24-25, Paris
CompatibleOne Project, OW2con 2011, Nov 24-25, ParisCompatibleOne Project, OW2con 2011, Nov 24-25, Paris
CompatibleOne Project, OW2con 2011, Nov 24-25, ParisOW2
 
XWiki OW2 Conference Nov10
XWiki OW2 Conference Nov10XWiki OW2 Conference Nov10
XWiki OW2 Conference Nov10OW2
 
La Casa Invisible
La Casa InvisibleLa Casa Invisible
La Casa InvisibleCrisis 999
 

Viewers also liked (20)

Resume Infographic
Resume InfographicResume Infographic
Resume Infographic
 
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.  AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
AcceDe Web, a Guide for Accessibility Web Projects, OW2con'16, Paris.
 
Ow2 Jonas Use Case Ministere Interieur Open World Forum
Ow2 Jonas Use Case Ministere Interieur Open World ForumOw2 Jonas Use Case Ministere Interieur Open World Forum
Ow2 Jonas Use Case Ministere Interieur Open World Forum
 
Portland Views
Portland ViewsPortland Views
Portland Views
 
Libby's Tips for Getting Unstuck
Libby's Tips for Getting UnstuckLibby's Tips for Getting Unstuck
Libby's Tips for Getting Unstuck
 
Chapter 2 power point
Chapter 2 power pointChapter 2 power point
Chapter 2 power point
 
OW2con'14 - XLcloud, a demonstation of 3D remote rendering in the cloud
OW2con'14 - XLcloud, a demonstation of 3D remote rendering in the cloudOW2con'14 - XLcloud, a demonstation of 3D remote rendering in the cloud
OW2con'14 - XLcloud, a demonstation of 3D remote rendering in the cloud
 
Inquiry presentation
Inquiry presentationInquiry presentation
Inquiry presentation
 
What Do You Feel 2008
What Do You Feel 2008What Do You Feel 2008
What Do You Feel 2008
 
Star Animation I
Star Animation IStar Animation I
Star Animation I
 
Why no one loves me? Using BI techniques to make my business more attractive,...
Why no one loves me? Using BI techniques to make my business more attractive,...Why no one loves me? Using BI techniques to make my business more attractive,...
Why no one loves me? Using BI techniques to make my business more attractive,...
 
Conpaas Elastic Cloud, OW2con 2011, Nov 24-25, Paris
Conpaas Elastic Cloud, OW2con 2011, Nov 24-25, ParisConpaas Elastic Cloud, OW2con 2011, Nov 24-25, Paris
Conpaas Elastic Cloud, OW2con 2011, Nov 24-25, Paris
 
Ow2 X Wiki Use Case Open World Forum09
Ow2 X Wiki Use Case Open World Forum09Ow2 X Wiki Use Case Open World Forum09
Ow2 X Wiki Use Case Open World Forum09
 
Life Beautiful Monday
Life Beautiful MondayLife Beautiful Monday
Life Beautiful Monday
 
Paisajes De Serge Motylev
Paisajes De Serge MotylevPaisajes De Serge Motylev
Paisajes De Serge Motylev
 
UShareSoft Software onboarding to cloud, OW2con11, Nov 24-25, Paris
UShareSoft Software onboarding to cloud, OW2con11, Nov 24-25, ParisUShareSoft Software onboarding to cloud, OW2con11, Nov 24-25, Paris
UShareSoft Software onboarding to cloud, OW2con11, Nov 24-25, Paris
 
Migration Novaforge OW2 Conference Nov10
Migration Novaforge OW2 Conference Nov10Migration Novaforge OW2 Conference Nov10
Migration Novaforge OW2 Conference Nov10
 
CompatibleOne Project, OW2con 2011, Nov 24-25, Paris
CompatibleOne Project, OW2con 2011, Nov 24-25, ParisCompatibleOne Project, OW2con 2011, Nov 24-25, Paris
CompatibleOne Project, OW2con 2011, Nov 24-25, Paris
 
XWiki OW2 Conference Nov10
XWiki OW2 Conference Nov10XWiki OW2 Conference Nov10
XWiki OW2 Conference Nov10
 
La Casa Invisible
La Casa InvisibleLa Casa Invisible
La Casa Invisible
 

Similar to Chubby

Introduction to Operating Systems - Part2
Introduction to Operating Systems - Part2Introduction to Operating Systems - Part2
Introduction to Operating Systems - Part2
Amir Payberah
 
Deadlocks
DeadlocksDeadlocks
Deadlocks
Amir Payberah
 
Bigtable
BigtableBigtable
Bigtable
Amir Payberah
 
Main Memory - Part1
Main Memory - Part1Main Memory - Part1
Main Memory - Part1
Amir Payberah
 
Process Management - Part2
Process Management - Part2Process Management - Part2
Process Management - Part2
Amir Payberah
 
Introduction to Operating Systems - Part1
Introduction to Operating Systems - Part1Introduction to Operating Systems - Part1
Introduction to Operating Systems - Part1
Amir Payberah
 
MegaStore and Spanner
MegaStore and SpannerMegaStore and Spanner
MegaStore and Spanner
Amir Payberah
 
Process Management - Part1
Process Management - Part1Process Management - Part1
Process Management - Part1
Amir Payberah
 
Introduction to stream processing
Introduction to stream processingIntroduction to stream processing
Introduction to stream processing
Amir Payberah
 
Threads
ThreadsThreads
Threads
Amir Payberah
 
Introduction to cloud computing and big data - part1
Introduction to cloud computing and big data - part1Introduction to cloud computing and big data - part1
Introduction to cloud computing and big data - part1
Amir Payberah
 
Introduction to Operating Systems - Part3
Introduction to Operating Systems - Part3Introduction to Operating Systems - Part3
Introduction to Operating Systems - Part3
Amir Payberah
 
Google File System
Google File SystemGoogle File System
Google File System
Amir Payberah
 
Process Synchronization - Part2
Process Synchronization -  Part2Process Synchronization -  Part2
Process Synchronization - Part2
Amir Payberah
 
Mesos and YARN
Mesos and YARNMesos and YARN
Mesos and YARN
Amir Payberah
 
Virtual Memory - Part1
Virtual Memory - Part1Virtual Memory - Part1
Virtual Memory - Part1
Amir Payberah
 
Virtual Memory - Part2
Virtual Memory - Part2Virtual Memory - Part2
Virtual Memory - Part2
Amir Payberah
 
Paxos
PaxosPaxos
Protection
ProtectionProtection
Protection
Amir Payberah
 
Process Synchronization - Part1
Process Synchronization -  Part1Process Synchronization -  Part1
Process Synchronization - Part1
Amir Payberah
 

Similar to Chubby (20)

Introduction to Operating Systems - Part2
Introduction to Operating Systems - Part2Introduction to Operating Systems - Part2
Introduction to Operating Systems - Part2
 
Deadlocks
DeadlocksDeadlocks
Deadlocks
 
Bigtable
BigtableBigtable
Bigtable
 
Main Memory - Part1
Main Memory - Part1Main Memory - Part1
Main Memory - Part1
 
Process Management - Part2
Process Management - Part2Process Management - Part2
Process Management - Part2
 
Introduction to Operating Systems - Part1
Introduction to Operating Systems - Part1Introduction to Operating Systems - Part1
Introduction to Operating Systems - Part1
 
MegaStore and Spanner
MegaStore and SpannerMegaStore and Spanner
MegaStore and Spanner
 
Process Management - Part1
Process Management - Part1Process Management - Part1
Process Management - Part1
 
Introduction to stream processing
Introduction to stream processingIntroduction to stream processing
Introduction to stream processing
 
Threads
ThreadsThreads
Threads
 
Introduction to cloud computing and big data - part1
Introduction to cloud computing and big data - part1Introduction to cloud computing and big data - part1
Introduction to cloud computing and big data - part1
 
Introduction to Operating Systems - Part3
Introduction to Operating Systems - Part3Introduction to Operating Systems - Part3
Introduction to Operating Systems - Part3
 
Google File System
Google File SystemGoogle File System
Google File System
 
Process Synchronization - Part2
Process Synchronization -  Part2Process Synchronization -  Part2
Process Synchronization - Part2
 
Mesos and YARN
Mesos and YARNMesos and YARN
Mesos and YARN
 
Virtual Memory - Part1
Virtual Memory - Part1Virtual Memory - Part1
Virtual Memory - Part1
 
Virtual Memory - Part2
Virtual Memory - Part2Virtual Memory - Part2
Virtual Memory - Part2
 
Paxos
PaxosPaxos
Paxos
 
Protection
ProtectionProtection
Protection
 
Process Synchronization - Part1
Process Synchronization -  Part1Process Synchronization -  Part1
Process Synchronization - Part1
 

More from Amir Payberah

P2P Content Distribution Network
P2P Content Distribution NetworkP2P Content Distribution Network
P2P Content Distribution Network
Amir Payberah
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Amir Payberah
 
Data Intensive Computing Frameworks
Data Intensive Computing FrameworksData Intensive Computing Frameworks
Data Intensive Computing Frameworks
Amir Payberah
 
The Stratosphere Big Data Analytics Platform
The Stratosphere Big Data Analytics PlatformThe Stratosphere Big Data Analytics Platform
The Stratosphere Big Data Analytics Platform
Amir Payberah
 
The Spark Big Data Analytics Platform
The Spark Big Data Analytics PlatformThe Spark Big Data Analytics Platform
The Spark Big Data Analytics Platform
Amir Payberah
 
Security
SecuritySecurity
Security
Amir Payberah
 
Linux Module Programming
Linux Module ProgrammingLinux Module Programming
Linux Module Programming
Amir Payberah
 
IO Systems
IO SystemsIO Systems
IO Systems
Amir Payberah
 
File System Implementation - Part2
File System Implementation - Part2File System Implementation - Part2
File System Implementation - Part2
Amir Payberah
 
File System Implementation - Part1
File System Implementation - Part1File System Implementation - Part1
File System Implementation - Part1
Amir Payberah
 
File System Interface
File System InterfaceFile System Interface
File System Interface
Amir Payberah
 
Storage
StorageStorage
Storage
Amir Payberah
 
Main Memory - Part2
Main Memory - Part2Main Memory - Part2
Main Memory - Part2
Amir Payberah
 
CPU Scheduling - Part2
CPU Scheduling - Part2CPU Scheduling - Part2
CPU Scheduling - Part2
Amir Payberah
 
CPU Scheduling - Part1
CPU Scheduling - Part1CPU Scheduling - Part1
CPU Scheduling - Part1
Amir Payberah
 
Process Management - Part3
Process Management - Part3Process Management - Part3
Process Management - Part3
Amir Payberah
 

More from Amir Payberah (16)

P2P Content Distribution Network
P2P Content Distribution NetworkP2P Content Distribution Network
P2P Content Distribution Network
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Data Intensive Computing Frameworks
Data Intensive Computing FrameworksData Intensive Computing Frameworks
Data Intensive Computing Frameworks
 
The Stratosphere Big Data Analytics Platform
The Stratosphere Big Data Analytics PlatformThe Stratosphere Big Data Analytics Platform
The Stratosphere Big Data Analytics Platform
 
The Spark Big Data Analytics Platform
The Spark Big Data Analytics PlatformThe Spark Big Data Analytics Platform
The Spark Big Data Analytics Platform
 
Security
SecuritySecurity
Security
 
Linux Module Programming
Linux Module ProgrammingLinux Module Programming
Linux Module Programming
 
IO Systems
IO SystemsIO Systems
IO Systems
 
File System Implementation - Part2
File System Implementation - Part2File System Implementation - Part2
File System Implementation - Part2
 
File System Implementation - Part1
File System Implementation - Part1File System Implementation - Part1
File System Implementation - Part1
 
File System Interface
File System InterfaceFile System Interface
File System Interface
 
Storage
StorageStorage
Storage
 
Main Memory - Part2
Main Memory - Part2Main Memory - Part2
Main Memory - Part2
 
CPU Scheduling - Part2
CPU Scheduling - Part2CPU Scheduling - Part2
CPU Scheduling - Part2
 
CPU Scheduling - Part1
CPU Scheduling - Part1CPU Scheduling - Part1
CPU Scheduling - Part1
 
Process Management - Part3
Process Management - Part3Process Management - Part3
Process Management - Part3
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 

Chubby

  • 1. Chubby Lock Service Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 1 / 38
  • 2. What is the Problem? Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 2 / 38
  • 3. What is the Problem? Large distributed system How to ensure that only one process across a fleet of processes acts on a resource? Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 3 / 38
  • 4. What is the Problem? Large distributed system How to ensure that only one process across a fleet of processes acts on a resource? • Ensure only one server can write to a database. • Ensure that only one server can perform a particular action. • Ensure that there is a single master that processes all writes. • ... Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 3 / 38
  • 5. What is the Problem? All these scenarios need a simple way to coordinate execution of process to ensure that only one entity is performing an action. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 4 / 38
  • 6. What is the Problem? All these scenarios need a simple way to coordinate execution of process to ensure that only one entity is performing an action. We need agreement (consensus) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 4 / 38
  • 7. What is the Problem? All these scenarios need a simple way to coordinate execution of process to ensure that only one entity is performing an action. We need agreement (consensus) Paxos ... Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 4 / 38
  • 8. How Can We Use Paxos to Solve the Problem of Coordination? Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 5 / 38
  • 9. Possible Solutions Building a consensus library Building a centralized lock service Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 6 / 38
  • 10. Consensus Library vs. Centralized Service Consensus library Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 11. Consensus Library vs. Centralized Service Consensus library • Library code has to be included in every program. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 12. Consensus Library vs. Centralized Service Consensus library • Library code has to be included in every program. • Application developers to be experts in distributed system. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 13. Consensus Library vs. Centralized Service Consensus library • Library code has to be included in every program. • Application developers to be experts in distributed system. • Need to wait on majority (quorums). Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 14. Consensus Library vs. Centralized Service Consensus library • Library code has to be included in every program. • Application developers to be experts in distributed system. • Need to wait on majority (quorums). Centralized lock service Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 15. Consensus Library vs. Centralized Service Consensus library • Library code has to be included in every program. • Application developers to be experts in distributed system. • Need to wait on majority (quorums). Centralized lock service • Clean interface. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 16. Consensus Library vs. Centralized Service Consensus library • Library code has to be included in every program. • Application developers to be experts in distributed system. • Need to wait on majority (quorums). Centralized lock service • Clean interface. • Service can be modified independently. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 17. Consensus Library vs. Centralized Service Consensus library • Library code has to be included in every program. • Application developers to be experts in distributed system. • Need to wait on majority (quorums). Centralized lock service • Clean interface. • Service can be modified independently. • A single client can obtain a lock and make progress (non-quorum based decisions, the lock service takes care of it) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 18. Consensus Library vs. Centralized Service Consensus library • Library code has to be included in every program. • Application developers to be experts in distributed system. • Need to wait on majority (quorums). Centralized lock service • Clean interface. • Service can be modified independently. • A single client can obtain a lock and make progress (non-quorum based decisions, the lock service takes care of it) • Application developers do not have to worry about dealing with operations, various failure modes debugging etc. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 7 / 38
  • 19. Centralized Lock Service Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 8 / 38
  • 20. Chubby is a Lock Service Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 9 / 38
  • 21. Chubby Primary goals: reliability and availability (not high performance) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 10 / 38
  • 22. Chubby Primary goals: reliability and availability (not high performance) Used in Google: GFS, Bigtable, etc. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 10 / 38
  • 23. Chubby Structure Two main components: • Server (chubby cell) • Client library Communicate via RPC Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 11 / 38
  • 24. Chubby Cell A small set of servers (replicas) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 12 / 38
  • 25. Chubby Cell A small set of servers (replicas) One is the master (elected from the replicas via Paxos) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 12 / 38
  • 26. Chubby Cell A small set of servers (replicas) One is the master (elected from the replicas via Paxos) Maintain copies of simple database (replicated state machines) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 12 / 38
  • 27. Chubby Cell A small set of servers (replicas) One is the master (elected from the replicas via Paxos) Maintain copies of simple database (replicated state machines) • Only the master initiates reads and writes of this database. • All other replicas simply copy updates from the master (using the Paxos protocol). Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 12 / 38
  • 28. Chubby Client Find the master: sending master location requests to replicas. All requests are sent directly to the master. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 13 / 38
  • 29. Chubby Operations Write requests Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
  • 30. Chubby Operations Write requests • The master receives the request. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
  • 31. Chubby Operations Write requests • The master receives the request. • Write requests are propagated via the consensus protocol to all replicas. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
  • 32. Chubby Operations Write requests • The master receives the request. • Write requests are propagated via the consensus protocol to all replicas. • Acknowledges when write request reaches the majority of the replicas Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
  • 33. Chubby Operations Write requests • The master receives the request. • Write requests are propagated via the consensus protocol to all replicas. • Acknowledges when write request reaches the majority of the replicas Read requests Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
  • 34. Chubby Operations Write requests • The master receives the request. • Write requests are propagated via the consensus protocol to all replicas. • Acknowledges when write request reaches the majority of the replicas Read requests • Satisfied by the master alone. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 14 / 38
  • 35. Let’s Go into More Details Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 15 / 38
  • 36. Chubby Interface (1/2) Chubby exports a unix-like filesystem interface. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
  • 37. Chubby Interface (1/2) Chubby exports a unix-like filesystem interface. Tree of files with names separated by slashes (namesapace): /ls/cell1/aut/cc14: Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
  • 38. Chubby Interface (1/2) Chubby exports a unix-like filesystem interface. Tree of files with names separated by slashes (namesapace): /ls/cell1/aut/cc14: • 1st component (ls): lock service (common to all names) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
  • 39. Chubby Interface (1/2) Chubby exports a unix-like filesystem interface. Tree of files with names separated by slashes (namesapace): /ls/cell1/aut/cc14: • 1st component (ls): lock service (common to all names) • 2nd component (cell1): the chubby cell name Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
  • 40. Chubby Interface (1/2) Chubby exports a unix-like filesystem interface. Tree of files with names separated by slashes (namesapace): /ls/cell1/aut/cc14: • 1st component (ls): lock service (common to all names) • 2nd component (cell1): the chubby cell name • The rest: the name of the directory and the file (name inside the cell) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 16 / 38
  • 41. Chubby Interface (2/2) Chubby maintains a namespace that contains files and directories, called nodes. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 17 / 38
  • 42. Chubby Interface (2/2) Chubby maintains a namespace that contains files and directories, called nodes. Clients can create nodes and add contents to nodes. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 17 / 38
  • 43. Chubby Interface (2/2) Chubby maintains a namespace that contains files and directories, called nodes. Clients can create nodes and add contents to nodes. Support most normal operations: • create, delete, open, write, ... Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 17 / 38
  • 44. Chubby Interface (2/2) Chubby maintains a namespace that contains files and directories, called nodes. Clients can create nodes and add contents to nodes. Support most normal operations: • create, delete, open, write, ... Clients open nodes to obtain handles that are analogous to unix file descriptors. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 17 / 38
  • 45. Locks (1/2) Each Chubby file and directory (node) can act as a reader/writer lock. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 18 / 38
  • 46. Locks (1/2) Each Chubby file and directory (node) can act as a reader/writer lock. A client handle may hold the lock in two modes: writer (exclusive) mode or reader (shared) mode. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 18 / 38
  • 47. Locks (1/2) Each Chubby file and directory (node) can act as a reader/writer lock. A client handle may hold the lock in two modes: writer (exclusive) mode or reader (shared) mode. • Only one client can hold lock in writer mode. • Many clients can hold lock in reader mode. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 18 / 38
  • 48. Locks (2/2) Locks are advisory in Chubby. • Holding a lock is not necessary to access file. • Holding a lock does not prevent other clients accessing file. • Conflicts only with other attempts to acquire the same lock. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 19 / 38
  • 49. Chubby Example (1/2) Electing a primary (leader) process. Steps in primary election: Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
  • 50. Chubby Example (1/2) Electing a primary (leader) process. Steps in primary election: • Clients open a lock file and attempt to acquire the lock in write mode. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
  • 51. Chubby Example (1/2) Electing a primary (leader) process. Steps in primary election: • Clients open a lock file and attempt to acquire the lock in write mode. • One client succeeds (becomes the primary) and writes its name/identity into the file. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
  • 52. Chubby Example (1/2) Electing a primary (leader) process. Steps in primary election: • Clients open a lock file and attempt to acquire the lock in write mode. • One client succeeds (becomes the primary) and writes its name/identity into the file. • Other clients fail (become replicas) and discover the name of the primary by reading the file. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
  • 53. Chubby Example (1/2) Electing a primary (leader) process. Steps in primary election: • Clients open a lock file and attempt to acquire the lock in write mode. • One client succeeds (becomes the primary) and writes its name/identity into the file. • Other clients fail (become replicas) and discover the name of the primary by reading the file. • Primary obtains sequencer and passes it to servers (servers can insure that the elected primary is still valid). Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 20 / 38
  • 54. Chubby Example (2/2) Leader election Open("/ls/foo/OurServicePrimary", "write mode") if (successful) { // primary SetContents(primary_identity) } else { // replica Open("/ls/foo/OurServicePrimary", "read mode", "file-modification event") when notified of file modification: primary = GetContentsAndStat() } Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 21 / 38
  • 55. APIs Open(), Close(), Delete() GetContentsAndStat(), GetStat(), ReadDir() SetContents() SetACL() Locks: Acquire(), TryAcquire(), Release() Sequencers: GetSequencer(), SetSequencer(), CheckSequencer() Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 22 / 38
  • 56. Events Chubby clients may subscribe to many events when they create a handle. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 23 / 38
  • 57. Events Chubby clients may subscribe to many events when they create a handle. Events include: • File contents modified • Child node added, removed, or modified • Chubby master failed over • Handle has become invalid • Lock acquired • Conflicting lock requested from another client Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 23 / 38
  • 58. Locking - Problem After acquiring a lock and issuing a request (R1) a client may fail. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 24 / 38
  • 59. Locking - Problem After acquiring a lock and issuing a request (R1) a client may fail. Another client may acquire the lock and issue its own request (R2). Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 24 / 38
  • 60. Locking - Problem After acquiring a lock and issuing a request (R1) a client may fail. Another client may acquire the lock and issue its own request (R2). R1 arrive later at the server and be acted upon (possible inconsis- tency). Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 24 / 38
  • 61. Locking - Solutions (1/3) Solution 1: virtual time Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 25 / 38
  • 62. Locking - Solutions (1/3) Solution 1: virtual time • But, it is costly to introduce sequence numbers into all the interactions. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 25 / 38
  • 63. Locking - Solutions (2/3) Solution 2: sequencers Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
  • 64. Locking - Solutions (2/3) Solution 2: sequencers • Sequence numbers are introduced into only those interactions that make use of locks. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
  • 65. Locking - Solutions (2/3) Solution 2: sequencers • Sequence numbers are introduced into only those interactions that make use of locks. • A lock holder can obtain a sequencer from Chubby. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
  • 66. Locking - Solutions (2/3) Solution 2: sequencers • Sequence numbers are introduced into only those interactions that make use of locks. • A lock holder can obtain a sequencer from Chubby. • It attaches the sequencer to any requests that it sends to other servers (e.g., Bigtable) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
  • 67. Locking - Solutions (2/3) Solution 2: sequencers • Sequence numbers are introduced into only those interactions that make use of locks. • A lock holder can obtain a sequencer from Chubby. • It attaches the sequencer to any requests that it sends to other servers (e.g., Bigtable) • The other servers can verify the sequencer information Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 26 / 38
  • 68. Locking - Solutions (3/3) Solution 3: lock-delay Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 27 / 38
  • 69. Locking - Solutions (3/3) Solution 3: lock-delay • Correctly released locks are immediately available. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 27 / 38
  • 70. Locking - Solutions (3/3) Solution 3: lock-delay • Correctly released locks are immediately available. • If a lock becomes free because holder failed or becomes inaccessible, lock cannot be claimed by another client until lock-delay expires. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 27 / 38
  • 71. Caching To reduce read traffic, Chubby clients cache file data and node meta-data. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 28 / 38
  • 72. Caching To reduce read traffic, Chubby clients cache file data and node meta-data. Write-through: write is done synchronously both to the cache and to the primary copy. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 28 / 38
  • 73. Caching To reduce read traffic, Chubby clients cache file data and node meta-data. Write-through: write is done synchronously both to the cache and to the primary copy. Master will invalidate cached copies upon a write request. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 28 / 38
  • 74. Caching To reduce read traffic, Chubby clients cache file data and node meta-data. Write-through: write is done synchronously both to the cache and to the primary copy. Master will invalidate cached copies upon a write request. The client also can allow its cache lease to expire. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 28 / 38
  • 75. Session Lease (1/3) Lease: a promise by one party to abide by an agreement for a given interval of time unless the promise is explicitly revoked. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 29 / 38
  • 76. Session Lease (1/3) Lease: a promise by one party to abide by an agreement for a given interval of time unless the promise is explicitly revoked. Session: a relationship between a Chubby cell and a Chubby client. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 29 / 38
  • 77. Session Lease (1/3) Lease: a promise by one party to abide by an agreement for a given interval of time unless the promise is explicitly revoked. Session: a relationship between a Chubby cell and a Chubby client. Session lease: interval during which client’s cached items (handles, locks, files) are valid. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 29 / 38
  • 78. Session Lease (1/3) Lease: a promise by one party to abide by an agreement for a given interval of time unless the promise is explicitly revoked. Session: a relationship between a Chubby cell and a Chubby client. Session lease: interval during which client’s cached items (handles, locks, files) are valid. Session maintained through KeepAlives messages. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 29 / 38
  • 79. Session Lease (2/3) If client’s local lease expires (happens when a master fails over) Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
  • 80. Session Lease (2/3) If client’s local lease expires (happens when a master fails over) • Client disables cache. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
  • 81. Session Lease (2/3) If client’s local lease expires (happens when a master fails over) • Client disables cache. • Session in jeopardy, client waits in grace period (45s). Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
  • 82. Session Lease (2/3) If client’s local lease expires (happens when a master fails over) • Client disables cache. • Session in jeopardy, client waits in grace period (45s). • Sends jeopardy event to application. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
  • 83. Session Lease (2/3) If client’s local lease expires (happens when a master fails over) • Client disables cache. • Session in jeopardy, client waits in grace period (45s). • Sends jeopardy event to application. • Application can suspend activity. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 30 / 38
  • 84. Session Lease (3/3) Client attempts to exchange KeepAlive messages with master during grace period. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 31 / 38
  • 85. Session Lease (3/3) Client attempts to exchange KeepAlive messages with master during grace period. • Succeed: re-enables cache; send safe event to application Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 31 / 38
  • 86. Session Lease (3/3) Client attempts to exchange KeepAlive messages with master during grace period. • Succeed: re-enables cache; send safe event to application • Failed: discards cache; sends expired event to application Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 31 / 38
  • 87. Scaling Reducing communication with the master. Two techniques: • Proxies • Partitioning Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 32 / 38
  • 88. Scaling - Proxies Proxy is a trusted process that pass requests from other clients to a Chubby cell. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 33 / 38
  • 89. Scaling - Proxies Proxy is a trusted process that pass requests from other clients to a Chubby cell. Can handle KeepAlives and reads → reduce the master load. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 33 / 38
  • 90. Scaling - Proxies Proxy is a trusted process that pass requests from other clients to a Chubby cell. Can handle KeepAlives and reads → reduce the master load. Cannot reduce write loads, but they are << 1% of workload. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 33 / 38
  • 91. Scaling - Proxies Proxy is a trusted process that pass requests from other clients to a Chubby cell. Can handle KeepAlives and reads → reduce the master load. Cannot reduce write loads, but they are << 1% of workload. Introduces another point of failure. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 33 / 38
  • 92. Scaling - Partitioning Namespace partitioned between servers. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 34 / 38
  • 93. Scaling - Partitioning Namespace partitioned between servers. N partitions, each with master and replicas Node D/C stored on P(D/C) = hash(D) mod N Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 34 / 38
  • 94. Summary Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 35 / 38
  • 95. Summary Library vs. Service Chubby: coarse-grained lock service Chubby cell and clients Unix-like interface Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 36 / 38
  • 96. References: M. Burrows, The Chubby lock service for loosely-coupled distributed systems, OSDI, 2006. Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 37 / 38
  • 97. Questions? Amir H. Payberah (Tehran Polytechnic) Chubby 1393/7/5 38 / 38