 | Hi Chris,
I've been looking at the examples and things are pretty spread out. Are there specific things that I need to look for?
Here are my main questions: How do I specify an earliest deadline first policy? How do I specify such a deadline? How do I deal with messages that have no deadline?
Thanks, Jas
-----Original Message----- From: Chris Gill [mailto:cdgill@cse.wustl.edu] Sent: Friday, January 21, 2005 8:35 AM To: Jaswinder S. Ahluwalia Cc: schmidt@cs.wustl.edu; tao-users@cs.wustl.edu Subject: RE: [tao-users] End To End QoS
Hi Jaswinder,
Please take a look at the examples, all of which use EDF, under ACE_wrappers/TAO/orbsvcs/examples/RtEC/Federated_Kokyu/ in the EC_DT_RTAS branch of the CVS repository.
Currently you'll need to use the tag EC_DT_RTAS to check out the branch from our CVS repository, but we're working to get them merged into the main trunk shortly.
That code is for a series of tests that also involved other things that might be useful to you depending on the kinds of QoS you want to provide. For example, Yuanfang did a lot of work on release guards, as described in a paper that will appear at RTAS:
http://www.cse.wustl.edu/~cdgill/PDF/Zhang_comparison.pdf
BTW, Yuanfang recommended the chain_test example as the simplest one to show the use of EDF with the EC.
Hope this helps,
Chris
-------------------------------------------------------------------------- Chris Gill, Assistant Professor Bryan 506 Department of Computer Science and Engineering (314) 935-7538 Campus Box 1045, Washington University cdgill@cse.wustl.edu One Brookings Drive, St. Louis, MO 63130 www.cse.wustl.edu/~cdgill/ --------------------------------------------------------------------------
On Thu, 20 Jan 2005, Jaswinder S. Ahluwalia wrote:
> Hi Chris, > > Thanks for the reply. The information you provided is invaluable. There is a > side of me which would like to go through with the second option you have > provided me. It seems far more interesting to me and is riddled with > problems that intrigue me. However, I lost a few weeks of time because of my > grandmother's death and the first option seems much more practical. Not to > mention, I already have a look up table built in that associates incoming > messages with a particular sequence and its deadline and the fact that the > second option is still a work in progress. > > So let's go ahead with the first option. Can you give me some guidance on > how to implement such a policy? Where and how do I specify the deadlines? > How do I set the policy earliest deadline first? Do I register all messages > or just the messages associated with sequences with deadlines? (Not all > sequences have deadlines). How do I register such messages? > > Here is a line of code. As u can see, the rt_info structure is null. > > > supplierPublications.insert( this->myEventSource,// Supplier's unique id > *j, // Event type > 0, // handle to the rt_info structure > 1); // number of calls > > > I greatly appreciate the help you're giving me. > > Thanks, > Jas > > -----Original Message----- > From: Chris Gill [mailto:cdgill@cse.wustl.edu] > Sent: Thursday, January 20, 2005 2:05 PM > To: Jaswinder S. Ahluwalia > Cc: schmidt@cs.wustl.edu; tao-users@cs.wustl.edu > Subject: Re: [tao-users] End To End QoS > > Hi Jas, > > Sorry again for the long delay responding - I've finally gotten back on > top of things and am ready to rejoin the discussion. > > To catch back up on the discussion, if I understand correctly the diagram > you sent shows that the "sequences" you're trying to schedule are > partially ordered sets of messages, with constraints that could range > anywhere from ensuring a total order (for example, a before b before c > before d before e) to allowing any order whatsoever - is that right? > > Assuming I have the right picture, I see two ways to go about scheduling > them: > > (1) The simplest way is to just have a deadline for the entire sequence > (kept say in a table, indexed by the sequence id) and then schedule > each message according to that deadline. That would ensure that any > combination of messages contending to be scheduled that are from the > same sequence would be treated equivalently. That would then let > you implement sequence scheduling directly using EDF. > > (2) If you want to exploit what knowledge you do have (for example, > registering supplier-consumer dependencies with the scheduler and > then exporting that graph from the scheduler, or writing a new > scheduling strategy that could reflect on those dependencies), you > could take the more difficult route of expressing progress along a > particular chain of dependencies in your messages and then using that > information to enforce particular policies for the scheduling order of > messages within a sequence. > > For example using the sequence example you gave earlier, if messages a > and b have already been scheduled previously and then messages c and d > arrive and are contending for scheduling, knowing that c was the end > of a chain and d was the start of a chain within the overall sequence > could be a key factor for how the scheduler should order c and d > relative to each other. > > We've written a paper on this more selective kind of scheduling for > the upcoming RTAS conference, which you can find at > > www.cse.wustl.edu/~venkita/publications/subramonianv_groupsched.pdf > > which shows that this kind of approach is useful for applications > requiring more sophisticated scheduling decisions than are offered > by simpler heuristics like EDF, RMS, etc. We are working toward a > version of the middleware scheduler described there that is portable > across OS platforms and is integrated into ACE and TAO, but that is > still an ongoing background task at present. > > Hope this helps, and please let me know your thoughts on which of these > two approaches best matches the needs of the application domain(s) you're > planning to address. > > Thanks, > > Chris > > -------------------------------------------------------------------------- > Chris Gill, Assistant Professor Bryan 506 > Department of Computer Science and Engineering (314) 935-7538 > Campus Box 1045, Washington University cdgill@cse.wustl.edu > One Brookings Drive, St. Louis, MO 63130 www.cse.wustl.edu/~cdgill/ > -------------------------------------------------------------------------- > > > On Tue, 18 Jan 2005, Jaswinder S. Ahluwalia wrote: > > > Hi Everyone, > > > > I was having a discussion regarding specifying and implementing end-to-end > > qos requirements in the real time event service. Mainly, it was Chris who > > was engaing in the discussion, but he left on vacation and two weeks ago > my > > grandmother passed away so I've been out of the country. I would like to > > continue the discussion and get some help on how to have the rt event > > service enforce a qos requirement on a sequence of messages. How do I > > specify the timing requirement? How do I specify the dependencies? Etc. > etc. > > > > > > I look forward to your responses. > > > > Thanks, > > Jas > > > >
|
|