knowledge-database (beta)

Current group: comp.soft-sys.ace

RE: [tao-users] End To End QoS

RE: [tao-users] End To End QoS  
Jaswinder S. Ahluwalia
From:Jaswinder S. Ahluwalia
Subject:RE: [tao-users] End To End QoS
Date:20 Jan 2005 18:31:09 -0600
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
>
   

Copyright © 2006 knowledge-database   -   All rights reserved