© 2010 open grid forum choices in reservation operation 1pc/2pc, timing tomohiro kudoh, aist
TRANSCRIPT
© 2010 Open Grid Forum
Choices in Reservation operation1PC/2PC, timingTomohiro Kudoh, AIST
© 2010 Open Grid Forum
Reservation options
• 1PC/2PC• 2PC has “held” state, and must be committed
before provisioning
• Start time parameter• Advance / immediate
• Trigger of provisioning• Explicit: signaling message from the root requester• Automatic: Each leaf provider NSA provision at the
specified start time based on its own timer
2
© 2010 Open Grid Forum
Advance reservation (1PC)
3
CoordinatorCohort a Cohort b
reserve
reserve
grantedgranted
I
R
CoordinatorCohort a Cohort b
reserve
reserve
not-grantedgranted
roll-back(cancel)
“all” case “none” case
• “Reservation” without “Provisioning” can be roll-back.
• If one of providers (cohorts) can not grant request, coordinator can ask other cohorts to roll-back before provisioning.
I
R
I
R
I
R
I
R
I
R
I
R
I
R
I
R
I: Initial R: Reserved
© 2010 Open Grid Forum
Immediate reservation (1PC)
4
CoordinatorCohort a Cohort b
request
request
grantedgranted
I
P
CoordinatorCohort a Cohort b
request
request
not-grantedgranted
roll-back
“all” case “partial” case
• Resources are provisioned when granted• The coordinator cannot ask to cancel before provisioning
I
P
I
P
I
P
I
P
I
P
I
P
I
P
I
P
I: Initial P: Provisioned
Roll-back is not possible (or painful) since the resource is already provisioned.
© 2010 Open Grid Forum
What is two phase commit protocol?
• An atomic commitment protocol• Used in transaction systems such as data bases• Guarantees all or none of multiple participants
(cohorts) are done (committed).
5
CoordinatorCohort a Cohort b
commit request
commit request
heldheld
commit commit
I
AH
C
I
AH
C
I
AH
C
I
AH
C
I
AH
C
I
AH
C
CoordinatorCohort a Cohort b
commit request
commit request
abortheld
abort
I
AH
C
I
AH
C
I
AH
C
I
AH
C
I
AH
C
I
AH
C
“all” case “none” case
I: Initial H: HeldA: AbortedC: Committed
© 2010 Open Grid Forum
When is 2PC required?
• 2PC is a protocol to support “roll-back”• A held transaction can be rolled-back
• When a transaction is inherently rolled-back-able, atomic commitment protocol (2PC) is not mandatory
• Usually, “reservation” can be rolled-back, “provisioning” may not.
• Use 2PC when it is required (strongly preferable).
6
© 2010 Open Grid Forum
Immediate reservation with 2PC
• Committed = Provisioned• Roll-back is request before actual
provisioning of resources
7
CoordinatorCohort a Cohort b
commit request
commit request
heldheld
commit commit
I
AH
C
I
AH
C
I
AH
C
I
AH
C
I
AH
C
I
AH
C
CoordinatorCohort a Cohort b
commit request
commit request
not-grantedheld
abort
I
AH
C
I
AH
C
I
AH
C
I
AH
C
I
AH
C
I
AH
C
“all” case “none” case
I: Initial H: HeldA: AbortedC: Committed
© 2010 Open Grid Forum
But
• If you do not make a reservation advance enough, the reservation becomes immediate, instead of advance.
• It is not clear how much time is enough. So it is not reasonable to distinguish immediate and advance, and use different protocols.
8
© 2010 Open Grid Forum
Simplified 2PC
• The cohort which is requested lastly does not have to support 2PC
9
CoordinatorCohort a Cohort b
commit request
held
commit
I
AH
C
I
AH
C
I
AH
C
request
granted
I
P
I
P
CoordinatorCohort a Cohort b
commit request
held
abort
I
AH
C
I
AH
C
I
AH
C
request
not-granted
I
P
I
P
© 2010 Open Grid Forum
Chain does not require 2PC between NSAs
• Chain model with 2PC
10
NSA
NRM
NSA
NRM
NSA
NRM
2PC 2PC 2PC
• But can be simplified to use 2PC for internal-only • No 2PC is required between NSAs.
NSA
NRM
NSA
NRM
NSA
NRM
2PC
1PC
2PC
1PC
2PC
1PC
© 2010 Open Grid Forum
Timing issues we should aware
• The following timing issues exist, and must be considered• Reservation time: Time (duration) required to process
request, schedule and make resources ready for provision
• Set up time: Time (duration) between a trigger to provision (signaling message or timer) and the time when service for user become available
• Tear down time: Time (duration) between a trigger to cancel a provision (signaling message or timer) and the time service disappears
• Messaging time: Time (duration) required to deliver a message
11
© 2010 Open Grid Forum
Provisioning timings(1)
• reservation start time• The time a provider NSA starts action to provision
a connection (by timer or signaling)• No preceding processing before this time is
required.
• reservation end time• After this time, provision sequence of another
reservation can be started
• service start/end time• The time the user can start/should finish to use the
connection
12
© 2010 Open Grid Forum
Provisioning timings(2)
ERST Earliest Reservation Start time
reservation must not start before this time to keep ESST (?)
LRST Latest Reservation Start time
reservation must be started by this time to meet the service definition
ERET Earliest Reservation End time
No meaning?
LRET Latest Reservation End time
reservation must be ended by this time to allow next reservation’s provisioning
ESST Earliest Service Start time
service must not start before this time for security reasons.
LSST Latest Service Start time
User requires service by this time
ESET Earliest Service End time
User requires service until this time
LSET Latest Service End time
service must not remain after this time for security reasons
13
© 2010 Open Grid Forum 14
LRST
LRET
ESSTLSST
LSET
ESET
LRST ESSTLSST
© 2010 Open Grid Forum
Parameters of immediate reservation
• There was a discussion on whether to use (start time, end time) or (stat time, duration) for requesting parameters, and we decided to use (start time, end time) for NSI protocol
• They are the same for “exact start time” operation, duration = end time – start time
• But they are different for immediate reservation: (immediate, end time), (immediate, duration)• If the end time is specified, duration of provisioning
is not known, and vice versa.
15