Re: On schedulers
- From: Jeff Roberson <jroberson@xxxxxxxxxxxxxx>
- Date: Fri, 3 Aug 2007 03:51:39 -0700 (PDT)
On Thu, 2 Aug 2007, Jeff Roberson wrote:
On Thu, 2 Aug 2007, Niki Denev wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ivan Voras wrote:Hi,
I've just stumbled on the LKML (via Slashdot) discussion on schedulers,
nicely compiled here: http://kerneltrap.org/node/14023 . I don't think
3D performance is of concern for FreeBSD, but I'm wondering how would
ULE and the latest incarnation of 4BSD fare in that discussion?
Specifically, I'm interested in this result in Linux:
2.6.22-ck1 2.6.22-cfs-v19
------------------------ ------------------------
quake + 0 loops | 41 fps quake + 0 loops | 41 fps
quake + 1 loop | 3 fps quake + 1 loop | 41 fps
quake + 2 loops | 2 fps quake + 2 loops | 32 fps
quake + 3 loops | 1 fps quake + 3 loops | 24 fps
quake + 4 loops | 0 fps quake + 4 loops | 20 fps
quake + 5 loops | 0 fps quake + 5 loops | 16 fps
(for the impatient: the benchmark is of running quake with several "idle
loop" processes, presumably on a single CPU machine. On the left is the
SD (staircase deadline) and on the right is the CF (completely fair)
scheduler).
How would this behave on FreeBSD? Is there a paper on how ULE should
behave / is modeled?
This is on a Intel C2D E6420 with 2G of ram,
Nvidia 7900GTO (nvidia-driver-1.0.9746)
running xorg-server-6.9.0_5 on a recent -CURRENT :
idle is basicaly a small C program with just for(;;); in its main()
function.
I've run glxgears for 20 secs each (to get four reports)
Both idle and glxgears are run as normal user.
Can you tell me what % cpu is going to each process during this time? These results are surprising. For workloads like this ULE should essentially implement a 'fair' scheduling policy. However, so should 4BSD. So I'm not yet sure why the slowdown wouldn't be relative to the number of running threads. Also, 'vmstat 1' output would be useful.
Can I recreate this test without a fancy video card? I have the following in my laptop:
vgapci0@pci1:0:0: class=0x030000 card=0x054f1014 chip=0x4e541002 rev=0x80
hdr=0x00
vendor = 'ATI Technologies Inc.'
device = 'Radeon Mobility M10 NT (RV350-WS)'
Well this must behave very differently when you have hardware acceleration. I for example see ~288 fps with no other cpu hogs running. This consumes 100% of the cpu. With 1 cpu hog running I see ~148. With two I see ~100 fps. It's also worth noting that at no time does interactivity suffer.
My 'idle' is called loop.sh as I don't think it's particularly idle. ;-) Here it is:
while true; do
echo -n;
done;
This does no system calls and spends all of it's time in user-space.
Thanks,
Jeff
_______________________________________________
Thanks,
Jeff
_______________________________________________
SMP+ULE 0 idle
101446 frames in 5.0 seconds = 20289.099 FPS
101590 frames in 5.0 seconds = 20317.975 FPS
101701 frames in 5.0 seconds = 20340.037 FPS
101489 frames in 5.0 seconds = 20297.670 FPS
SMP+ULE 1 idle
97430 frames in 5.0 seconds = 19485.840 FPS
102176 frames in 5.0 seconds = 20435.017 FPS
102402 frames in 5.0 seconds = 20480.318 FPS
102430 frames in 5.0 seconds = 20485.865 FPS
SMP+ULE 2 idle
30 frames in 5.0 seconds = 5.978 FPS
31 frames in 5.0 seconds = 6.182 FPS
31 frames in 5.0 seconds = 6.172 FPS
30 frames in 5.2 seconds = 5.744 FPS
SMP+ULE 3 idle
29 frames in 5.2 seconds = 5.631 FPS
30 frames in 5.0 seconds = 5.952 FPS
31 frames in 5.1 seconds = 6.054 FPS
32 frames in 5.2 seconds = 6.213 FPS
SMP+ULE 4 idle
21 frames in 5.1 seconds = 4.151 FPS
20 frames in 5.1 seconds = 3.942 FPS
21 frames in 5.2 seconds = 4.066 FPS
20 frames in 5.2 seconds = 3.841 FPS
UP+ULE 0 idle
102152 frames in 5.0 seconds = 20430.299 FPS
102572 frames in 5.0 seconds = 20514.236 FPS
102533 frames in 5.0 seconds = 20506.522 FPS
102129 frames in 5.0 seconds = 20425.654 FPS
UP+ULE 1 idle
21 frames in 5.1 seconds = 4.158 FPS
24 frames in 5.2 seconds = 4.624 FPS
26 frames in 5.0 seconds = 5.153 FPS
28 frames in 5.0 seconds = 5.586 FPS
UP+ULE 2 idle
21 frames in 5.1 seconds = 4.093 FPS
21 frames in 5.1 seconds = 4.093 FPS
21 frames in 5.1 seconds = 4.115 FPS
21 frames in 5.1 seconds = 4.115 FPS
UP+ULE 3 idle
20 frames in 5.3 seconds = 3.804 FPS
19 frames in 5.2 seconds = 3.624 FPS
19 frames in 5.2 seconds = 3.619 FPS
19 frames in 5.3 seconds = 3.612 FPS
UP+ULE 4 idle
19 frames in 5.3 seconds = 3.600 FPS
17 frames in 5.0 seconds = 3.388 FPS
17 frames in 5.0 seconds = 3.393 FPS
17 frames in 5.0 seconds = 3.380 FPS
SMP+4BSD 0 idle
102440 frames in 5.0 seconds = 20487.893 FPS
102285 frames in 5.0 seconds = 20456.848 FPS
102276 frames in 5.0 seconds = 20455.065 FPS
102312 frames in 5.0 seconds = 20462.289 FPS
SMP+4BSD 1 idle
101798 frames in 5.0 seconds = 20359.526 FPS
102732 frames in 5.0 seconds = 20546.202 FPS
102619 frames in 5.0 seconds = 20523.692 FPS
102788 frames in 5.0 seconds = 20557.526 FPS
SMP+4BSD 2 idle
6 frames in 5.0 seconds = 1.193 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
SMP+4BSD 3 idle
6 frames in 5.0 seconds = 1.193 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
SMP+4BSD 4 idle
6 frames in 5.0 seconds = 1.193 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
UP+4BSD 0 idle
102864 frames in 5.0 seconds = 20572.665 FPS
102569 frames in 5.0 seconds = 20513.792 FPS
102559 frames in 5.0 seconds = 20511.775 FPS
102333 frames in 5.0 seconds = 20466.543 FPS
UP+4BSD 1 idle
6 frames in 5.0 seconds = 1.193 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
UP+4BSD 2 idle
6 frames in 5.0 seconds = 1.193 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
UP+4BSD 3 idle
6 frames in 5.0 seconds = 1.193 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
UP+4BSD 4 idle
6 frames in 5.0 seconds = 1.193 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
5 frames in 5.0 seconds = 0.994 FPS
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGscadHNAJ/fLbfrkRAnDOAJ9yipwexiBUrZbS3RJ5R0YDZyn4pACfS/Od
gMVwrhA3NYlaQkPNOaEZ7S8=
=98Za
-----END PGP SIGNATURE-----
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: On schedulers
- From: Ivan Voras
- Re: On schedulers
- References:
- Re: On schedulers
- From: Niki Denev
- Re: On schedulers
- From: Jeff Roberson
- Re: On schedulers
- Prev by Date: Re: Fine grain select locking.
- Next by Date: read-write SQL performance
- Previous by thread: Re: On schedulers
- Next by thread: Re: On schedulers
- Index(es):
Relevant Pages
|
|