Tuesday, 13 November 2012

BFS related

Unfortunately my life remains in disarray with respect to dealing with my brother's issues.

However a couple of BFS related things came in my mail and I thought I'd share them.

One is graysky's performance comparison of current schedulers across various hardware in this comprehensive pdf:

cpu_schedulers_compared.pdf

The second is this rather cute set of T-shirts that Teb had made for himself and his girlfriend:


17 comments:

  1. My other scheduler? Pff. I only use BFS :P

    ReplyDelete
  2. Many thanks, Con, for sharing these two with us.
    Both are impressive contributions to encourage you in moments...

    Con, do you have a mascot or a special attitude to one of your countries animals? Maybe we can improve Teb's T-shirt idea by having a Tux kissing your mascot? And replacing the 'other' with 'ONLY' :-)

    @graysky: Great and beautiful work! Could you provide the approx. size of the video-benchmarked file? Just to find how it fits into the RAM of the tested unicore Athlon system (1GB) when decompressed. And how is the base utilisation of memory used by this system and desktop when running the tests, is it swapping? What desktop do you use when testing?

    Best wishes to all of you!

    Manuel

    ReplyDelete
  3. The video is 212 M. Just a standard HDTV mpeg2 stream.
    % mediainfo 2m-720p.mpg
    General
    Complete name : 2m-720p.mpg
    Format : AVI
    Format/Info : Audio Video Interleave
    Commercial name : HDV 720p
    File size : 211 MiB
    Duration : 2mn 0s
    Overall bit rate mode : Variable
    Overall bit rate : 14.7 Mbps

    Video
    ID : 0
    Format : MPEG Video
    Commercial name : HDV 720p
    Format version : Version 2
    Format profile : Main@High
    Format settings, BVOP : Yes
    Format settings, Matrix : Custom
    Format settings, GOP : M=3, N=15
    Codec ID : MPEG
    Codec ID/Info : Chromatic MPEG 1 Video I Frame
    Duration : 2mn 0s
    Bit rate mode : Variable
    Bit rate : 14.3 Mbps
    Maximum bit rate : 18.6 Mbps
    Width : 1 280 pixels
    Height : 720 pixels
    Display aspect ratio : 16:9
    Frame rate : 59.940 fps
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Compression mode : Lossy
    Bits/(Pixel*Frame) : 0.258
    Stream size : 205 MiB (97%)
    Alignment : (c)2004 Saar Software
    Title : (c)2004 Saar Software
    Writing library : (c)2004 Saar Software

    Audio
    ID : 1
    Format : AC-3
    Format/Info : Audio Coding 3
    Mode extension : CM (complete main)
    Format settings, Endianness : Big
    Codec ID : 2000
    Duration : 2mn 0s
    Source duration : 2mn 0s
    Bit rate mode : Constant
    Bit rate : 384 Kbps
    Channel(s) : 2 channels
    Channel positions : Front: L R
    Sampling rate : 48.0 KHz
    Bit depth : 16 bits
    Compression mode : Lossy
    Stream size : 5.52 MiB (3%)
    Alignment : Aligned on interleaves
    Interleave, duration : 32 ms (1.92 video frames)

    ReplyDelete
  4. I read around here that someone wanted hight revision numbers on the long term stable 3.4 branch but I cannot find the post.
    Just in case : I made a ck-patched 3.4.18 in Gentoo.
    So, if using Gentoo, just emerge =ck-sources-3.4.18

    If not using Gentoo, then one will need his fingers and follow this procedure :

    1/ From http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-kernel/ck-sources/files/ download the following files :

    A : ck-sources-3.4-3.5-PostCK-Sched_Fix_Race_In_Task_Group-aCOSwt_P5.patch
    B : ck-sources-3.4-3.5-PreCK-Sched_Fix_Race_In_Task_Group-aCOSwt_P4.patch
    C : ck-sources-3.4.9-calc_load_idle-aCOSwt_P3.patch

    2/ Put these patches in the base directory of a 3.4.18 stock Linux source distribution as well as the bunzipped patch-3.4-ck3.bz2

    3/ Apply the patches (-p1) in the following STRICT order :
    - Patch B
    - patch-3.4-ck3.bz2
    - Patch A
    - Patch C

    4/ Here you are! Config and build, things should go fine, has been running on one system here for two weeks troublefree and performances in line with 3.4.9

    Hope this helps.

    ReplyDelete
    Replies
    1. Excellent! Thank you.

      Galen

      Delete
    2. I responded previously to say thank you for this patch. I plan to use these on my system. My previous post was removed with the spam. ;)

      Galen

      Delete
    3. Happy it helps...
      Oh wait... I made a mistake in my post :

      Patches are to be applied -p1, Patch C EXCEPTED.
      As a matter of fact, Patch C is to be applied -p0

      Delete
    4. I am using 3.4.24 with ck3! Thanks again. I re-diff'ed Patch C to be -p1, so that I could use a script for building the rpm's.

      Galen

      Delete
  5. Damn spambots.

    ReplyDelete
  6. I wanted to show folks a pretty nice patch written by André Ramnitz. It allows one more options when compiling a kernel for CPU families. Complete list included at the bottom of this post. I tested it using three different x86_64 machines running a generic x86-64 kernel and an otherwise identical kernel running with the optimized gcc options.

    Conclusion:
    There are small but real speed increases using a make endpoint to running with this patch.

    Patch:
    http://repo-ck.com/source/gcc_patch/kernel-36-gcc47-1.patch.gz

    Details:
    1) Three test machines: Intel Xeon X3360, Intel i7-2620M, Intel Core i7-3660K.
    2) All ran the make benchmark (linked below) 35 times while booted into a 'generic' kernel. Then all ran the same make benchmark 35 times after booting into an optimized kernel. Below are the optimizations chosen for each machine.
    2a) X3360 = core2
    2b) i7-2620M = corei7-avx
    2c) i7-3660K = core-avx-i
    3) Analyzed resulting distributions for statistical significance via ANOVA plots that clearly show statistically significant albeit small differences.

    Links to ANOVA plots:
    http://s19.postimage.org/68urcofzn/corei7_avx.png
    http://s19.postimage.org/ozwomuak3/core_avx_i.png
    http://s19.postimage.org/d0l6fj4z7/core2.png

    References:
    Bash script that controls the benchmark: https://github.com/graysky2/bin/blob/master/bench
    Log file generated by script: http://repo-ck.com/bench/compile_time_optimization.txt.gz

    ReplyDelete
  7. Interesting, thanks Graysky.

    I wonder which one should I choose for a Core i3 ?

    "Intel Core i7"
    Select this for the Intel Nehalem platform. Intel Nehalem proecessors
    include Core i3, i5, i7, Xeon: 34xx, 35xx, 55xx, 56xx, 75xx processors.

    or

    "Intel Core 2nd Gen AVX"
    Select this for 2nd Gen Core processors including Sandy Bridge.

    ReplyDelete
  8. You'll need to look in your /proc/cpuinfo since there are several versions of the i3 chips. Is it, Nehalem, Sandy Bridge, or Ivy Bridge?

    % cat /proc/cpuinfo

    Good links for you:
    http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel
    http://en.gentoo-wiki.com/wiki/Safe_Cflags/AMD
    http://www.linuxforge.net/docs/linux/linux-gcc.php
    http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html

    ReplyDelete
  9. The 3.7 Kernel is out!!! :)

    ReplyDelete
  10. This comment has been removed by a blog administrator.

    ReplyDelete
  11. This comment has been removed by a blog administrator.

    ReplyDelete
  12. This comment has been removed by a blog administrator.

    ReplyDelete