|
View:
New views
8 Messages
—
Rating Filter:
Alert me
|
|
|
CF Requirements: 3) Slice ControllerGENI Control Framework WG Members, interested GENI participants, and
Jeff Chase of Duke, A first DRAFT (v01.3) of the GENI Control Framework Requirements document has been completed, and can be found at http://groups.geni.net/geni/wiki/GeniControlFrameworkRequirements A discussion of the document on February 25, 2009 resulted in the identification of 10 discussion items, which can be found at http://groups.geni.net/geni/attachment/wiki/GeniControlFrameworkRequir ements/030609_CFRequireReviewTopics.pdf This email begins a discussion thread on: 3) Slice Controller I would like to invite Jeff Chase of Duke to begin the discussion, and then others are invited to join in. 2a) During the discussion, the key elements in a GENI suite were discussed, including the "triangle" of Researcher, Aggregate (with Components) and Clearinghouse. In his detailed comments for the document, Jeff suggested that a "Slice Controller" should become a first-class entity (element), associated with the researcher, that controls and monitors a slice. Jeff defined "first class" to mean that it is persistent, so that other actors in the control framework, or slivers in its slice, can send unsolicited messages/notifications to it. And, it may respond by taking autonomous actions to control the slice on behalf of an experimenter. Harry noted that this is in keeping with the current PlanetLab, the ProtoGENI and ORCA prototypes. 2b) The current DRAFT talks of: "A principal acting from a server utilizing a browser client or a set of helper tools". So, there is talk of a "server' and "helper tools", but no slice controller. 2c) Discussion: All of the current prototype implementations include some form of "slice controller" (or slice manager). In PlanetLab, it is part of PLC. In ProtoGENI, it is associated with the Researcher. In ORCA, it is called the Slice Manager. All hold state specifying the slice. 2d) A proposed change to the CF requirements: Each suite includes one or more Slice Controllers (this must also be reflected in the GENI System Overview) Each slice controller: Associated with one (or more) researchers. Trusted to properly represent the researcher(s) "First class" entity Persistent, so that other actors in the control framework, or slivers in its slice, can send unsolicited messages/notifications to it. Interacts with clearinghouse and aggregates. Discovers, plans, requests, acquires, and controls resources from aggregates. Keeps state. If gets firm reservations, it keeps a calendar of committed resources. 2e) Continued discussion: Is the "slice controller" always required in a GENI suite? Must the "slice controller" be persistent? Should the slice controller typically represent one researcher? One research organization? Or? Is it important to specify where it is located? Do we need to define the interface between the slice controller and the researcher? How does the "slice controller" present a "trust assertion" to an aggregate? We look forward to a continuing, lively discussion, working towards a 'rough consensus". Harry E. Mussman Control Framework Systems Engineer GENI Project Office BBN Technologies 10 Moulton Street Cambridge, MA 02138 (617) 873-4282 - Office (781) 266-8479 - Mobile (617) 873-4888 - Fax hmussman@... www.bbn.com _______________________________________________ control-wg mailing list control-wg@... http://lists.geni.net/mailman/listinfo/control-wg |
|
|
Re: CF Requirements: 3) Slice ControllerHarry asked me to kick off this discussion, so I'll do that by summarizing my views on the discussion questions he asked about "slice controller". The slice controller corresponds to what we have called "guest controller" or "service manager" in the Orca work and its predecessors (Shirako and SHARP).
Q1: Is the "slice controller" always required in a GENI suite? I suggest we use the term "slice controller" (SC) for any entity that speaks control plane protocol in the role of an "experimenter". That is, a "slice controller" is any entity that issues resource discovery requests to a Clearinghouse (CH), or requests tickets from a CH broker service, or presents tickets to a component/aggregate manager (AM), etc. So then the question becomes: what is the nature of the SC, i.e., what can/must the other control plane actors assume about an SC? What qualifies as an SC? SC could (or should) be a researcher-replaceable (or customizable) entity, so only the researcher trusts it. No other part of the system trusts it to maintain hard state or to do anything other than make requests on behalf of the researcher. However, SC is permitted (but not required) to register and serve callback interfaces for status notifications and the like. For this reason we generally presume there is exactly one SC per slice (although one SC could control many slices). I think this accommodation of callbacks to the SC is the only substantive change being proposed here by introducing an SC to flesh out the generic concept of "experiment control tools". That's a pretty minimal set of assumptions, and it would accommodate a wide range of implementations to play the role of "slice controller" in the control framework. It could be a standalone program that a researcher runs, or it could reside within a web server operated by the testbed or a participating institution. In Orca/Shirako it can be either of these things---same code. So my answer would be yes, SC is always required, unless we decide to introduce more terms to distinguish among different flavors of what I am calling SC. Q2: Must the "slice controller" be persistent? It is helpful for the SC to be persistent, and in Orca/Shirako it is persistent, but if it fails permanently or forgets its state, then it does not harm the system. Except in one way: the resources it has allocated are not reclaimed until their leases expire. Q3: Should the slice controller typically represent one researcher? One research organization? Or? The SC operates on behalf of a slice owner, whatever that is. In our code today it is limited to operate on behalf of one user, but it should not be architecturally limited in that way. Q4: Is it important to specify where it is located? No, but it has to be reachable through the GENI control network, e.g., the public Internet. Q5: Do we need to define the interface between the slice controller and the researcher? "Let a thousand flowers bloom." Q6: How does the "slice controller" present a "trust assertion" to an aggregate? The SC holds one or more private keys and it wields credentials anchored in some identity provider to endorse its corresponding public keys. The credential could be a PKI/509 cert and/or something else...but that is an orthogonal set of questions. Jeff Harry Mussman wrote: > GENI Control Framework WG Members, interested GENI participants, and > Jeff Chase of Duke, > > > A first DRAFT (v01.3) of the GENI Control Framework Requirements > document has been completed, and can be found at > http://groups.geni.net/geni/wiki/GeniControlFrameworkRequirements > > A discussion of the document on February 25, 2009 resulted in the > identification of 10 discussion items, which can be found at > http://groups.geni.net/geni/attachment/wiki/GeniControlFrameworkRequir > ements/030609_CFRequireReviewTopics.pdf > > > > This email begins a discussion thread on: 3) Slice Controller > > I would like to invite Jeff Chase of Duke to begin the discussion, and > then others are invited to join in. > > > > 2a) During the discussion, the key elements in a GENI suite were > discussed, including the "triangle" of Researcher, Aggregate (with > Components) and Clearinghouse. > > In his detailed comments for the document, Jeff suggested that a > "Slice Controller" should become a first-class entity (element), > associated with the researcher, that controls and monitors a slice. > Jeff defined "first class" to mean that it is persistent, so that > other actors in the control framework, or slivers in its slice, can > send unsolicited messages/notifications to it. And, it may respond by > taking autonomous actions to control the slice on behalf of an > experimenter. > Harry noted that this is in keeping with the current PlanetLab, the > ProtoGENI and ORCA prototypes. > > 2b) The current DRAFT talks of: > "A principal acting from a server utilizing a browser client or a set > of helper tools". So, there is talk of a "server' and "helper tools", > but no slice controller. > > 2c) Discussion: > All of the current prototype implementations include some form of > "slice controller" (or slice manager). > In PlanetLab, it is part of PLC. > In ProtoGENI, it is associated with the Researcher. > In ORCA, it is called the Slice Manager. > All hold state specifying the slice. > > 2d) A proposed change to the CF requirements: > Each suite includes one or more Slice Controllers > (this must also be reflected in the GENI System Overview) > > Each slice controller: > Associated with one (or more) researchers. > Trusted to properly represent the researcher(s) > > "First class" entity > Persistent, so that other actors in the control framework, or slivers > in its slice, can send unsolicited messages/notifications to it. > > Interacts with clearinghouse and aggregates. > Discovers, plans, requests, acquires, and controls resources from > aggregates. > Keeps state. > If gets firm reservations, it keeps a calendar of committed resources. > > 2e) Continued discussion: > Is the "slice controller" always required in a GENI suite? > Must the "slice controller" be persistent? > Should the slice controller typically represent one researcher? One > research organization? Or? > Is it important to specify where it is located? > Do we need to define the interface between the slice controller and > the researcher? > How does the "slice controller" present a "trust assertion" to an > aggregate? > > > > We look forward to a continuing, lively discussion, working towards a > 'rough consensus". > > Harry E. Mussman > Control Framework Systems Engineer > > GENI Project Office > BBN Technologies > 10 Moulton Street > Cambridge, MA 02138 > (617) 873-4282 - Office > (781) 266-8479 - Mobile > (617) 873-4888 - Fax > hmussman@... > www.bbn.com > > _______________________________________________ control-wg mailing list control-wg@... http://lists.geni.net/mailman/listinfo/control-wg |
|
|
Re: CF Requirements: 3) Slice ControllerI mostly agree with your statements here, so I'll only point out the
places where my opinion differs. Thus spake Jeff Chase on Thu, Mar 19, 2009 at 12:18:40PM -0400: > Q1: Is the "slice controller" always required in a GENI suite? > > I suggest we use the term "slice controller" (SC) for any entity that > speaks control plane protocol in the role of an "experimenter". That is, a > "slice controller" is any entity that issues resource discovery requests to > a Clearinghouse (CH), or requests tickets from a CH broker service, or > presents tickets to a component/aggregate manager (AM), etc. I believe that elsewhere in GENI documents, this is referred to as a "Slice Manager" (SM). > That's a pretty minimal set of assumptions, and it would accommodate a wide > range of implementations to play the role of "slice controller" in the > control framework. It could be a standalone program that a researcher > runs, or it could reside within a web server operated by the testbed or a > participating institution. In Orca/Shirako it can be either of these > things---same code. > So my answer would be yes, SC is always required, unless we decide to > introduce more terms to distinguish among different flavors of what I am > calling SC. ProtoGENI provides a number of simple command-line scripts for creating slices, allocating slivers, etc. I don't really think of these as an SC/SM, just a thin wrapper around the API calls themselves. I'm not sure when something crosses the line between a simple client for the CM/CH/etc. API to an SC/SM, but I don't think that every standalone tool that a research might use is necessarily an SC/SM. So I would say an SC/SM is not strictly required - a suite without one is going to be harder to use, since it's going to require users to roll their own tools more, but I think it's still a complete, usable suite. > Q3: Should the slice controller typically represent one researcher? One > research organization? Or? > > The SC operates on behalf of a slice owner, whatever that is. In our code > today it is limited to operate on behalf of one user, but it should not be > architecturally limited in that way. The set of users that are allowed to look at, manipulate, etc. a slice is defined only by who hold credentials allowing them to do these things. It's not the SC/SM's role to make any decisions regarding this. So I would make a subtle distinction with what you say above - it's not operating on behalf of the slice owner, it's operating on behalf of anyone who has the appropriate credentials to control the slice. -- /----------------------------------------------------------- | Robert P Ricci <ricci@...> | <ricci@...> | Research Associate, University of Utah Flux Group | www.flux.utah.edu | www.emulab.net \----------------------------------------------------------- _______________________________________________ control-wg mailing list control-wg@... http://lists.geni.net/mailman/listinfo/control-wg |
|
|
Re: CF Requirements: 3) Slice ControllerRobert P Ricci wrote:
> I mostly agree with your statements here, so I'll only point out the > places where my opinion differs. > The idea of Slice Controller as I characterized it would not rule out that there could be other supporting tools that the researcher uses. So I don't think we differ in any substantial way. Can you (or someone) offer a cite for the definition of "Slice Manager" in other GENI docs? thanks, Jeff > Thus spake Jeff Chase on Thu, Mar 19, 2009 at 12:18:40PM -0400: > >> Q1: Is the "slice controller" always required in a GENI suite? >> >> I suggest we use the term "slice controller" (SC) for any entity that >> speaks control plane protocol in the role of an "experimenter". That is, a >> "slice controller" is any entity that issues resource discovery requests to >> a Clearinghouse (CH), or requests tickets from a CH broker service, or >> presents tickets to a component/aggregate manager (AM), etc. >> > > I believe that elsewhere in GENI documents, this is referred to as a > "Slice Manager" (SM). > > >> That's a pretty minimal set of assumptions, and it would accommodate a wide >> range of implementations to play the role of "slice controller" in the >> control framework. It could be a standalone program that a researcher >> runs, or it could reside within a web server operated by the testbed or a >> participating institution. In Orca/Shirako it can be either of these >> things---same code. >> So my answer would be yes, SC is always required, unless we decide to >> introduce more terms to distinguish among different flavors of what I am >> calling SC. >> > > ProtoGENI provides a number of simple command-line scripts for creating > slices, allocating slivers, etc. I don't really think of these as an > SC/SM, just a thin wrapper around the API calls themselves. I'm not sure > when something crosses the line between a simple client for the > CM/CH/etc. API to an SC/SM, but I don't think that every standalone tool > that a research might use is necessarily an SC/SM. > > So I would say an SC/SM is not strictly required - a suite without one is > going to be harder to use, since it's going to require users to roll > their own tools more, but I think it's still a complete, usable suite. > > >> Q3: Should the slice controller typically represent one researcher? One >> research organization? Or? >> >> The SC operates on behalf of a slice owner, whatever that is. In our code >> today it is limited to operate on behalf of one user, but it should not be >> architecturally limited in that way. >> > > The set of users that are allowed to look at, manipulate, etc. a slice > is defined only by who hold credentials allowing them to do these > things. It's not the SC/SM's role to make any decisions regarding this. > So I would make a subtle distinction with what you say above - it's not > operating on behalf of the slice owner, it's operating on behalf of > anyone who has the appropriate credentials to control the slice. > > _______________________________________________ control-wg mailing list control-wg@... http://lists.geni.net/mailman/listinfo/control-wg |
|
|
Re: CF Requirements: 3) Slice ControllerThus spake Jeff Chase on Thu, Mar 19, 2009 at 01:35:09PM -0400:
> Can you (or someone) offer a cite for the definition of "Slice Manager" > in other GENI docs? I don't think it's really defined anywhere, only mentioned - and I think the main mention of it is in documents produced by the PlanetLab folks which have gotten rolled into GENI documents such as the CFA. For example, it's mentioned on pages 72 and 82 of the CFA 1.4 available here: http://groups.geni.net/geni/wiki/GeniControlFrameworkArchitecture My point wasn't that there is an actual definition we ought to be using - we still need to come up with that definition. But if an SC and an SM are really the same thing, we can at least reduce confusion by sticking with one of those terms (I personally don't care which one). -- /----------------------------------------------------------- | Robert P Ricci <ricci@...> | <ricci@...> | Research Associate, University of Utah Flux Group | www.flux.utah.edu | www.emulab.net \----------------------------------------------------------- _______________________________________________ control-wg mailing list control-wg@... http://lists.geni.net/mailman/listinfo/control-wg |
|
|
|
|
|
|
|
|
Re: [geni-dev] CF Requirements: 3) Slice ControllerThus spake Jeff Chase on Thu, Mar 19, 2009 at 07:08:03PM -0400:
> Since a key objective is to make GENI easy to use, we want the > slice/experiment controllers to be easy to program and we want the code > to be maximally reusable. That is always hard, but declarative > representations of experiments (like your ExpSpec suggestion) seems the > right ideal to pursue. Orca's slice controller toolkit is more > procedurally oriented, so it is rather primitive in that > respect...unless it is running something like Gush layered above it. > But that is one area where I think Orbit really excels (cf. Max Ott's > slides from the GEC 3 services-wg meeting). Gush and Orbit are the > right places to start from with that, IMHO, unless there are other > ExpSpecs that I am not yet aware of. The obvious one missing from your list is the Emulab NS file (based on NS-2), which in addition to describing network topologies, can also describe software to distribute, programs to run, packet traces to gather, etc. and lets you script all this stuff as well. Some documentation: http://users.emulab.net/trac/emulab/wiki/nscommands http://users.emulab.net/trac/emulab/wiki/AdvancedExample There's also the "Expermenter's Workbench" on Emulab which extends the above with notions like formal parameters to experiments, a more complicated experiment structure (for example, breaking up experiments into potentially multiple "runs"), as well as adding a bunch of other abstractions: http://www.cs.utah.edu/flux/papers/workbench-nsdi07-base.html -- /----------------------------------------------------------- | Robert P Ricci <ricci@...> | <ricci@...> | Research Associate, University of Utah Flux Group | www.flux.utah.edu | www.emulab.net \----------------------------------------------------------- _______________________________________________ control-wg mailing list control-wg@... http://lists.geni.net/mailman/listinfo/control-wg |
| Free embeddable forum powered by Nabble | Forum Help |