воскресенье, 1 сентября 2013 г.

Прогресс не остановить...

Где-то в районе зимы я прикупил по-дешёвке одноюнитовый сервер с PCI-Express слотом для забав с FPGA-платой. Вот решил проверить, как на нём компилироваться дела всякие будут, а то вдруг сервак быстрей ноута окажется? И есть подвал, куда его можно отнести, чтобы шумом не донимал.

Значит, лицензионный Xilinx ISE привязан под MAC-адрес сетевухи ноута, сервак торчит в домашнюю сеть через ноут (лень...), поэтому поднять dummy-сетевуху с нужным MAC'ом не получится: будет конфликт с оным у ноута. Решил проверить на сборке SBCL, который, по старой памяти, собирался ну уж очень долго.

Ноут у меня уже престарелый считается, IdeaPad y460p, с таким железом:

Процессор i7-2630QM (Sandy Bridge ), 4 ядра, HT включен, всего 8 логических ядер с сопутствующими HT плюсами и минусами:

model name    : Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz
cpu MHz        : 800.000
cache size    : 6144 KB
bogomips    : 3990.87

 Сервак построен на двух Xeon'ах:

model name    : Intel(R) Xeon(R) CPU           L5420  @ 2.50GHz
cpu MHz        : 2499.996
cache size    : 6144 KB
bogomips    : 4999.99

То бишь, низковольтовая версия Harpertown, что на микроархитектуре Penryn, т.е. Core2. Жаль, что хотя бы не Nehalem, но Core2 тоже быстрый, в принципе.

Памяти по 8 гб, ОС одинаковые (RHEL-6.4).

Значит, сборка SBCL (/usr/bin/time -v ./make.sh ) на ноутбуке с жёсткого диска:

    Command being timed: "./make.sh"
    User time (seconds): 312.90
    System time (seconds): 36.23
    Percent of CPU this job got: 35%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 16:19.58

Для точности пересобрал ещё раз, ибо ноут был занят роутингом пакетов для обновляющегося сервака:

    Command being timed: "./make.sh"
    User time (seconds): 315.18
    System time (seconds): 34.54
    Percent of CPU this job got: 105%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 5:30.78

И с /dev/shm, т.е. гарантированно всё в памяти:

    Command being timed: "./make.sh"     User time (seconds): 312.63
    System time (seconds): 33.49
    Percent of CPU this job got: 104%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 5:29.76

Сборка на Xeon'е с диска:

    Command being timed: "./make.sh"
    User time (seconds): 380.68
    System time (seconds): 42.54
    Percent of CPU this job got: 103%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 6:49.06

Из памяти:

    Command being timed: "./make.sh"
    User time (seconds): 382.02
    System time (seconds): 41.69
    Percent of CPU this job got: 104%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 6:44.71

Забавно, Xeon оказался медленней... И разница в скорости дисков не при чём.

Померял пропускную способность памяти, на ноуте один канал выдал 14543.6 MB/s, на двух каналах - два раза по 9168.1 MB/s, т.е. 18.3 Гб/c.

У Xeon'а почему-то ожидался паритет, ибо Xeon'ы (или их чипсеты в старом железе) традиционно имеют больше каналов памяти, а в серваке торчит 4 планки. Ну, плюс ещё думал, что NUMA имеет место быть, т.е. половина ядер с памятью будет медленней чуток работать.



На самом деле намерялось всего лишь 3699.2 MB/s, каналов два штуки задействованы, и на обоих намерялось 2744.1 MB/s * 2 = 5.5 Гб/с.


На ноуте dmidecode --type 17 сообщает, что планок памяти две штуки DDR3-1333:

Handle 0x0011, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x0010
        Error Information Handle: No Error
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 4096 MB
        Form Factor: SODIMM
        Set: 1
        Locator: DIMM0
        Bank Locator: BANK 0
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1334 MHz
        Manufacturer: 80CE           
        Serial Number: 772CD837       
        Asset Tag: 1107
        Part Number: M471B5273CH0-CH9 
        Rank: Unknown


У Xeon'а, как говорил, планок 4 штуки, но они DDR2-667:

Handle 0x0016, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0015
        Error Information Handle: No Error
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 2048 MB
        Form Factor: DIMM
        Set: 1
        Locator: CH0_DIMM0
        Bank Locator: DIMM 0-1
        Type: DDR2
        Type Detail: Synchronous
        Speed: 667 MHz
        Manufacturer: 7F7F7F7F7F510000                               
        Serial Number: 1502BB27 
        Asset Tag: 
        Part Number: 72T256920EP3SB2

Между железками разницы года три-четыре, а чисто по скорости памяти потребительский ноутбук в три с лишним раза шустрей сервера... Смысла в использовании моего Xeon'а в качестве числомолотилки нет, ибо он ещё и греется, как утюг. И ревёт вентиляторами при этом. Так, 8-ядерный PCIe-переходник для ноутбука...

Комментариев нет:

Отправить комментарий