Великий сермяжный счётчик
Apr. 3rd, 2012 03:08 pmИз Infiniband Architecture Specification:
When initially powered up or reset, the value of all counters contained in PortCounters on all ports of a node shall be set to zero. During operation, instead of overflowing, they shall stop at all ones. At any time, writing (Set) zero into a counter shall cause the counter to be reset to zero.
Это - остановка по достижению предела, сброс только в ноль, отсутствие атомарного чтения и сброса - сделано одинаково и для 32- и для 64-битных счётчиков, только предел разный.
Вопрос: кто может мне объяснить глубокий смысл такого решения?
When initially powered up or reset, the value of all counters contained in PortCounters on all ports of a node shall be set to zero. During operation, instead of overflowing, they shall stop at all ones. At any time, writing (Set) zero into a counter shall cause the counter to be reset to zero.
Это - остановка по достижению предела, сброс только в ноль, отсутствие атомарного чтения и сброса - сделано одинаково и для 32- и для 64-битных счётчиков, только предел разный.
Вопрос: кто может мне объяснить глубокий смысл такого решения?
no subject
Date: 2012-04-03 02:12 pm (UTC)no subject
Date: 2012-04-03 03:44 pm (UTC)Ethernet не даёт даже отдалённого приближения к его возможностям.
no subject
Date: 2012-04-03 03:53 pm (UTC)no subject
Date: 2012-04-03 05:43 pm (UTC)Но в нашем частном случае IB не просто нужен - он неизбежен.
no subject
Date: 2012-04-04 06:57 pm (UTC)no subject
Date: 2012-04-05 09:31 am (UTC)PCI Express хороша когда надо подключить GPU с соседнего узла на шасси, но не когда надо связать 5K узлов в одну сеть.
no subject
Date: 2012-04-03 05:48 pm (UTC)Ну а отсутствие атомарного чтения и сброса (либо вычитания) - то, что лишает смысла всю затею. Наверное, чисто технические (аппаратные) трудности. Но без этого, конечно, лучше б уж по циклу крутились.
Хорошо, если это самая большая их лажа. :)
no subject
Date: 2012-04-03 07:32 pm (UTC)Практически известные мне счётчики делают таки круг через ноль. У меня дома был такой переход. Ну а против злоумышленников решение очевидно и известно всем, кто работает со счётчиками - снимать показания чаще, чем может быть полный круг (а лучше - чаще, чем 1/4 полного круга).
Кстати, старые счётчики имели только 4 цифры значений в кВт*ч, а переполнить 10 тысяч было ещё реально в средней квартире - всего-то сделать провода потолще и постоянные ~50A наберут это значение за месяц, а за два можно и на стандартных входных 25 ампер. Новые ставят не менее чем на 5, а то и на 6 цифр, и такой проблемы уже нет.
А с новыми технологиями и удалённым съёмом показаний - можно хоть раз в час снимать.
> Ну а отсутствие атомарного чтения и сброса (либо вычитания) - то, что лишает смысла всю затею.
Во-во, и это тоже. Если бы запись значения в счётчик вычитала его из показаний (или прибавляла - неважно, если записываемое полноразмерное), то можно было бы смириться тем, что реальный счётчик был бы где-то в софте, и ничего бы не терялось.
> Хорошо, если это самая большая их лажа. :)
Там чудес хватает. Но в целом технология полезная.
no subject
Date: 2012-04-04 09:50 am (UTC)no subject
Date: 2012-04-04 10:20 am (UTC)Это полумера, т.к. всё равно не даст возможности быть уверенным в том, что всё хорошо и ничего не потеряли, но с ним было бы точно лучше, чем останавливаться на uint_max.
А наиболее правильным было бы иметь и overflow flag, и атомарность чтения/обнуления. Либо overflow flag плюс возможность вычитания. Тогда в софте можно было бы следить за тем, чтобы флаг не взводился, потому что если он взвёлся, уже ни в чём нельзя быть уверенным.
no subject
Date: 2012-04-06 04:05 pm (UTC)no subject
Date: 2012-04-04 07:08 am (UTC)no subject
Date: 2012-04-04 09:27 am (UTC)Через libibmad. Потому что через sysfs видны только 32-битные.
> которые могли остановиться за пять минут при хорошей нагрузке
Это ты на 100Mbit/s считаешь. А на скоростях Infiniband: на QDR (как на Графите) - 4.3 секунды, а на больших - ещё быстрее.
А отсутствие атомарного вычитания приводит к тому, что надо снимать и сбрасывать раза 2 в секунду, ну а сколько пролетит за время между чтением и сбросом - ХЗ.
no subject
Date: 2012-04-04 09:33 am (UTC)no subject
Date: 2012-04-04 09:35 am (UTC)Текущее испытание как раз и состоит в проверке, что 64-битные счётчики есть на всех доступных шелезяках.
no subject
Date: 2012-04-04 09:40 am (UTC)no subject
Date: 2012-04-04 01:20 pm (UTC)http://www.afs.enea.it/asantoro/V1r1_2_1.Release_12062007.pdf
пункт 16.1.4.11
no subject
Date: 2012-04-04 01:54 pm (UTC)