operating system: design and implement final proposal scheduler 499410007 周長毅, 499410055...

Post on 12-Jan-2016

236 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

OPERATING SYSTEM: DESIGN AND IMPLEMENTFINAL PROPOSALSCHEDULER

499410007 周長毅 , 499410055 周榆豐

Outline

Motivation Purpose Theory

O(1) Scheduler CFS, Complete Fair Scheduler BFS, Brain Fuck Scheduler

Testing - Linux Result

Motivation

Wish to enhance smartphone’s performance by modifying operating system’s kernel.

But we encountered some problem when patching kernel.

So testing platform move to Linux on PC from Android on HTC Evo 3D.

Still use regular benchmark to test performance.

Purpose

More familiar with Operating System’s Scheduler we use in common.

Compare the special feature, pros and cons in actual use.

Theory

O(1) Scheduler CFS, Complete Fair Scheduler BFS, Brain Fuck Scheduler

O(1) Scheduler

Active

Expired

Task1

Task2

Task3

Task4

Task5

Task6

Go to Blank Page

CFS

Go to Blank Page

BFS

Key Point : jiffies + (prio_ratio * rr_interval)

Go to Blank Page

Testing – Machine

Testing Machine: CPU = Intel Xeon E3-1230 v2 (3.3GHz, 4C8T) RAM = 8GB DDR3-1600 x4 MB = Gigabyte GA-PH67-UD3-B3 HDD = Hitachi HDS723020BLA642 (2TB

7200rpm) Virtual Machine software = Vmware Player 6.0.2 Testing Software = Phoronix Test Suite v5.2.0

8 threads and 12GB RAM are allocated for guest system

Testing – How to play with BFS?

You need to prepare Kernel Source Code

from kernel.org BFS patch that

support your kernel’s version from BFS’s author.

Other component you need to compile Linux kernel.

Time, of course.

Testing – How to play with BFS?

Use “Patch” command to patch BFS into kernel.

You will see option about BFS in “make menuconfig” if no error is encountered.

Testing – How to play with BFS?

If you encountered errors you may see like this.

That’s why we can’t test on HTC Evo 3D.

But some foreign programmer DID this on other Android devices.

And the most exaggerated is you can’t patch the kernel version 3.0.101 on kernel.org.

Testing – Testing software

Becouse we are not familiar with Linux and don’t know how to benchmark in Linux, so we use “Phoronix Test Suite” to benchmark.

“Phoronix Test Suite” has tons of options we can choose, but we don’t know

So we use ”Run Complex System Test” in main menuto benchmark

Testing – Testing option

In ”Run Complex System Test”, it will benchmark 4 item, they are: PostMark: Simulate a small E-mail server

and test about it. RAMspeed SMP: Benchmark the memory

bandwidch. C-Ray: Bench the performance of CPU’s

flouting point calculation. Apache Benchmark: Simulate some

environments and test the response performance about Apache.

Result

Completely Fair Scheduler

Brain Fuck Scheduler

Result

CFS

BFS

3000 3500 4000

PostMark Score

PostMark Score

CFS

050

00

1000

0

1500

0

Apache BenchmarkApache Benchmark

But CFS’s performance is 32% highter than BFS in “Apache Benchmark”

BFS’s performance is 11% highter than CFS in “PostMark”.

END

That’s all.

O(1) CFS BFS

top related