Вики, как всегда, в своем репертуаре. Сравнение 65нм с 45нм. Ну так и без указания архитектур и процессоров было изначально понятно, что 45нм техпроцесс выиграет у 65нм )))
Для повышения параллелизма на уровне операций часто бывает полезно начать выполнять операцию до того, как станет известно, нужно ли было выполнять эту операцию. В случае, если операция может привести к прерыванию (например, чтение из памяти по недопустимому адресу, или деление на 0), такое преждевременное исполнение может привести к некорректному аварийному выходу из программы. Для того, чтобы решить эту проблему, в архитектуре «Эльбрус» допускается выполнение операций в режиме отложенного прерывания, также называемом спекулятивным режимом исполнения операции.»
Вы, похоже, не понимаете идеологии VLIW. Одна машинная команда уже содержит в себе N инструкций. И если в текущий момент исполнения программы не все N инструкций можно выполнить, вместо простоя исполнительного блока можно сделать что то из предположения (speculative). Например, загрузить блок данных в кэш.
Производители СХД достаточно консервативны. Уверяю Вас, не пройдет и двух-трех лет, как и эти CPU Вы увидите в СХД. На данный момент требования клиентов к производительности СХД заметно превышают возможности их производителей.
С какого перепугу это не предзагрузка?
«Встроенная функция __builtin_prefetch() позволяет заблаговременно подкачать данные в кэш-память. Подкачивается целая порция кэш-строк — 64 байта.»
«При использовании __builtin_prefetch() в ассемблере можно увидеть спекулятивное чтение, но не в регистр назначения, а в empty»
Опытные электромобили для общественных дорог разрабатывались регулярно различными производителями все последние полтора века. И у меня почему то есть уверенность в том, что результаты этих разработок оказались в итоге востребованы в последствии. Вы считаете иначе?
Ответьте на прямой вопрос. Без демагогии. Или проведем анализ, сколько опытных автомобилей за эти полтора века было произведено университетами, а сколько производителями?
Вы явно путаете фундаментальные исследования с отработкой технологии.
Опытные электромобили для общественных дорог разрабатывались регулярно различными производителями все последние полтора века. И у меня почему то есть уверенность в том, что результаты этих разработок оказались в итоге востребованы в последствии. Вы считаете иначе?
Эльбрус и в СХД показывает себя совсем неплохо. Вполне могу представить его востребованность для специфичных серверных задач. А вот для десктопа он явно сейчас проигрывает. На настоящий момент для десктопа я обеими руками за RISC-V.
Я не собираюсь тут доказывать какие-либо гипотезы. Я призываю только не возводить гипотезы в ранг доказанных теорем или экспериментально подтвержденных теорий.
Но это же делали! Просто электромобили имели довольно узкую нишу в виде электрокаров и электропогрузчиков. И если бы это не делали, то нынешний рывок производства электромобилей мог и не состояться, а растянуться еще на долгие десятилетия.
Можно. Но опять, обращаясь к примеру с электромобилями и автомобилями с ДВС, хочу обратить внимание, что электромобили последние полтора века производились серийно. Просто долгое время имели довольно узкую нишу (электрокары, электропогрузчики и т.п.). То есть, сто лет назад Вы бы призывали вообще отказаться от серийного производства электромобилей в пользу автомобилей с ДВС?
«Нормальный и принятый во всем мире путь» — это коммерческий риск. Чем больше возможная прибыль, тем выше вероятность провала. Тот же VLIW не раз коммерциализировлся (Transmeta, IA-64, некоторые GPU). Я слишком плохой коммерсант, чтобы давать рекомендации об опраданности рисков. Но успешные рисковые разработки в IT не редкость. Так же как и провальные.
Не ставить крест и финансировать развитие — это очень разные вещи. Опять по примеру выше. Сначала появились электромобили и только через несколько десятков лет — автомобили с ДВС. Следует ли считать, что это поставило крест на электромобилях? Или все же это было временным явлением?
Под «не ставить крест» я имею в ввиду примерять новые научные и инженерные разработки к VLIW, проверяя, не смогут ли они обеспечить кардинальный толчок развития для него.
Ну зачем Вы так? Или Вы не в курсе, что слово «очевидно» является ключевым признаком демагогии и потому в технических дискуссиях не может употребляться?
Вы можете доказать, что OoO даёт больший прирост производительности, чем явное параллельное выполение N операций в VLIW? Особенно на сравнимом количестве транзисторов на кристалле и максимально схожей микроархитектуре. Я таких экспериментальных доказательств не видел.
А вот в истории уже была конкуренция между IA-64 (VLIW) и x86-64. И основным фактором проигрыша IA-64 считается вовсе не производительность.
Это принципиально неразрешимая ситуация, т.к. у вас каждый следующий лоад зависит от предыдущего
Если не знаете, зачем утверждать? Вот я могу утверждать, что рекурсивные запросы к БД (а ведь это и есть по сути обход по списку!) нередко оптимизируются на порядок, а то и два, по сравнению с подходом «в лоб». Для примера, hierarchyid тип данных в MS SQL.
Она напрямую оспаривает утверждение, переводя его в статус гипотезы, а вовсе не доказанного факта.
Я нисколько не исключаю, что эта гипотеза верна. Так же, как физики не исключают правильность стандартной модели элементарных частиц, при этом отдавая себе отчет, что это лишь гипотеза, описывающая текущие знания. Из чего совершенно не следует, что завтра результаты какого-то эксперимента не потребуют пересмотра или кардинальной ревизии этой стандартной модели. Следует признать, что такое уже не раз случалось.
если характер данных меняется, кто будет код перекомпилировать
На SQL серверах эту проблему ведь смогли решить, адаптируя компиляцию запросов на лету, в соответствии с текущими статистиками. Я ни в коем случае не пытаюсь утверждать, что и тут именно такой подход даст плоды. Я только указываю на то, что мы просто не знаем сейчас всех возможных методов оптимизации VLIW. Слишком мало эта проблема изучалась в научных кругах, по причине низкой востребованности вплоть до настоящего времени.
Я ничего не ожидаю. Я этого не исключаю, пока не доказано обратное. Разницу замечаете?
А вот многие здесь утвердают то, что НЕ ДОКАЗАНО, а является лишь гипотезой. Разницу замечаете?
Отлично понимаю. По ссылке утверждается, что продвинутый компилятор, благодаря поддержке в Эльбрус спекулятивных операций с отложенным прерыванием, вполне мог бы выполнить обход списка в 24(!) раза быстрее, чем текущая реализация.
Где я ухожу в сторону?
Базируется на предположении.
«6.4.3. Спекулятивный режим
Для повышения параллелизма на уровне операций часто бывает полезно начать выполнять операцию до того, как станет известно, нужно ли было выполнять эту операцию. В случае, если операция может привести к прерыванию (например, чтение из памяти по недопустимому адресу, или деление на 0), такое преждевременное исполнение может привести к некорректному аварийному выходу из программы. Для того, чтобы решить эту проблему, в архитектуре «Эльбрус» допускается выполнение операций в режиме отложенного прерывания, также называемом спекулятивным режимом исполнения операции.»
Вы, похоже, не понимаете идеологии VLIW. Одна машинная команда уже содержит в себе N инструкций. И если в текущий момент исполнения программы не все N инструкций можно выполнить, вместо простоя исполнительного блока можно сделать что то из предположения (speculative). Например, загрузить блок данных в кэш.
«Встроенная функция __builtin_prefetch() позволяет заблаговременно подкачать данные в кэш-память. Подкачивается целая порция кэш-строк — 64 байта.»
«При использовании __builtin_prefetch() в ассемблере можно увидеть спекулятивное чтение, но не в регистр назначения, а в empty»
Жду извинений.
Ответьте на прямой вопрос. Без демагогии. Или проведем анализ, сколько опытных автомобилей за эти полтора века было произведено университетами, а сколько производителями?
Вы явно путаете фундаментальные исследования с отработкой технологии.
Это идиоты Intel® Xeon® E5-2697-v4 18 core processors в СХД ставят? Или Вы все же погорячились? )))
Эльбрус и в СХД показывает себя совсем неплохо. Вполне могу представить его востребованность для специфичных серверных задач. А вот для десктопа он явно сейчас проигрывает. На настоящий момент для десктопа я обеими руками за RISC-V.
Но это же делали! Просто электромобили имели довольно узкую нишу в виде электрокаров и электропогрузчиков. И если бы это не делали, то нынешний рывок производства электромобилей мог и не состояться, а растянуться еще на долгие десятилетия.
«Нормальный и принятый во всем мире путь» — это коммерческий риск. Чем больше возможная прибыль, тем выше вероятность провала. Тот же VLIW не раз коммерциализировлся (Transmeta, IA-64, некоторые GPU). Я слишком плохой коммерсант, чтобы давать рекомендации об опраданности рисков. Но успешные рисковые разработки в IT не редкость. Так же как и провальные.
Под «не ставить крест» я имею в ввиду примерять новые научные и инженерные разработки к VLIW, проверяя, не смогут ли они обеспечить кардинальный толчок развития для него.
А вот в истории уже была конкуренция между IA-64 (VLIW) и x86-64. И основным фактором проигрыша IA-64 считается вовсе не производительность.
Вы утверждаете, что спекулятивные операции не могут выполнять функции префетча?
Если не знаете, зачем утверждать? Вот я могу утверждать, что рекурсивные запросы к БД (а ведь это и есть по сути обход по списку!) нередко оптимизируются на порядок, а то и два, по сравнению с подходом «в лоб». Для примера, hierarchyid тип данных в MS SQL.
Я нисколько не исключаю, что эта гипотеза верна. Так же, как физики не исключают правильность стандартной модели элементарных частиц, при этом отдавая себе отчет, что это лишь гипотеза, описывающая текущие знания. Из чего совершенно не следует, что завтра результаты какого-то эксперимента не потребуют пересмотра или кардинальной ревизии этой стандартной модели. Следует признать, что такое уже не раз случалось.
На SQL серверах эту проблему ведь смогли решить, адаптируя компиляцию запросов на лету, в соответствии с текущими статистиками. Я ни в коем случае не пытаюсь утверждать, что и тут именно такой подход даст плоды. Я только указываю на то, что мы просто не знаем сейчас всех возможных методов оптимизации VLIW. Слишком мало эта проблема изучалась в научных кругах, по причине низкой востребованности вплоть до настоящего времени.
А вот многие здесь утвердают то, что НЕ ДОКАЗАНО, а является лишь гипотезой. Разницу замечаете?
Где я ухожу в сторону?