Esempio n. 1
0
 def test_ctx_switch(self):
     self.o.ctx_switch = const(100)
     self.assertEqual(pfair.charge_scheduling_overheads(self.o, 4,  False, self.ts), self.ts)
     self.assertEqual(self.ts[0].cost, 12500)
     self.assertEqual(self.ts[1].cost,  6500)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 2
0
 def test_tick(self):
     self.o.tick = const(50)
     self.assertEqual(pfair.charge_scheduling_overheads(self.o, 4,  False, self.ts), self.ts)
     self.assertEqual(self.ts[0].cost, 11500)
     self.assertEqual(self.ts[1].cost,  6000)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 3
0
 def test_cache_affinity_loss(self):
     self.o.cache_affinity_loss = const(0.5)
     self.assertEqual(pfair.charge_scheduling_overheads(self.o, 4,  False, self.ts), self.ts)
     self.assertEqual(self.ts[0].cost, 10500)
     self.assertEqual(self.ts[1].cost,  5000)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 4
0
 def test_ipi_latency(self):
     # IPI latency is irrelevant for Pfair
     self.o.ipi_latency = const(1000)
     self.assertEqual(pfair.charge_scheduling_overheads(self.o, 4,  False, self.ts), self.ts)
     self.assertEqual(self.ts[0].cost, 10000)
     self.assertEqual(self.ts[1].cost,  5000)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 5
0
 def test_quant(self):
     self.assertEqual(
         pfair.charge_scheduling_overheads(self.o, 4, False, self.ts),
         self.ts)
     self.assertEqual(self.ts[0].cost, 10000)
     self.assertEqual(self.ts[1].cost, 5000)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 6
0
 def test_none(self):
     self.assertEqual(pfair.charge_scheduling_overheads(None, 4,  False, self.ts), self.ts)
     self.assertEqual(self.ts[0].cost, 9995)
     self.assertEqual(self.ts[1].cost,  4995)
     self.assertEqual(self.ts[0].period, 100000)
     self.assertEqual(self.ts[1].period, 50000)
     self.assertEqual(self.ts[0].deadline, 100000)
     self.assertEqual(self.ts[1].deadline, 50000)
Esempio n. 7
0
 def test_release(self):
     self.o.release = const(50)
     self.assertEqual(pfair.charge_scheduling_overheads(self.o, 4,  False, self.ts), self.ts)
     self.assertEqual(self.ts[0].cost, 11500)
     self.assertEqual(self.ts[1].cost,  6000)
     self.assertEqual(self.ts[0].period, 99000)
     self.assertEqual(self.ts[1].period, 49000)
     self.assertEqual(self.ts[0].deadline, 99000)
     self.assertEqual(self.ts[1].deadline, 49000)
Esempio n. 8
0
 def test_periodic(self):
     self.assertEqual(pfair.charge_scheduling_overheads(self.o, 4,  False, self.ts,
                                                        aligned_periodic_releases=True), self.ts)
     self.assertEqual(self.ts[0].cost, 10000)
     self.assertEqual(self.ts[1].cost,  5000)
     self.assertEqual(self.ts[0].deadline, 100000)
     self.assertEqual(self.ts[1].deadline,  50000)
     self.assertEqual(self.ts[0].period, 100000)
     self.assertEqual(self.ts[1].period, 50000)
Esempio n. 9
0
 def test_tick(self):
     self.o.tick = const(50)
     self.assertEqual(
         pfair.charge_scheduling_overheads(self.o, 4, False, self.ts),
         self.ts)
     self.assertEqual(self.ts[0].cost, 11500)
     self.assertEqual(self.ts[1].cost, 6000)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 10
0
 def test_cache_affinity_loss(self):
     self.o.cache_affinity_loss = const(0.5)
     self.assertEqual(
         pfair.charge_scheduling_overheads(self.o, 4, False, self.ts),
         self.ts)
     self.assertEqual(self.ts[0].cost, 10500)
     self.assertEqual(self.ts[1].cost, 5000)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 11
0
 def test_ctx_switch(self):
     self.o.ctx_switch = const(100)
     self.assertEqual(
         pfair.charge_scheduling_overheads(self.o, 4, False, self.ts),
         self.ts)
     self.assertEqual(self.ts[0].cost, 12500)
     self.assertEqual(self.ts[1].cost, 6500)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 12
0
 def test_ipi_latency(self):
     # IPI latency is irrelevant for Pfair
     self.o.ipi_latency = const(1000)
     self.assertEqual(
         pfair.charge_scheduling_overheads(self.o, 4, False, self.ts),
         self.ts)
     self.assertEqual(self.ts[0].cost, 10000)
     self.assertEqual(self.ts[1].cost, 5000)
     self.unchanged_period()
     self.unchanged_deadline()
Esempio n. 13
0
 def test_none(self):
     self.assertEqual(
         pfair.charge_scheduling_overheads(None, 4, False, self.ts),
         self.ts)
     self.assertEqual(self.ts[0].cost, 9995)
     self.assertEqual(self.ts[1].cost, 4995)
     self.assertEqual(self.ts[0].period, 100000)
     self.assertEqual(self.ts[1].period, 50000)
     self.assertEqual(self.ts[0].deadline, 100000)
     self.assertEqual(self.ts[1].deadline, 50000)
Esempio n. 14
0
 def test_release(self):
     self.o.release = const(50)
     self.assertEqual(
         pfair.charge_scheduling_overheads(self.o, 4, False, self.ts),
         self.ts)
     self.assertEqual(self.ts[0].cost, 11500)
     self.assertEqual(self.ts[1].cost, 6000)
     self.assertEqual(self.ts[0].period, 99000)
     self.assertEqual(self.ts[1].period, 49000)
     self.assertEqual(self.ts[0].deadline, 99000)
     self.assertEqual(self.ts[1].deadline, 49000)
Esempio n. 15
0
 def test_periodic(self):
     self.assertEqual(
         pfair.charge_scheduling_overheads(self.o,
                                           4,
                                           False,
                                           self.ts,
                                           aligned_periodic_releases=True),
         self.ts)
     self.assertEqual(self.ts[0].cost, 10000)
     self.assertEqual(self.ts[1].cost, 5000)
     self.assertEqual(self.ts[0].deadline, 100000)
     self.assertEqual(self.ts[1].deadline, 50000)
     self.assertEqual(self.ts[0].period, 100000)
     self.assertEqual(self.ts[1].period, 50000)
Esempio n. 16
0
 def test_quant(self):
     self.assertEqual(pfair.charge_scheduling_overheads(self.o, 4,  False, self.ts), self.ts)
     self.assertEqual(self.ts[0].cost, 10000)
     self.assertEqual(self.ts[1].cost,  5000)
     self.unchanged_period()
     self.unchanged_deadline()