AS201281 Wiki

Your check engine light is on!

User Tools

Site Tools


studies:re56:re56_scheduler_proportional_fair

Proportional fair

This scheduler algorithm is a mix between the 2 previous algorithms : round-robin & max-CQI. It combines the equity principle of round-robin and the throughput optimization principle of max-CQI.

Proportional fair allocates resources to the UE which maximize the metric following :

metric = “instant reachable throughput” / “throughput average”

Pseudo code algorithm:

ProportionalFair (List<User> users, List<RBG> rbgs) {

List<User> data2send;
foreach User u in users {
	if (u->queue.notEmpty()) {
		u->instantThroughput = u.updateThroughput();
		u->PFmetric = u->instantThroughput / u->averageThroughput;
		if (data2send.isEmpty()) {
			data2send.add(u);
		else {
			foreach User u2 in data2send {
				if (u->PFmetric < u2->PFmetric) {
					data2send.addBeforeU2(u);
				}
			}
		}
	}
}
boolean full = false;
foreach User u in data2send {
	while (u->queue.notEmpty()) {
		if  (rbgs.notFull()) {
			rbgs.add(u->queue.getFirst());
		}
		else {
			full = true;
			break;
		}
	}
	if (full) {
		break;
	}
}

}

studies/re56/re56_scheduler_proportional_fair.txt · Last modified: 2021/01/04 20:41 by 127.0.0.1