Top speed kernels and elevators

Discussion in 'Linux, Freebsd, *nix' started by altblitz, 13 Dec 2015.

  1. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,691
    Likes Received:
    3,145
    Reputations:
    236
    Внимание.
    Эксперимент на скорость и интерактивность/отзывчивость с разными нагрузками и задачами проведён со всеми тремя нижеописанными kernels/schedulers/elevators, результаты получены, итоги подведены. Всё получилось.

    Статья написана, и сейчас идёт её оформление как нужно, по правилам и возможностям движка форума.
    Приношу извинения за (временное) неудобство ознакомления с результатами.

    В эко-системе GNU/Linux, скорость выполнения задач зависит не только от, и определяется не столько hardware конкретно взятой системы, сколь возможностью полностью реализовать потенциальные возможности hardware.

    Пример полного использования возможностей hardware в GNU/Linux в зависимости от задач и самого hardware - FS (файловые системы), начиная от файловых систем для специализированных задач - ZFS для баз данных, до F2FS (Flash-Friendly File System), специализированных для работы с определёнными типами носителей, SSD/SD cards/Flash.

    До августа 2009, монополию в одном из самых важных составляющих Linux kernel - scheduler, держал и близко никого не подпускал к святым коровам CFS - Complete Fairness Scheduler, в алгоритме которого заложена идея "равного (fair) распределение вычислительной мощности CPU среди всех процессов". 1

    В 2009 году, Блиц и Котёнка Кисс зарегистрировались на Античате и в честь этого события Con Kolivas, идеи которого воплотились в CFS, выпустил BFS - Brain Fuck Scheduler.
    В основе алгоритма BFS - упрощение алгоритма CFS для компьютинг девайсов до 16 ядер. Для десктоп компьютеров и для задач, для которых десктопы предназначены. 2


    BFQ - Budget Fair Queueing Scheduler, низко-латентный диспетчер для интерактивных и real-time задач с высокой пропускной способностью I/O операций. Данный диспетчер используется в разных формах такими поделиями, как Manjaro, OpenMandriva, Sabayon, Arch Linux, ROSA, PCLinuxOS, Gentoo, zen-kernel, pf-kernel, а также CyanoGenMod. 3


    Сравнительные результаты скорости и задержек/латентности kernels в зависимости от симулируемых задач:

    Code:
    Using 1600000 loops per ms, running every load for 30 seconds
    Benchmarking kernel 4.3.3-1-ARCH
    
    --- Benchmarking simulated cpu of Video in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU  % Deadlines Met
    Burn    0.0 +/- 0.0  0.0      100    100
    Write    0.2 +/- 1.8  43.0     99.8    99.5
    Read    0.1 +/- 0.2  4.1      100    100
    Compile    4.4 +/- 13.5  102.0     85.5    81.5
    
    --- Benchmarking simulated cpu of X in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU  % Deadlines Met
    Burn    18.4 +/- 33.7  102.0     32.4    22.4
    Write    5.7 +/- 21.6  144.0     76.2    72.4
    Read    0.0 +/- 0.2  3.0      100    99.7
    Compile    50.2 +/- 74.6  240.0     20.7    9.73
    
    --- Benchmarking simulated cpu of Gaming in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU
    Burn    22.9 +/- 40.7  103.9     81.4
    Write    7.1 +/- 29.3  206.9     93.4
    Read    0.0 +/- 0.0  0.0      100
    Compile    79.0 +/- 134.3  667.6     55.9
    
    
    Using 1600000 loops per ms, running every load for 30 seconds
    Benchmarking kernel 4.3.3-1-bfq
    
    --- Benchmarking simulated cpu of Video in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU  % Deadlines Met
    Burn    0.0 +/- 0.0  1.3      100    100
    Write    0.2 +/- 1.5  36.2     99.9    99.6
    Read    0.1 +/- 0.3  3.9      100    100
    Compile    4.1 +/- 13.2  113.9     84.6    80.5
    
    --- Benchmarking simulated cpu of X in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU  % Deadlines Met
    Burn    20.5 +/- 36.2  98.0     28.5    19.2
    Write    6.4 +/- 22.8  130.0      78    73.1
    Read    0.0 +/- 0.0  0.1      100    100
    Compile    43.7 +/- 72.1  275.0     24.2    12.2
    
    --- Benchmarking simulated cpu of Gaming in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU
    Burn    27.8 +/- 45.3  109.3     78.2
    Write    6.2 +/- 27.5  146.7     94.2
    Read    0.0 +/- 0.0  0.0      100
    Compile    78.5 +/- 160.8  703.3      56
    
    
    Using 1600000 loops per ms, running every load for 30 seconds
    Benchmarking kernel 4.3.3-1-ck
    
    --- Benchmarking simulated cpu of Video in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU  % Deadlines Met
    Burn    0.0 +/- 0.0  0.0      100    100
    Write    0.0 +/- 0.1  4.4      100    100
    Read    0.1 +/- 0.3  3.8      100    100
    Compile    0.4 +/- 2.4  20.5      100    98
    
    --- Benchmarking simulated cpu of X in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU  % Deadlines Met
    Burn    2.9 +/- 7.3  28.0     69.8    61.2
    Write    0.9 +/- 4.7  52.0     86.6    84.1
    Read    0.0 +/- 0.0  0.0      100    100
    Compile    14.1 +/- 31.6  132.0     34.9    26.4
    
    --- Benchmarking simulated cpu of Gaming in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU
    Burn    22.1 +/- 22.4  30.6     81.9
    Write    2.5 +/- 7.5  52.5     97.5
    Read    0.0 +/- 0.0  0.0      100
    Compile    72.8 +/- 85.1  176.5     57.9
    
    
    Using 1600000 loops per ms, running every load for 30 seconds
    Benchmarking kernel 4.3.3-1-ck -Ofast at datestamp 201512191008
    
    --- Benchmarking simulated cpu of Video in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU  % Deadlines Met
    Burn    0.0 +/- 0.0  0.0      100    100
    Write    0.0 +/- 0.0  0.7      100    100
    Read    0.1 +/- 0.3  3.8      100    100
    Compile    0.4 +/- 2.6  22.7      100    97.7
    
    --- Benchmarking simulated cpu of X in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU  % Deadlines Met
    Burn    2.5 +/- 6.7  24.0     71.2    63.2
    Write    0.8 +/- 4.3  39.0     86.7    85
    Read    0.0 +/- 0.0  0.0      100    100
    Compile    14.1 +/- 30.1  124.0     33.5    25.3
    
    --- Benchmarking simulated cpu of Gaming in the presence of simulated ---
    Load   Latency +/- SD (ms)  Max Latency  % Desired CPU
    Burn    21.6 +/- 22.0  33.3     82.2
    Write    2.3 +/- 7.0  53.1     97.7
    Read    0.0 +/- 0.0  0.0      100
    Compile    74.5 +/- 89.0  182.3     57.3
    

    1 https://en.wikipedia.org/wiki/Completely_Fair_Scheduler#Algorithm
    2 https://linux.slashdot.org/story/09...turns-with-a-desktop-oriented-linux-scheduler
    3 http://algo.ing.unimo.it/people/paolo/disk_sched/
     
    #1 altblitz, 13 Dec 2015
    Last edited: 19 Dec 2015