A-Bolt
Legendary
Offline
Activity: 2324
Merit: 2353
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 14, 2013, 08:23:03 PM |
|
Ну, мы уже ранее пришли к выводу, что операции с плавающей точкой в целом выполняются чуть дольше чем целочисленные операции, поэтому можно практически гарантированно утверждать, что флопсы это нижний предел оценки производительности соответствующих вычислительных устройств общего назначения (как общепризнанная единица оценки их производительности).
А как считать количество целочисленных операций, приходящихся на 1 хеш? Если взять CPU и не использовать инструкции SSE - получим одно значение, если использовать SSE - другое значение, для видеокарт AMD - третье. Про ASIC я вообще молчу. Всё это обсуждалось ещё в 2011 году, когда собирались вписать сеть Bitcoin в книгу рекордов Гиннеса. https://bitcointalk.org/index.php?topic=38064.msg467423#msg467423
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 14, 2013, 08:32:26 PM |
|
Ну, мы уже ранее пришли к выводу, что операции с плавающей точкой в целом выполняются чуть дольше чем целочисленные операции, поэтому можно практически гарантированно утверждать, что флопсы это нижний предел оценки производительности соответствующих вычислительных устройств общего назначения (как общепризнанная единица оценки их производительности).
А как считать количество целочисленных операций, приходящихся на 1 хеш? Если взять CPU и не использовать инструкции SSE - получим одно значение, если использовать SSE - другое значение, для видеокарт AMD - третье. Про ASIC я вообще молчу. Всё это обсуждалось ещё в 2011 году, когда собирались вписать сеть Bitcoin в книгу рекордов Гиннеса. https://bitcointalk.org/index.php?topic=38064.msg467423#msg467423А зачем нам считать количество целочисленных операций, приходящихся на один хеш, если мы считаем количество операций на единицу времени? Я не совсем понял смысл вопроса. Но в целом, если мы решили меряться хешами в секунду, то естественно, речь будет идти о разных реализациях одного и того же алгоритма для расчёта хеша. Самая быстрая реализация и будет считаться оценкой производительности для данного оборудования...
|
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 14, 2013, 08:41:52 PM |
|
А как считать количество целочисленных операций, приходящихся на 1 хеш? Если взять CPU и не использовать инструкции SSE - получим одно значение, если использовать SSE - другое значение, для видеокарт AMD - третье. Про ASIC я вообще молчу.
Все гораздо веселее. Потому что кроме разных наборов SSE можно еще вспомнить про AVX/XOP/FMA3/FMA4 и еще кучу всего разного ![Roll Eyes](https://bitcointalk.org/Smileys/default/rolleyes.gif) Самая быстрая реализация и будет считаться оценкой производительности для данного оборудования...
Завтра один из модулей в комплексе возьмет и сгорит. Надо менять, а процессоров прежнего степпинга нет (либо сняты с производства, либо предлагаются по более высокой цене). В новом степпинге добавили новый набор инструкций, либо исправили ошибку, что сделало неоптимальный ранее алгоритм наиболее быстрым. Что делаем, пишем новую реализацию? А как быть со всеми остальными модулями, в которых процессоры на старом степпинге? Запускаем разные реализации на разных процессорах? Или же, поскрипев зубами, запускаем текущую реализацию на новых процессорах, зная что она не будет для них самой быстрой? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 14, 2013, 08:51:07 PM |
|
Самая быстрая реализация и будет считаться оценкой производительности для данного оборудования...
Завтра один из модулей в комплексе возьмет и сгорит. Надо менять, а процессоров прежнего степпинга нет (либо сняты с производства, либо предлагаются по более высокой цене). В новом степпинге добавили новый набор инструкций, либо исправили ошибку, что сделало неоптимальный ранее алгоритм наиболее быстрым. Что делаем, пишем новую реализацию? А как быть со всеми остальными модулями, в которых процессоры на старом степпинге? Запускаем разные реализации на разных процессорах? Или же, поскрипев зубами, запускаем текущую реализацию на новых процессорах, зная что она не будет для них самой быстрой? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) А с чего вы взяли, что и текущую реализацию, которая считается "оптимальной", нельзя ещё сильнее оптимизировать тем или иным способом (сделать быстрее)? Это выбор из имеющегося, а не из потенциально возможного... Когда напишете более быструю реализацию, тогда и примем её за эталон для расчёта производительности. По моему, здесь всё достаточно логично и понятно...
|
|
|
|
A-Bolt
Legendary
Offline
Activity: 2324
Merit: 2353
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 14, 2013, 09:04:45 PM |
|
А зачем нам считать количество целочисленных операций, приходящихся на один хеш, если мы считаем количество операций на единицу времени? Я не совсем понял смысл вопроса. Но в целом, если мы решили меряться хешами в секунду, то естественно, речь будет идти о разных реализациях одного и того же алгоритма для расчёта хеша. Самая быстрая реализация и будет считаться оценкой производительности для данного оборудования...
Исходные данные у нас - это производительность сети Bitcoin, выраженная в хешах в секунду. Нам (точнее вам) необходимо получить производительность сети, выраженную в флопсах. Для это надо знать: 1. Сколько целочисленных операций приходится на 1 хеш. 2. Сколько операций с плавающей точкой приходится на 1 целочисленную операцию. Параметры 1, 2 зависят от железа и даже от выбора подмножества инструкций одного и того же процессора. Поэтому если мы возьмём за основу производительность CPU с инструкциями SSE - получим одно значение в флопсах, а если видеокарту ATI Radeon HD5870, то совершенно другое. Не существует однозначного коэффициента преобразования хеш/с -> флопс.
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 14, 2013, 09:17:39 PM Last edit: December 14, 2013, 09:33:08 PM by deisik |
|
А зачем нам считать количество целочисленных операций, приходящихся на один хеш, если мы считаем количество операций на единицу времени? Я не совсем понял смысл вопроса. Но в целом, если мы решили меряться хешами в секунду, то естественно, речь будет идти о разных реализациях одного и того же алгоритма для расчёта хеша. Самая быстрая реализация и будет считаться оценкой производительности для данного оборудования...
Исходные данные у нас - это производительность сети Bitcoin, выраженная в хешах в секунду. Нам (точнее вам) необходимо получить производительность сети, выраженную в флопсах. Для это надо знать: 1. Сколько целочисленных операций приходится на 1 хеш. 2. Сколько операций с плавающей точкой приходится на 1 целочисленную операцию. Параметры 1, 2 зависят от железа и даже от выбора подмножества инструкций одного и того же процессора. Поэтому если мы возьмём за основу производительность CPU с инструкциями SSE - получим одно значение в флопсах, а если видеокарту ATI Radeon HD5870, то совершенно другое. Не существует однозначного коэффициента преобразования хеш/с -> флопс. Поясню свою позицию на примере. У нас есть массив данных, мы его можем отсортировать разными методами, но так как массив у нас один и тот же, то мы всегда можем выбрать именно такой алгоритм, который для данного массива будет самым быстрым (может нам в реальности и сортировать ничего не придётся). Такая же ситуация с хешами, поэтому мы можем посчитать количество операций сложения-вычитания для расчёта одного хеша, выйдя, таким образом на количество операций для всей сети за единицу времени, зная её общую производительность в хешах за секунду... По второму пункту я уже обрисовал расклад ранее
|
|
|
|
ImmortAlex
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 03:05:58 AM |
|
И давно у вас на обычном компьютере (ну или суперкомпьютере) стало невозможным посчитать то, что считается при майнинге биткоинов для объективного сравнения их производительности? И давно у вас на обычном асике стало возможным посчитать хоть что-то, что может делать обычный компьютер? Это я к чему: сравнение не обратимое получилось, что можно трактовать как кривость оного ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Хэши в секунду - вот их мерить можно, ибо речь будет идти о выполнении конкретной задачи. Непонятны хэши - можно, как было замечено выше, пересчитать на доллары, хотя тут уже плавающий курс мешать начинает.
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 08:58:37 AM |
|
И давно у вас на обычном компьютере (ну или суперкомпьютере) стало невозможным посчитать то, что считается при майнинге биткоинов для объективного сравнения их производительности? И давно у вас на обычном асике стало возможным посчитать хоть что-то, что может делать обычный компьютер?Это я к чему: сравнение не обратимое получилось, что можно трактовать как кривость оного ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Хэши в секунду - вот их мерить можно, ибо речь будет идти о выполнении конкретной задачи. Непонятны хэши - можно, как было замечено выше, пересчитать на доллары, хотя тут уже плавающий курс мешать начинает. А зачем нам там что-то ещё считать, мы же не собираемся мереть производительность операций с плавающей точкой на асиках. Сравнение как раз нормальное, это вы уже пытаетесь раздвинуть его за исходные рамки и на этом основании выдать за "необратимое". Суть я понял, хотя термин не очень, поскольку ничто не мешает сравнивать производительность по выбранному критерию (производительность целочисленных операций) хоть компьютеров с асиками, хоть асиков с компьютерами...
|
|
|
|
ImmortAlex
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 10:22:46 AM |
|
мы же не собираемся мереть производительность операций с плавающей точкой на асиках Блджад, в том и причина, что именно это и меряют! Цитата из статьи и первого поста топика: Производительность вычислительной мощности всей сети, задействуемой для майнинга Биткоин, скорее всего уже в 2014 году преодолеет отметку в один зеттафлопс.
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 10:31:24 AM |
|
мы же не собираемся мереть производительность операций с плавающей точкой на асиках Блджад, в том и причина, что именно это и меряют! Цитата из статьи и первого поста топика: Производительность вычислительной мощности всей сети, задействуемой для майнинга Биткоин, скорее всего уже в 2014 году преодолеет отметку в один зеттафлопс. Не, ну я сразу написал, что не совсем корректное высказывание, только вопрос уже другой обсуждается, а именно можно ли как-нибудь объективно сравнить производительность сети для майнинга биткоина, измеряемой в хешах в секунду, и производительность вычислительных устройств общего назначения, чья производительность обычно измеряется во флопсах. Потом вы отползли к тому, что сравнение будет кривое, поскольку мы не можем считать арифметику с плавающей точкой на асиках. Какое имеет это отношение к возможности сравнения производительности, если мы выбрали за критерий для сравнения целочисленные операции?
|
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 10:43:24 AM |
|
Какое имеет это отношение к возможности сравнения производительности, если мы выбрали за критерий для сравнения целочисленные операции?
Потому что нельзя объективно сравнить чугунную болванку с дифрактометром в лоб, несмотря на то что обе этих сущности можно швырять катапультой. Вообще же, ваше стремление измерять длину килограммами просто удивляет и даже как-то до отупления поражает. Эту бы энергию, да в мирных целях...
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 10:48:45 AM Last edit: December 15, 2013, 11:27:46 AM by deisik |
|
Какое имеет это отношение к возможности сравнения производительности, если мы выбрали за критерий для сравнения целочисленные операции?
Потому что нельзя сравнивать чугунную болванку с дифрактометром, несмотря на то что обе этих сущности можно швырять катапультой. Вообще же, ваше стремление измерять длину килограммами просто удивляет и даже как-то до отупления поражает. Я думаю, вы выбрали не самую удачную аналогию, а сравнение землекопа с экскаватором, на мой взгляд, является намного более адекватным. Хеши в секунду отражают производительность соответствующего оборудования в количестве целочисленных операций в секунду, те же самые операции выполняются и на обычных процессорах. Де-факто такое сравнение (на основе числа целочисленных операций за единицу времени) будет даже более корректным, чем моя аналогия экскаватора с землекопом...
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 08:36:54 PM |
|
Хеши в секунду отражают производительность соответствующего оборудования в количестве целочисленных операций в секунду, те же самые операции выполняются и на обычных процессорах. И какие именно процессоры нужно брать для сравнения? x86 based CPU? и чьей фирмы - Intel? AMD? или может SOC ARM? А может быть шейдерные процессоры современных GPU? или вершинные? Кстати чьей фирмы? AMD или Nvidia? Или Mali архитектурой Midgard? Это только несколько примеров, все они могут так или иначе выполнять роль генерального процессора и производить 'любые' вычисления (про оперативную память я пока помолчу) и при этом результат ваших оценок будет отличаться для каждого очень заметно, в некоторых случаях на порядки! На текущий момент (да и всегда) оценка вычислительной мощности не может быть адекватно и универсально представлена в виде одномерного числа, это вектор, как минимум состоящий из параметров, учитывающих 'процессоры' и 'память'. При этом к примеру, память из-за особенностей реализации (кластеры) тянет за собой параметры сетевой инфраструктуры а так же разделения на несколько уровней (кеши процессора, оперативная, локальная постоянная, удаленная постоянная,..), а процессоры выделяют такие параметры как архитектура (в т.ч. наличие float инструкций), битность (не только шины но и команд), наличия памяти (кеши разного уровня) и способ обращения к ней (общая шина или групировка на кластеры, например в GPU).
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 08:52:44 PM |
|
Хеши в секунду отражают производительность соответствующего оборудования в количестве целочисленных операций в секунду, те же самые операции выполняются и на обычных процессорах. И какие именно процессоры нужно брать для сравнения? x86 based CPU? и чьей фирмы - Intel? AMD? или может SOC ARM? А может быть шейдерные процессоры современных GPU? или вершинные? Кстати чьей фирмы? AMD или Nvidia? Или Mali архитектурой Midgard? Это только несколько примеров, все они могут так или иначе выполнять роль генерального процессора и производить 'любые' вычисления (про оперативную память я пока помолчу) и при этом результат ваших оценок будет отличаться для каждого очень заметно, в некоторых случаях на порядки! Речь вообще-то шла изначально про конкретные машинки из top500.org (для которых уже известна как пиковая, так и средняя (?) производительность во флопсах) и сравнение их с суммарной производительностью сети для майнинга биткоинов (которая как бы тоже из различных по своей мощности девайсов формируется)...
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 08:56:52 PM |
|
Я вообще то спрашивал, как вычислить, какое соотношение хешей майнинга sha256 к флопсам? А именно с чьими флопсами нужно делать это сравнение? Или может нужно сначала оценить мощность сравниваемого процессора в хешах а затем запустить на нем lapack и получив два этих числа 'взять и поделить'? Ну так какой бы вы процессор не взяли, результаты будут разные! p.s. была же новость год или два назад, кажется китайский супер компьютер в top100 вылез наверх потому что они его оптимизировали под конкретно lapack ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) а другие задачи на нем решались не так красиво.
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 15, 2013, 09:04:01 PM |
|
Я вообще то спрашивал, как вычислить, какое соотношение хешей майнинга sha256 к флопсам? А именно с чьими флопсами нужно делать это сравнение? Или может нужно сначала оценить мощность сравниваемого процессора в хешах а затем запустить на нем lapack и получив два этих числа 'взять и поделить'? Ну так какой бы вы процессор не взяли, результаты будут разные!
И что с того? Вы в любом случае будете сравнивать конкретное оборудование для майнинга с не менее конкретным оборудованием общего назначения. Я что-то логики вопроса не вижу...
|
|
|
|
|