-
Notifications
You must be signed in to change notification settings - Fork 492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatic Gate Schedule Configuration in TSN #818
Comments
To answer one of your questions about combining credit-based and time-aware shaping, this might be useful: https://inet.omnetpp.org/docs/showcases/tsn/trafficshaping/mixingshapers/doc/index.html The showcase is work-in-progress, but the configuration is complete. |
Thank you for your reply. I have seen the showcase which combined the credit-based and asynchronous shaping. |
I think we could add a gate filter parameter to all gate schedule configurators to limit the scope of the auto-configuration. This wouldn't be difficult to do and I think it would solve your problem. Do you agree? |
@levy |
I suggested something fairly simple: some gates are automatically configured and some gates are manually configured. So you could leave the best effort traffic gates open all the time, assuming that they cannot prevent any other time sensitive traffic to go through within the specified limits. Unfortunately this may not be a good solution because you need guard intervals before time sensitive traffic? Currently the gate schedule configurators barely know anything about specific traffic categories. All they know is that there is an order of traffic categories and that the specified traffic should go through from source to destination within the specified limits. They assume all gates are closed by default, unless a gate needs to be open in order to achieve the desired result. Another approach would be that they assume that all gates are open by default, unless a gate that is open by default would prevent another traffic category to go through within the specified limits, including guard intervals to prevent delaying higher priority traffic. Is this what you are suggesting? It's certainly doable but it doesn't seem trivial to me. |
@levy |
IIRC the current implementation doesn't consider guard intervals because it assumes a number of things about the whole network and the traffic to greatly simplify the gate scheduling problem:
Ok, here's how I understand your suggestion now: So, all gates can be configured to be open in a second pass after the current automatic configuration, unless there's a higher priority gate open within guard interval in the gate schedule. Opening a lower priority gate at the wrong time could effectively prevent the original automatic configuration to work as intended. Do I understand it right? I think there is a problem though: there cannot be known (by the configurator) TT traffic and unknown non-TT traffic in the same traffic category at the same gate/queue/network interface, because then any schedule the configurator comes up with can be broken by the unknown non-TT traffic. So, it's more like the configurator needs to know more than it currently does. It cannot simply assume that there's non-TT traffic in all categories because then calculating a schedule is impossible. So for example, you could say that the best effort traffic category only contains non-TT traffic in the whole network, in which case your logic above applies to the gates of that traffic category. What do you think? |
@levy |
Ok, I see. So here is how this could be implemented. The automatic gate schedule configurators should be extended with a second stage. The second stage should configure all non-TT gates (which don't have any TT traffic assigned to them). These non-TT gates can be open when the higher priority TT gates are closed, also taking into consideration the guard intervals. Unfortunately, I don't know when we will have time to make this happen. |
@levy |
Hello,
I was watching the showcase Automatic Gate Schedule Configuration at showcases/tsn/gatescheduling/sat/omnetpp.ini .
But when I set all kinds of traffic to one single priority so that they should be transmitted in the same queue and controlled by the same gate,I find that the automatic gate scheduler set all other gates close all the time except for the gate transmitting the traffic mentioned above. But if I want to send some best effort traffic in other queues when the gate transmitting the time-sensitive traffic is closing, what can I do? Futher more, is there an opportunity to combine time-aware shaping and credit-based shaping?
Here is my omnetpp.ini file:
The scheduled information is shown here:
Gate[1] doesn't give opportunity to other traffic to go through.
The text was updated successfully, but these errors were encountered: