none
L3 Cache в виртуальной машине Hyper-V 2012R2 RRS feed

  • Вопрос

  • Добрый день!

    В наличии имеется несколько серверов на которых стоит Hyper-V Server 2012R2 с последними обновлениями.

    Решил посмотреть производительность виртуальных машин, и заметил, что скорость чтения/записи памяти (RAM) в виртуальной машине находятся на одном уровне с хостовой машиной. Скорость чтения/записи L1 и L2 cache - отличаются на ~30%, а вот скорость чтения/записи L3 cache отличается почти на порядок.

    На сколько это может сказаться на производительности ВМ?

    К сожалению никаких упоминаний про связку Hyper-V L3 cache в интернете не нашел.

    <img src="http://social.technet.microsoft.com/Forums/getfile/448518" />

    <img src="http://social.technet.microsoft.com/Forums/getfile/448520" />


    24 апреля 2014 г. 7:16

Ответы

  • С помощью AIDA

    В первом сообщении есть ссылки на скриншоты замеров.

    На хосте у Вас 6 ядерный. Презентуете "4 ядра", но повторюсь, что привязка к ядрам не 1 к 1. vCPU говорит лишь о количестве возможных одновременных CPU-потоков. 4 vCPU не означает, что Вы презентовали 4 конкретных физ.ядра Вашей ВМ. И распределение запросов между vCPU <> CPU происходит на уровне самого гипервизора . Скорей всего, именно поэтому и benchmark выдаёт другие такие данные, но всё работает так, как должно работать. Рекомендую принять как As is. 

    P.S. В рамках дизайна CPU у МС есть рекомендации касательно количества vCPU на 1 физ.ядро, то есть 8 vCPU на 1 core для старых ОС. 12 vCPU : 1 Core для систем от 2008 R2, но всё это относительно.


    Roman Levchenko, MCSA, MCITP, MCTS http://www.rlevchenko.com

    25 апреля 2014 г. 5:24

Все ответы

  • L3 и должен отличаться по производительности от L1/L2. 

    Лично я представляю себе это так: 

    CPU ищет "кешированные" данные в L1/L2/L3

    Если в L1 не находит, то в L2 , далее в L3. Чем больше уровень, тем меньше производительность выходит+vCPU не означает конкретную "привязку" vCPU<>CPU cores. количество vCPU лимитирует CPU threads до физ. CPU/cores. Поэтому и Ваши данные такие. 

    Для Hyper-V ничего страшного. Главное - сертифицированная поддержка/сертификация оборудования под 2012/R2.


    Roman Levchenko, MCSA, MCITP, MCTS http://www.rlevchenko.com

    • Изменено R.LevchenkoMVP 24 апреля 2014 г. 7:37 доп
    24 апреля 2014 г. 7:25
  • Я имел в виду, что скорость L3 кэша сильно (на порядок) отличается не от L1/L2, а на физической машине и виртуальной. Если посмотреть скриншоты (не прицепились почему то), то на физической машине скорость чтения L3 ~168GB/s, а на виртуальной ~24GB/s

    24 апреля 2014 г. 9:56
  • А как вы это мерите?
    24 апреля 2014 г. 10:06
  • С помощью AIDA

    В первом сообщении есть ссылки на скриншоты замеров.

    24 апреля 2014 г. 11:53
  • С помощью AIDA

    В первом сообщении есть ссылки на скриншоты замеров.

    На хосте у Вас 6 ядерный. Презентуете "4 ядра", но повторюсь, что привязка к ядрам не 1 к 1. vCPU говорит лишь о количестве возможных одновременных CPU-потоков. 4 vCPU не означает, что Вы презентовали 4 конкретных физ.ядра Вашей ВМ. И распределение запросов между vCPU <> CPU происходит на уровне самого гипервизора . Скорей всего, именно поэтому и benchmark выдаёт другие такие данные, но всё работает так, как должно работать. Рекомендую принять как As is. 

    P.S. В рамках дизайна CPU у МС есть рекомендации касательно количества vCPU на 1 физ.ядро, то есть 8 vCPU на 1 core для старых ОС. 12 vCPU : 1 Core для систем от 2008 R2, но всё это относительно.


    Roman Levchenko, MCSA, MCITP, MCTS http://www.rlevchenko.com

    25 апреля 2014 г. 5:24