September 27th, 2011

404

богоискательство Савченко.

Я по инерции прочитал ещё сколько-то рассказов и эссе Савченко. Чем больше я читал, тем меньше мне хотелось продолжать, и тем острее ощущалось какое-то фундаментальное различие в базовых установках.

Сейчас, вместе с эссе про ядерные реакторы и чернобыль я понял, что. Если в его книгах заменить слово "Вселенная" на слово "Бог", то получится вполне себе такая душеспасительная брошюрка про бренность нашего мирского бытия и важность обращения человека к лику Господню. За исключением терминологии, он насквозь религиозен. В "должности во вселенной" это проскочило мельком, как позиция нескольких героев (имеют право). Но в остальных его книгах и рассказах эта позиция - авторская. Со всем вытекающим говнянием человечества, как твари дрожащеЙ, недостойной предстать пред ликом Создателя, живущего только безмерной милостию и сострадаеим Его. То есть, Её, поскольку речь про Вселенную. Но суть от этого не меняется.

Особенно отвратительно это прозвучало в эссе про атомную энергию. Мол, не дело человеку, энергией, которой зажигаются звёзды, питать телевизоры и прочие железки для низменных удовольствий. Собственно, в этот момент всё стало на свои места.

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

И ведь регулировать же! Практически все его книги - про то, как люди узрив лик Господень узнав про очередной физический закон, первым делом устыжаются собственного существования и почему-то хотят оный физический закон скрыть от ближних своих, дабы не порочить лик Нового Физического Закона бренным и суетным мирком людей.

Однозначно, автор одной книги. Всё остальное не просто "не стоит читать", всё остальное нужно "воздержаться от чтения".

Я даже оставлю в стороне то, что он фантасические допущения из книг слишком рассматривает как личные открытия (которые есть в реальном мире).
404

продолжая о теории иопсов

Интеловцы на конференции (IDF) озадачили меня ещё одним параметром, влияющим на совокупную производительность системы - это latency. В частности, они сказали крайне любопытную вещь в отношении SSD - снижение размера очереди уменьшает latency, т.к. чем выше размер очереди, тем больше в среднем в ней находится заданий и тем дольше каждое задание ждёт исполнения.

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

Ситуация обретает особую интригу в условиях очень массового (по моим прикидкам - порядка 300-600) параллелизма.

Производительность системы ДЛЯ КЛИЕНТА совсем не эквивалента общей производительности системы. Даже если эта система не загружена полностью.

Грубо говоря, имеем СХД, обеспечивающую потолок в 10000 иопсов, имеем нагрузку на СХД в объёме 3000 иопсов. (пока оставляем в стороне краевые эффекты throttling'а) для 1000 клиентов. Таким образом, мы имеем время обслуживания единичного иопса в 0.1мс.

Вопрос: какое число иопсов сможет для себя получить клиент? Наивный ответ - 7000. Но это неправда, потому что, если запросы от клиента сериализуются (а это так), то он будет становиться в очередь и ждать, пока обслужат всех остальных клиентов.

Допустим, глубина очереди 32. Т.к. запросы поступают в режиме белого шума (или, хотя бы, не строго один за одним), то в какой-то момент мы имеем почти заполненную очередь, то есть очередной запрос приходит как №31 в эту очередь. Таким образом, ему придётся ожидать исполнения 32*0.1=3.2мс. Заметим, что время худшего ожидания во внутренней очереди системы не зависит от загруженности системы, т.к. загруженность системы сказывается на задержках _ДО_ попадания в очередь, но не в очереди. В принципе, загруженность и характер нагрузки определяют как часто возникают такие cognession.

Но, вернёмся к худшей оценке. Если мы всё время будем попадать в самый конец очереди, то мы получим ... 312 ИОПС. Вместо наивных 7000. Разумеется, это оценка самая худшая.

Я, к сожалению, в этом месте развожу руками при попытке посчитать средний размер очереди (как это вообще посчитать? Вероятнее всего, есть соответствующая теория...), но я точно могу сказать, что худшая оценка индивидуальной производительности системы определяется именно тем, как долго запрос будет находиться в очереди, то есть её длинной.

Например, в примере выше, если мы _уменьшим_ очередь с 32 до 8, то худшая оценка возрастёт до 1250. Именно про уменьшение размера очереди интеловцы и говорили в вопросах тюнинга производительности SSD на IDF.

У меня остаются вопросы: как рассчитать не худшую, а "среднюю по больнице" загруженность очереди при известной (гипотетической) производительности и текущей загруженности? Какая теория это регулирует? В идеале хотелось бы видеть линк на готовые выводы, потому что на математику меня явно не хватит.