[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <14087bf5-cf58-4c28-a8ad-f35f59810cc5@jasiiieee>
Date: Thu, 08 Dec 2011 13:08:25 -0500 (EST)
From: "John A. Sullivan III" <jsullivan@...nsourcedevel.com>
To: netdev@...r.kernel.org
Subject: Re: More understanding HFSC
----- Original Message -----
From: "John A. Sullivan III" <jsullivan@...nsourcedevel.com>
To: netdev@...r.kernel.org
Sent: Sunday, December 4, 2011 1:12:19 AM
Subject: More understanding HFSC
<snip>
A great thanks to all those who took a great deal of time to help me understand HFSC. It was particularly helpful to gain a better understanding of the relationship between fit time, virtual time, eligible time, and deadline time. I would still like to make sure I've got it in a practical way. If any one does have the time to see if the below illustration is valid, I'd appreciate it. And I also appreciate that no one may have that time :) Thanks again - John
If I've got that right, does the following illustration hold:
Let's assume we have a T1 at 1.544 Mbps (if I've remembered that
correctly). So we create the highest level child class with a ul of 1.5
Mbps to keep it slightly under the link speed to ensure we do not trip
QoS on the upstream router. Hmm . . . I suppose that principle would
not hold true in a shared environment like cable or DSL. In any event,
I think that means 1536kbits in tc-speak.
We then create five child classes named Interactive, VoIP, Video, Web,
and Bulk with the following characteristics and settings:
Bulk is basically everything that has no latency sensitivity and can
tolerate dropped packets. We assign it rt=100kbits just to keep it from
being starved when other classes are highly active but we'd like it to
access excess bandwidth a little more aggressively so we set
ls=300kbits. Does this seem reasonable?
Interactive must nowadays include VDI so it is no longer small ssh or
telnet packets. It needs to accommodate full sized Ethernet packets in
order to transfer screens with a minimum of latency. It is moderately
latency sensitive and cannot tolerate dropped packets. We want
this router to add no more than 30ms to any interactive session. Thus
we define it with:
rt umax 1514b dmax 30ms rate 300kbits ls rate 500kbits
We defined ls because we want this type of traffic to aggressively
acquire excess bandwidth if we need more than we have guaranteed.
1514b/30ms~=400kbits so we have a concave service curve.
VoIP is very latency sensitive and cannot tolerate drops. We want to
add no more than 10ms latency to the traffic flow. We are figuring that
ulaw/alaw will produce the largest packets at 234b so we define it as:
rt umax 234b dmax 10ms rate 200kbits ls rate 500kbits
234b/10ms~=203kbits so we have a slightly concave service curve. This
raises an interesting question. What if we had set dmax to 20 ms? This
would have given us a convex service curve where m1 != 0. Is that
illegal? I thought the specification said any convex curves must have m1
= 0. If it is illegal and we did this by accident, what would happen?
Video is always a problem :) We need to guarantee a large amount of
bandwidth but we also do not want to be eaten alive by video. We
characterize it as very latency sensitive but we would rather tolerate
drops than queueing and unwanted latency. Hmm . . . is queue depth
induced latency even an issue with HFSC?
In any event, we want to introduce no more than 10ms latency. The
typical frame size is 16Kb and there is no difference between the rt and
ls rate so we define the class with:
sc umax 16kbits dmax 10ms rate 400kbits
Interestingly, m1 (1.6Mbps) exceeds ul. As asked previously, is this a
problem?
Web follows the example cited in my previous email. We want the text
and css of the served web pages to load quickly. Larger, non-text data
can take a back seat. We will guess that the average text is 10KB and
we want to introduce no more than 200ms to start loading the page text.
We thus define it as:
rt umax 80kbits dmax 200ms rate 200kbits ls 400 kbits
Is this setup reasonable, practical, and reflecting a proper
understanding of HFSC or have I missed the boat entirely and need to go
to the back of the class? Thanks to anyone who has taken the time to
read this novel :) - John
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists