Если Mega не справляется по производительности, куда смотреть дальше?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

ua6em пишет:

1 ядро 20гигагерц мало?

На какой системе виртуализации?

я делаю на сфере, приятель на нутаниксе, а там еще в 2016 анонсировали "лимиты ресурсов (к примеру 100Ghz CPU power, 12TB RAM, 1800GB storage)"

sadman41
Offline
Зарегистрирован: 19.10.2016

ua6em пишет:

я делаю на сфере, приятель на нутаниксе, а там еще в 2016 анонсировали "лимиты ресурсов (к примеру 100Ghz CPU power, 12TB RAM, 1800GB storage)"

Т.е. Вы хотите сказать, что мы берем vShpere и E5-2430v2 (6x2.50 GHz), тыкаем куда-то там мышкой и получаем vCPU, работающий на честных 15 GHz  и обслуживающий однопоточную задачу в этом режиме?

Может на артикль из документации ссылку подкинете? Очень интересно мне как они умудряются распараллелить поток и получить что-то работающее.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

ua6em пишет:

я делаю на сфере, приятель на нутаниксе, а там еще в 2016 анонсировали "лимиты ресурсов (к примеру 100Ghz CPU power, 12TB RAM, 1800GB storage)"

Т.е. Вы хотите сказать, что мы берем vShpere и E5-2430v2 (6x2.50 GHz), тыкаем куда-то там мышкой и получаем vCPU, работающий на честных 15 GHz  и обслуживающий однопоточную задачу в этом режиме?

Может на артикль из документации ссылку подкинете? Очень интересно мне как они умудряются распараллелить поток и получить что-то работающее.

не подкину, на PC 3.2 задача просчитывалась за 3 часа, на виртуалке 25 минут (может чуть больше)...
мне тоже интересно как )))
нутаникс еще круче при том, что по размерам раза в 4 меньше IBM-590

sadman41
Offline
Зарегистрирован: 19.10.2016

Давайте тогда не будем называть никого тупым, пока нет официального пояснения, ок? Я специально побыстрогуглил про такую возможность в ESXi - на поверхности ничего нет. На Hyper-V такое я тоже не встречал.

Лимит вполне себе может быть на суммарную скорость по всем ядрам, а не говорить о том, что физпроцессор внезапно нарушает все законы физики и переходит на первую космическую.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

про честные речь не идёт, 24 ядра 2.1 масштабируются в 20гигагерц, весь ресурс отдаешь одной машине с одним ядром...

sadman41
Offline
Зарегистрирован: 19.10.2016

Стало быть софтовая эмуляция с потерей 50% производительности минимум. Не знаю, насколько это адекватное вложение финансов.

А что по тестам внутри виртуалки - не являются ли эти 20 просто красивой цифирей, которая при первой же опасности... превращается в номинальную частоту ядра? Этот момент меня прямо очень заинтересовал. Как данная технология в терминах vmWare называется хотя бы?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Стало быть софтовая эмуляция с потерей 50% производительности минимум. Не знаю, насколько это адекватное вложение финансов.

А что по тестам внутри виртуалки - не являются ли эти 20 просто красивой цифирей, которая при первой же опасности... превращается в номинальную частоту ядра? Этот момент меня прямо очень заинтересовал. Как данная технология в терминах vmWare называется хотя бы?

не интересовался, я жеж просто интегратор, работаю по шаблонам, перенимаю для себя кое-что, что по финансам приемлемо, а в последнее время еще проще сервер включил, сервер выключил, сервер снял кое-что заменил, сервер поставил, видимо боятся утечки технологий...кстати... сфера не рекомендует переконфигупацию ядер после инициализации виртуальной машины так как не гарантируется устойчивая работа...кое-что можно предположить

sadman41
Offline
Зарегистрирован: 19.10.2016

Паждите... Вы назвали кого-то там тупым, потому что он не догадался сделать действие N. Это подразумевает, что вы знаете, что это за действие и каков его эффект. Потом вы пишите, что делаете это на vShpere, что опять же подразумевает ваше умение и знание вопроса. И тут оказывается, что название данной технологии в терминах той системы, с которой вы работаете и по которой, как я понимаю, оказываете услуги интеграции (пусть и минимальные), вам неизвестно и даже неинтересно. Ничего алогичным не кажется?

Может у вас есть пара скриншотов с конфигуратора хост-системы и вид изнутри VM на vCPU, по которым можно было бы понять, что за адова технология делает из 24 мелких ядер одно гигантское?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

...Ничего алогичным не кажется?

Может у вас есть пара скриншотов с конфигуратора хост-системы и вид изнутри VM на vCPU, по которым можно было бы понять, что за адова технология делает из 24 мелких ядер одно гигантское?

не кажется...не вижу смысла конечному пользователю разбираться в том, как это устроено изнутри...
картинок нет, но можно сделать...вы программист, вам это интересно, я по сути ремесленник, мне нет, копаю отсюда и до обеда )))

PS понимая ваше сомнение, но это не может не работать даже логически исходя из того, что основные используемые операционные системы - WINDOWS

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Сделайте скриншоты, будьте так любезны. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Сделайте скриншоты, будьте так любезны. 

вот к примеру простенький серверок с MINT на которой порты пробрасывал:

negavoid
Offline
Зарегистрирован: 09.07.2016

Законы физики не нарушаются :), просто vSphere показывает total cpu, просуммированный - так удобнее деньги снимать с юзеров :). А в реале, разумеется, гипервизор выделяет из пула 4 ядра * 2.26 ГГц, и никакого космоса в 1 поток на 9ГГц нет. А почему быстрее, чем на ПК подсчиталось - может потому, что зионы с кэшем по 20 Мб, может винт на виртуалке свежее нефрагментированнее, мож ещё почему.

Любая задача в виртуалке будет исполняться медленее, чем на том же хосте без гипервизора. Vt-x, Vt-d, IOMMU просто снижают оверхед до минимума, 1-5-10%, но он всё равно есть, гипервизору же тоже надо работать.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Для объективности ради собрать виртуалку под XP и запустить тестовую задачу и тогда станет ясно (в какой-то мере) где и что

negavoid
Offline
Зарегистрирован: 09.07.2016

Для какой ещё объективности? Что такое собрать виртуалку под XP - XP будет хостом или гостем? Какую ещё тестовую задачу? Всё и так ясно :)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

negavoid пишет:

Всё и так ясно :)

Всем всё ясно, кроме меня... но архикад реально работает значительно быстрей :-)

1C в терминальном режиме тоже, но я сам этого не видел, из слов админа обслуживающего нутаникс

 

negavoid
Offline
Зарегистрирован: 09.07.2016

Архикад поддерживает многопоточные вычисления.

Взглянул на сайт nutanix, там на главной странице картинка, ну прям вообще, нарисовано: 32.3% used of 1.09 THz, но это всё та же общая сумма. Что может заставить подумать, что это 1 процессор с такой скоростью - непонятно, разве что, нелюбовь к физике, что очень странно для хэма. :)

sadman41
Offline
Зарегистрирован: 19.10.2016

Вот и я думаю - кто-то нас напаривает.

Но для проверки решил скриншотов с VM дождаться. Тех, где в виндовом таск менеджере Per CPU Load будет в один столбик. Или скриншот с atop-ом, в котором curf 9.066Ghz.

negavoid
Offline
Зарегистрирован: 09.07.2016

А насчёт теста, ну, проведите. (очень условный тест)

#include <stdio.h>
#include <time.h>

void main()
{
	clock_t begin = clock();

	int a;
	for ( long i = 0; i < 1000000000; i++ )
	{
		a = 2 + 2;
	}

	clock_t end = clock();
	double time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
	
	printf( "%.2f", time_spent );
}

gcc test.c && a.exe

Запустите сперва на своём компе, потом в виртуалке на нём же.

Это однопоточная программа, но в процессе выполнения ОС может перекидывать её на разные ядра (а может и не перекидывать), поэтому даже при выполнении несколько раз подряд на одном и том же компе результаты будут слегка разниться, ибо windows и linux - не ОСи реального времени.

Запустите потом на виртуалке "с 9 ГГц". Если ваш процессор быстрее, чем 2.26 ГГц, то вероятно, у вас результат посчитается быстрее, чем на той виртуалке.

sadman41
Offline
Зарегистрирован: 19.10.2016

Да ладно там считать. Достаточно посмотреть, как винда воспринимает процессорные мощности и в таск менеджере их показывает. Загадка будет раскрыта мгновенно.

negavoid
Offline
Зарегистрирован: 09.07.2016

Можно совместить - запускать тест с открытым диспетчером задач :) Utilization будет 25% (на четырёхядернике) - но это проценты от "всего суммарного cpu", а реально же будет занято всего одно ядро (помним про возможность исполнения потока на разных ядрах) из четырёх на 100% на своей максимальной частоте.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

negavoid пишет:

Архикад поддерживает многопоточные вычисления.

Взглянул на сайт nutanix, там на главной странице картинка, ну прям вообще, нарисовано: 32.3% used of 1.09 THz, но это всё та же общая сумма. Что может заставить подумать, что это 1 процессор с такой скоростью - непонятно, разве что, нелюбовь к физике, что очень странно для хэма. :)

В ARCHICAD 10 и 11 многопоточность поддерживают следующие функции:

  • Модуль рендеринга LightWorks
  • Сохранение файлов с возможностью сжатия данных
  • Размещение PDF-файлов в качестве чертежей (визуальный отклик при позиционировании чертежа)

 

negavoid
Offline
Зарегистрирован: 09.07.2016

Ну, мы (рады/опечалены/пофигу) за архикад. Действительно, до 12 версии многопоточность не поддерживается.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

negavoid пишет:

А насчёт теста, ну, проведите. (очень условный тест)

#include <stdio.h>
#include <time.h>

void main()
{
	clock_t begin = clock();

	int a;
	for ( long i = 0; i < 1000000000; i++ )
	{
		a = 2 + 2;
	}

	clock_t end = clock();
	double time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
	
	printf( "%.2f", time_spent );
}

А чего запускать? Ноль - он и в Африкке ноль (оптимизатор не дремлет и выкидывает цикл целиком).

negavoid
Offline
Зарегистрирован: 09.07.2016

andriano, а вы попробуйте, долго ли скопипастить, прописать gcc test.c без ключей и запустить.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015
void setup() {
  Serial.begin(115200);
  unsigned long begin = millis();

  int a;
  for ( long i = 0; i < 1000000000; i++ )
  {
    a = 2 + 2;
  }

  unsigned long end = millis();
  
  Serial.println(end - begin);
}

void loop() {
  // put your main code here, to run repeatedly:

}

результат:

0

И это - на 0.016 ГГц Ардуине.

 

negavoid
Offline
Зарегистрирован: 09.07.2016

Там где-то было написано avr-gcc и ардуина? Там было написано gcc и ПК, без -О от иде.

Но можно заюзать и ваш пример, только:

int volatile a;

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Тест в принципе неправильный. Может выдать что угодно. А посему доверять его разультатам, а тем паче - использовать их для доказательства или иллюстрации чего бы то ни было, - абсолютно бесперспективно.

negavoid
Offline
Зарегистрирован: 09.07.2016

Ok, я принимаю ваше мнение, любое имеет право на жизнь.

sadman41
Offline
Зарегистрирован: 19.10.2016

Да я и говорю - бох с ним, с тестом. Я жду скриншота с одним столбиком на 9066Mhz в таск менеджере или с atop-ом (раз минт уже стоит).

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Да я и говорю - бох с ним, с тестом. Я жду скриншота с одним столбиком на 9066Mhz в таск менеджере или с atop-ом (раз минт уже стоит).

с МИНТ не получится там машина сконфигурирована на 4 ядра и тор честно пишет 400% что и соответствует 4 ядрам. Ясно, что искренне заблуждался (или по русски говоря - лоханулся), перенос задачи с HP Pavilion (Core 2 QUAD) под VISTA на виртуалку с 20G процессорного ресурса решило проблему, но машина была под XP64ed  )))
А постом выше уже говорил, что архикад не умеет работать с ядрами, кроме...рендеринг, а задача именно в этом и была...еще удивлялся, какие крутые программисты в VMWARE ядра "клеить" умеют в единый поток...
8 ядер и 24 гиг озу однако, локально такой машинёшки не было )))
Но истины ради разверну виртуалку на этом же ресурсе на одно ядро и посмотрю, да кстати atop никогда не пользовался, где там, что и как смотреть?

sadman41
Offline
Зарегистрирован: 19.10.2016

Вторая строка, предпоследний столбец.

Morroc
Offline
Зарегистрирован: 24.10.2016

Ничесе вы от темы уехали :) Можно ли тупо нарастить производительность и решить таким образом проблемы с AVR ? Конечно. Брал maple (типа той голубой платки с stm) и получал на ровном месте x5 раз в основном за счет быстрой работы с экраном. Teensy... почему бы нет ? На ней DSP радиоприемник делают - AVR такое не потянет от слова совсем. Будут ли проблемы ? А как же... будут, в основном то заточено под AVR, но все решаемо. Ну и учесть специфику типа отсутствия EEPROM в той же голубой плате за 2 бакса.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

negavoid пишет:

Ok, я принимаю ваше мнение, любое имеет право на жизнь.

Логика утверждает, что есть два типа утверждений: истинные и ложные. Так что формально Вы правы - мнение, отражающее высказывание любого из этих двух типов, имеет право на жизнь. 

Но в правктическом плане обычно очень важно знать, к которому из этих двух типов относится конкретное высказывание. И здесь уже оказывается далеко не все равно, кто по этому поводу имеет какое мнение.

 

PS. Создание адекватного теста производительности - достаточно сложная задача. Наивно надеяться, что любая последовательность операторов может служить основой для такого теста. Вообще, для создания теста прежде всего надо ответить на два вопроса: что нужно измерять и как это можно селать. Ну а потом понадобится еще доказывать, что результат теста по меньшей мере монотонно зависит от измеряемого параметра.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

да уж, доехали до...есть ли жизнь на Марсе )))
А что за DSP приёмник?

PS у меня atop этот параметр не выводит пишет - wait, может задачей какой грузануть надо, попытаю, отпишусь
PPS Извиняемся за оффтоп

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

andriano пишет:

negavoid пишет:

Ok, я принимаю ваше мнение, любое имеет право на жизнь.

Логика утверждает, что есть два типа утверждений: истинные и ложные. Т

Не вдаваясь в тематику диспута, логика ничего подобного не утверждает! Вернее не любая логика.

Если не согласен, то ответь на вопрос: имеет ли решение в целых, ненулевых числах уравнение: x**n + y**n = z**n, при n>2? ;)))))

------------------

Поскольку мы живем не в умозрительном, т.е. идеальном мире, а в реальном, то нас интересуют только доказуемо истинные или доказуемо ложные утверждения. Причем время доказательства не должно превышать нашу жизнь ;))))))). Таким образом - основная масса высказываний будет не "истиные" и не "ложные", а "хрен его знает какие"!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

andriano пишет:
Логика утверждает, что есть два типа утверждений: истинные и ложные.
Это смотря какая логика. Есть много типов логик.

Чечако
Offline
Зарегистрирован: 15.06.2018

Morroc пишет:

 Ну и учесть специфику типа отсутствия EEPROM в той же голубой плате за 2 бакса.

Это как раз фигня, внешний eeprom на i2c решает. Больше гимора будет с перекидыванием части коммуникаций на конверторы уровней вместо прямого подключения, но это тоже решаемо. Посмотрим и его, и M0.

А пока что я перекинул MAX7219 на железный SPI, и процентов 15-20 оно освободило. Как-то не учел, что в стандартной библиотеке он был софтовым. :) А там видно будет. Развлекаюсь с кодом дальше. Ибо есть куда копать даже по поверхности.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

wdrakula пишет:

ответь на вопрос: имеет ли решение в целых, ненулевых числах уравнение: x**n + y**n = z**n, при n>2? ;)))))

Не имеет, а что?

Morroc
Offline
Зарегистрирован: 24.10.2016

Чечако пишет:

 Ибо есть куда копать даже по поверхности.

Да это всегда есть куда копать, но "в лоб" через производительный мк тоже вполне решаемо. Попробуйте, я не пожалел, но у меня затык был в цветном дисплее - очень уж долго перерисовывать его с avr.

ua6em пишет:

А что за DSP приёмник?

Вот такой, используется аудиомодуль к тинси. Жалко автор не имеет желания делать trx, просто неинтересно ему как я понял.

https://forum.pjrc.com/threads/40590-Teensy-Convolution-SDR-(Software-Defined-Radio)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ЕвгенийП пишет:

Это смотря какая логика. Есть много типов логик.

Женские - не рассматриваем!