powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Benchmark Cache' и поиск стука в подвале
11 сообщений из 11, страница 1 из 1
Benchmark Cache' и поиск стука в подвале
    #39123170
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у меня нода на ESXi 6, на машине с процом Intel(R) Xeon(R) CPU X3450 @ 2.67GHz
И есть на скорую руку набросанный "бенчмарк" - в прикрепленном файле.
на скорую руку набросанный "бенчмарк" из прикрепленного файлаClass User.SpeedTest [ Abstract ]
{

/// do ##class(User.SpeedTest).SpeedTest()
ClassMethod SpeedTest() As %Status
{
  do $zf(-1,"cat /proc/cpuinfo | grep ""model name"" | uniq")
  do $zf(-1,"cat /proc/cpuinfo | grep ""cache size"" | uniq")  
  do $zf(-1,"uname -srv")
  w $ZV,!
  
  set icount = 1E6
  w "Pass 1 - simple local operation benchmark    "
  set starttime = $ZH
  for i=1:1:icount {
    set random = $random(1000)
    set curdate = $ZD(+$H,3)
    set month = $ZDH($p(curdate,"-",1,2)_"-01",3)
    set month = month + random
    set tmp = i * random
    set inc = $increment(tmp,month)    
  }
  set stoptime = $ZH
  w (stoptime-starttime)_"s ~ "_(i/(stoptime-starttime))_"cps",!

  kill ^||month
  w "Pass 2 - private global operation benchmark  "  
  set starttime = $ZH
  for i=1:1:icount {
    set random = $random(1000)
    set curdate = $ZD(+$H,3)
    set ^||month = $ZDH($p(curdate,"-",1,2)_"-01",3)
    set ^||month = ^||month + random
    set tmp = i * random
    set inc = $increment(^||month,tmp)
  }
  set stoptime = $ZH
  w (stoptime-starttime)_"s ~ "_(i/(stoptime-starttime))_"cps",!
  kill ^||month
  
  w $ZDT($H,3),!
  
  quit 1
}

}

Создаю виртуалку с CentOS 6.7 - Linux 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 18:01:38 UTC 2015
и делаю два теста на двух версиях Cach'e
Код: html
1.
2.
3.
4.
5.
6.
7.
Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2014.1.4 (Build 803_1U) Thu Jul 23 2015 18:08:17 EDT
Pass 1 - simple local operation benchmark    2.794729s ~ 357816.446603588398cps
Pass 2 - private global operation benchmark  4.825136s ~ 207248.0444074529713cps

Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2015.2.1 (Build 705U) Mon Aug 31 2015 16:53:38 EDT
Pass 1 - simple local operation benchmark    2.5373s ~ 394119.7335750601033cps
Pass 2 - private global operation benchmark  4.435325s ~ 225462.6211157017806cps


Вижу что 2015 немного быстрее 2014

Теперь в эту же виртуалку ставлю CentOS 7.1 - Linux 3.10.0-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07 UTC 2015
и делаю те же два теста на двух версиях Cach'e
Код: html
1.
2.
3.
4.
5.
6.
7.
Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2014.1.4 (Build 803_1U) Thu Jul 23 2015 18:08:17 EDT
Pass 1 - simple local operation benchmark    3.645441s ~ 274315.2337398959413cps
Pass 2 - private global operation benchmark  5.662981s ~ 176585.4414839110355cps

Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2015.2.1 (Build 705U) Mon Aug 31 2015 16:53:38 EDT
Pass 1 - simple local operation benchmark    3.496129s ~ 286030.6355972562797cps
Pass 2 - private global operation benchmark  5.280198s ~ 189386.8373875373613cps


и ... вижу нехилое такое падение производительности 18-25% :(

Запуск "openssl speed md5 sha512 aes-256-cbc" на обоих OS выдает практически одинаковые цифры,
то есть можно допустить что производительность "виртуалки" не меняется

Может кто либо провести схожие тесты или хотя бы тесты на 7-й ветке rhel ?
И конечно же высказать мысли по поводу стука в подвале ?
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39123222
Timur Safin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересное наблюдение. Можем помочь разобраться - обращайтесь напрямую к нам в офис.
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39123902
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ptn,

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
Cache for Windows (x86-32) 2010.1.2 (Build 600.0_SU) Tue May 25 2010 20:27:57 EDT (8-битная)
Pass 1 - simple local operation benchmark    .902699s ~ 1107788.975062562382cps
Pass 2 - private global operation benchmark  1.692024s ~ 591008.1653688127355cps
2015-12-09 13:00:05

Cache for Windows (x86-32) 2015.2.1 (Build 705U_SU) Tue Sep 1 2015 09:44:03 EDT (unicode)
Pass 1 - simple local operation benchmark    .906508s ~ 1103134.224959956228cps
Pass 2 - private global operation benchmark  1.769613s ~ 565095.3061488585357cps
2015-12-09 12:57:47


CPU i5-2500 3.3GHz Win XP (без виртуализации)
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39124103
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PtnМожет кто либо провести схожие тесты или хотя бы тесты на 7-й ветке rhel ?
Схожий тест на Windowstest.macSpeedTest() {
  
  #dim ex As %Exception.AbstractException

  w $ZV,!!
  k ^||month
  s icount = 1E6

  try {
    
    w "Pass 1 - simple local operation benchmark"
    s starttime = $ZH
    f i=1:1:icount {
      s random = $R(1000),
      month = $ZDH($P($ZD(+$H,3),"-",1,2)_"-01",3) + random,
      inc = $I(month,i * random)
    }
    s time = $ZH-starttime
    w ?50,time,"s",?60,"~ ",i/time," cps",!

    w "Pass 2 - private global operation benchmark" 
    s starttime = $ZH
    f i=1:1:icount {
      s random = $R(1000),
      ^||month = $ZDH($P($ZD(+$H,3),"-",1,2)_"-01",3) + random,
      inc = $I(^||month,i * random)
    }
    s time = $ZH-starttime
    w ?50,time,"s",?60,"~ ",i/time," cps",!
    
    
  } catch ex {
    w "ERROR = ",ex.DisplayString()
  }

  k ^||month
}

Результаты:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
1) виртуальная машина

USER>!ver
 
Microsoft Windows XP [Version 5.1.2600]
USER>d $SYSTEM.CPU.Dump()
 
-- CPU Info for node PC-test -------------------------------------------------
          Architecture: x86
                 Model: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
                Vendor: Intel
          # of threads: 1
            # of cores: 1
            # of chips: 1
 # of threads per core: 1
   # of cores per chip: 1
          MT supported: 0
            MT enabled: 0
                   MHz: 3099
------------------------------------------------------------------------------
USER>d ^test
Cache for Windows (x86-32) 2010.1 Unicode
 
Pass 1 - simple local operation benchmark         .96274s   ~ 1038702.037933398425 cps
Pass 2 - private global operation benchmark       1.466271s ~ 682002.1674028880064 cps

USER>d ^test
Cache for Windows (x86-32) 2016.1 Unicode
 
Pass 1 - simple local operation benchmark         .9457s    ~ 1057417.785767156604 cps
Pass 2 - private global operation benchmark       1.412359s ~ 708035.2799819309397 cps

2) физическая машина

USER>!ver
 
Microsoft Windows [Version 6.1.7601]
USER>d $SYSTEM.CPU.Dump()
 
-- CPU Info for node test ----------------------------------------------------
          Architecture: x86
                 Model: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
                Vendor: Intel
          # of threads: 4
            # of cores: 4
            # of chips: 1
 # of threads per core: 1
   # of cores per chip: 4
          MT supported: 0
            MT enabled: 0
                   MHz: 3093
------------------------------------------------------------------------------
USER>d ^test
Cache for Windows (x86-64) 2016.1 Unicode
 
Pass 1 - simple local operation benchmark         .411675s  ~ 2429100.625493411065 cps
Pass 2 - private global operation benchmark       .977831s  ~ 1022671.606852308835 cps
PtnИ конечно же высказать мысли по поводу стука в подвале ?Я бы проверил в цикле только какую-то одну функцию, чтобы найти виновника тормозов и начал бы с $random:f i=1:1:icount {
  s random = $R(1000)
  ;s month = $ZDH($P($ZD(+$H,3),"-",1,2)_"-01",3) + random
  ;s inc = $I(month,i * random)
}
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39124112
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда время прогона теста порядка нескольких секунд, на него влияет множество факторов, тем более в виртуализованной среде. Гипервизор ведь ещё чем-то занят, не только вашей ВМ, верно? В Cache может активироваться демон записи, или ещё что-нибудь по событию выполнится.

Чтобы получить значимый результат, надо гонять тест несколько минут (не менее 10, а лучше 30), а также постараться поставить оба экземпляра Cache в одинаковые условия: если это возможно, поместить их на общий том, доступный обеим ВМ (c CentOS 6 и с CentOS 7), и запускать обе ВМ строго поочерёдно.
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39124133
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ptn ,

Кстати, если

set tmp = i * random
set inc = $increment(tmp,month)

,тогда должно быть и соответственно

set tmp = i * random
set inc = $increment(tmp,^||month)

,поскольку
set inc = $increment(^||month,tmp)
и
set inc = $increment(tmp,^||month)
сильно отличаются не только по результату, но и скорости.
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39124242
Timur Safin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с предыдущими ораторами, что такое кратковременное тестирование определенных, случайных конструкций - методически неверно и может показать все, что угодно.

Предлагаю поэкспериментировать с существующим уже бенчмарком COS - %BENCHLANG и плясать от его цифр.
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39124345
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Небольшая длительность тестов компенсируется 100% воспроизводимым у меня результатом.

Демон записи на локальный тест особого влияния оказывать по идее не должен. Хотя я могу конечно ошибаться.

Я собственно начал капать после обратил внимание что одни и те же прикладные задачи на сервере с процом 2.2Ггц выполняются быстрее чем на 2.6Ггц,
настолько что это просто заметно на глаз. И основное отличие у машины это операционка.

%BENCHLANG - нужно посмотреть, согласен.
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39124538
Timur Safin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, а вот про 2.2ГГц и 2.6ГГц поподробнее. Надеюсь Вы хотя бы сравнивали процессоры одного техпроцесса и поколения?

Вот P4/NetBurst вообще можно было разогнать до 3-4ГГц, т.к. длинный конвейер это позволял. Но это не значило, что он работал быстрее AMD Opteron на во много раз меньшей частоте, и при более коротком конвейере? Потому как тут вовлекались другие факторы (ширина фронт-энда, количество запускаемых в параллель команд, эффективность предсказания, ассоциативность кешей, и т.д и т.п.)

Разница частота сегодня (да и 10 лет назад уже) ничего не решает. Таки возникает вопрос, какой точно процессор 2.2ГГц? (Про 2.6ГГц мы знаем - X3450)

И в конце-концов - перестаньте заниматься самодеятельностью и обратитесь к профессионалам, которые знают и ядро Cache', и ядро интеловского процессора. :)
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39124612
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timur Safin,

Код: html
1.
2.
3.
4.
5.
6.
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
cache size      : 8192 KB
Linux 2.6.32-573.7.1.el6.x86_64 #1 SMP Tue Sep 22 22:00:00 UTC 2015
Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2015.2.1 (Build 705U) Mon Aug 31 2015 16:53:38 EDT
Pass 1 - simple local operation benchmark    3.155605s ~ 316896.4429958755928cps
Pass 2 - private global operation benchmark  5.298814s ~ 188721.476164288839cps



Код: html
1.
2.
3.
4.
5.
6.
model name      : Intel(R) Xeon(R) CPU           X3430  @ 2.40GHz
cache size      : 8192 KB
Linux 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014
Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2014.1.2 (Build 753U) Tue Jul 22 2014 11:25:14 EDT
Pass 1 - simple local operation benchmark    2.738919s ~ 365107.5479048485917cps
Pass 2 - private global operation benchmark  4.458678s ~ 224281.7265566161091cps



Код: html
1.
2.
3.
4.
5.
6.
model name      : Intel(R) Xeon(R) CPU           X3450  @ 2.67GHz
cache size      : 8192 KB
Linux 3.10.0-229.14.1.el7.x86_64 #1 SMP Tue Sep 15 15:05:51 UTC 2015
Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2015.2.1 (Build 705U) Mon Aug 31 2015 16:53:38 EDT
Pass 1 - simple local operation benchmark    3.61777s ~ 276413.3706675659315cps
Pass 2 - private global operation benchmark  5.577567s ~ 179289.6436743834722cps
...
Рейтинг: 0 / 0
Benchmark Cache' и поиск стука в подвале
    #39124835
Timur Safin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ptn,

(Ну и старье у вас там работает, могу заметить...)

Кое-что я напишу здесь в форум, но остальное более эффективно обсуждать лично (через письмо/скайп/телефон) а не через форум. Найдите мои контакты в сети, или обратитесь через support@intersystems.com

Итак имеем 3 процессора:

E5520 @ 2.27GHz - Nehalem EP (серверный 2х сокетный Nehalem)
X3430 @ 2.40GHz - Lynnfield (десктопный 1 сокетный Nehalem)
X3450 @ 2.67GHz - Lynnfield (десктопный 1 сокетный Nehalem)

Все они имеют одну архитектуру ядра - Nehalem, и выпущены на одном техпроцессе - 45нм. Разница между десктопными версиями - в верхней разрешенной частоте (хотя, немного повозившись, можно разогнать и выше, чего уж там). И почему-то в выключенном SMT (HyperThreading) у X3430. Разница серверной и десктопной версии в наличии QPI канала между кристаллами, и всего остального волшебства, связанного с QPI (например в двое большей пропускной способности канала к памяти).

В вашем простеньком, прямо скажем, анти-научном тесте разница между серверной и десктопной версией процессоров (большая пропускная способность каналов в память) выстрелить не могла. Потому, вполне логично что E5520 и X3450 на похожей частоте дают похожие результаты (в пределах статистической погрешности).

Вопрос в том, почему почти идентичные X3430 и X3450 так по-разному себя ведут? И не показывают ожидаемого выигрыша от увеличения частоты с 2.4 до 2.67 (или в режиме турбо-буста с 2.8 до 3.2)? Думаю ответ в использовании исполнительных устройств в режиме SMT (HT).

Простой эксперимент с выключением HT в BIOS X3450 должен подтвердить или опровергнуть данную теорию.

Но еще раз, я призываю Вас не использовать коротко-живущие, ни разу не показательные, непоследовательные тесты для сравнения производительности процессора. Используйте хотя бы %BENCHLANG (он очень простой). И вторая просьба, если Вы хотите продолжить эти исследования - обратитесь к нам по другим каналам. Этот форум - это не канал для поддержки и тем более не канал для исследования проблем с производительностью (коли такие будут когда).
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Benchmark Cache' и поиск стука в подвале
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]