Just made a hash of control theory....need to re-hash on monday to clarify- slides updated to show how G1 and G2 fit - see slide 23 on

control theory slides
Main point was to go through the decomposition of the control+gain+feedback

into separate boxes, to allow one to play with different controllers, and then re-compose to check the final transfer function for stability and for steady state error:- (slide update also fixes a couple of typos_

Hence, need to expand all the steps in the worked example with the video server and setpoint cpu load monitor

Will re-do on monday w/ additional steps for deriving the overall tranfer function in the s domain for the two different controllers of the CPU system whose basic (G0) behaviour is an integrator in time domain, so 1/s in Laplace transform/freq domain. this applies to the setpoint (Us) and the Mean Completion rate (Rc), so that when we look at these in the transform domain, we have the integral of them over time, which gives us a 1/s in the terms

for Us(s) -> Us/s and Rc(s) -> Rc/s

Looking at the slide where we first encounter G1 and G2, this is basically the design of a ne wsystem where G2 is what G0 was before (i.e. the video server modelled as an integrating service over time, but now with a new, regulated/controlled input), plus G2, which is the controller C, which has inputs which are the setpoint, and the demand, and outputs the new accepted/admitted flows which now go as inputs into our G2 (what was G0) who has an additional input, Rc(s) (or Rc/s).....

G0 = 1/s

Now add an (as yet unspecified) controller, C

and expand to the two stages, G1 and G2:

G1 = C.G0 / (1 + C.G0)

hence G1 = C/s (1+C/s) = C / (s + C)

G2 = G0 / (1 + C.G0)

hence G2 = 1/s / (1 + C/s) = 1 / (s + C)

Now our overall system is the composition of G1+G2, with

G1 handling the input decision, and G2 taking that plus the completion rate of work:

U(s) = G1.Uset/s + G2.Rc

so proportional controller just as C = K

and proportional-integral (PI) controller has C = K(1 + Ki/s)

where K and Ki are the constants to be chosen by designer:)

U(s) = C.Uset/s.(s+C) + Rc / (s+C) 1.

which with C=K

( a proportional controller), gives

U(s) = K.Uset/s.(s+K) + Rc / (s+K)

Proportional controller:

stability: pole at s=-K, therefore ok.

error: lim of s.U(s)

= s . [K.Uset/s.(s+K) + Rc(s) / (s+K) ]

assume Rc(s) = Rc/s (i.e. Rc doesn't vary fast compared with feedback loop time)

= s. [K.Uset/s.(s+K) + Rc /s.(s+K) ]

= [ K.Uset - R / (s+K) ]

which as s->0, goes to

Uset - Rc/K - so the error is Rc/K

For PI controller, put C = K(1 + Ki/s) in to 1 instead

G1=C G0 / (1 + C G0)

G2= G0 / (1 + C G0)

C = K(1+Ki/s)

G0 = 1/s

so G1 = K/s(1+Ki/s) / (1 + K/s(1+Ki/s)) (* top and bottom by s^2)

= (Ks + KKi) / (s^2 + Ks + KKi)

G2 = 1/s / (1 + K/s(1+Ki/s)) (* top and bottom by s^2)

= s / (s^2 + Ks + KKi)

response = Us G1 / s + Rc / s G2

....need to do this in tex:)

If people are interested in the stability of TCP's AIMD, then I have to say that its complex - to my knowledge, no-one has shown it for a network with FIFO "drop tail" queues, and heterogeneous RTTs - however, with an Active Queue Management system (like RED - see upcoming lectures on Scheduling and QUeue Management) there are some solutions - see

1.

paganini's proof
and

2.

INRIA work