Samara Portal Technology, Computers

Самарский портал "Технологии, компьютеры"

Мне нравится творчество Юрия Визбора: и образ Бормана в знаменитым фильме, и его замечательные песни. Но есть в его песнях и такие слова, что просто режут мне слух. Вот, например:

Всю ночь таранят черноту
Турбины «Ту», турбины «Ту».

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

Или вот строки из стихотворения любимого мной Владимира Высоцкого:

Взлетим мы, распогодится - теперь запреты снимут!
Напрягся лайнер, слышен визг турбин...

Тоже ошибка: высокий, пронзительный звук издаёт компрессор, а звук турбины как раз низкий. Это легко проверить в аэропорту, благо звук двигателей слышен далеко: пока самолёт идёт на вас, и обращён к вам холодной частью двигателя – будет слышен именно визг, как только он вас минует – услышите гул. При взлёте, когда скорость самолёта достаточно велика, это можно списать на эффект Допплера, но не торопитесь – то же самое будет слышно при медленном перемещении самолёта по рулёжным дорожкам.

Но у поэтов свои законы, как это подметил Карел Чапек в одноимённом рассказе:

Повержен в пыль надломленный тюльпан.
Умолкла страсть Безволие... Забвенье
О шея лебедя!
О грудь!
О барабан и эти палочки -
трагедии знаменье!

Если кто не помнит, так выглядело описание ДТП, в котором автомобиль с госномером «235» (о, шея лебедя, о, грудь, о, барабан и эти палочки) сбил пьяную старуху (повержен в пыль надломленный тюльпан).

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

Вот РИА Новости публикует слова вице-премьера РФ Сергея Иванова: «Если бы на Саяно-Шушенской ГЭС стояли датчики ГЛОНАСС, которые измеряют в миллиметрах вибрацию, а такие датчики есть, то можно было бы избежать этой катастрофы». Следом по Первому каналу выступает Николай Кутьин, руководитель Федеральной службы РФ по экологическому, технологическому и атомному надзору: «предельный уровень вибрации - 160 микроколебаний в секунду. После профилактики он должен был составлять 40-60, а оказался близким к предельному - 149 микроколебаний».

Объясняю: колебания в секунду называются герцами. Разумеется, приставка «микро» применима и к этой единице измерений, но 1 микрогерц – это одно колебание в 1 000 000 секунд, то есть в 11 суток. И это ещё мелочи. Главное же в том, что частота (количество в секунду) колебаний турбины зависит не от качества балансировки, а исключительно от её паспортных характеристик и режимов работы. Критичной же является амплитуда колебаний, но она-то измеряется не в герцах, а в линейных величинах: например, миллиметрах. И здесь вроде как правота на стороне выпускника филологического факультета Ленинградского госуниверситета, только вот ГЛОНАСС – это навигационная система, определяющая координаты объекта с максимальной точностью в 10 метров, так что ни о каких миллиметрах там речи идти не может.

Тема «Гуманитарии и турбины» заслуживает отдельного материала. Впрочем, турбины –это частный случай, а тема (которой ещё надо придумать название) намного шире. Сюда по праву должно войти бессмертное ильфопетровское «Волны перекатывались через мол и падали вниз стремительным домкратом» и совсем недавний проект «Чистая вода». К чему всё это здесь? Рассказываю.

Перед самым Новым годом «у меня зазвонил телефон». Впрочем, это слова из недавнего прошлого: сейчас телефонные звуки – это совсем не звонки. У меня, например, телефон играет Венгерский танец №5 Иоганнеса Брамса. Да и «кто говорит?» спрашивать уже не нужно: на дисплее было написано «Михаил Рыбаков». Руководитель пресс-службы корпорации Intel посетовал на то, что в последнее время стиль информирования широкой публики о технических достижениях стремительно упрощается, и скоро по уровню опустится ниже понимания самых широких слоёв читающей публики.

Предлагаемая тема – Intel Turbo Boost, предлагаемое «пособие» (информация к размышлению) – пресс-релиз под названием «7 основных советов, как изменить жизнь к лучшему, или чему мы можем научиться у процессоров Intel® Core™ i5».

Дочитав до вот этого места:

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

понял, что пресс-релиз являет собой как раз тот пример упрощенчества, о котором мне и говорил Михаил Рыбаков. Иногда человеческий организм при фокусировании всех ресурсов на задаче (например, пробежать стометровку) действительно переходит на режим, после которого ресурсы не успевают восполняться, на режим, в котором он просто не может существовать длительное время. Если уж проводить аналогии, то представим себе процессор с массивным радиатором. При наличии такого радиатора мы сможем короткое время заставить процессор работать на частоте, значительно превышающей номинальную. Радиатор, не успевая отдавать тепло воздуху, некоторое время будет поглощать его сам (за счёт большой массы и, соответственно, теплоёмкости), нагреется до опасной температуры, и вскоре (счёт идёт на секунды) мы будем вынуждены дать процессору «расслабиться». Однако ускорение в процессорах семейства Nehalem совсем иной природы: там повышение тактовой частоты процессора носит не ограниченный по времени характер, поэтому приведённое в пресс-релизе сравнение нельзя считать корректным.

В то же время Intel Turbo Boost – это ни в коем случае не блеф и не рекламный трюк. Эта технология успешно выполняет возложенные на неё задачи и заслуживает подробного рассказа. Но начать следует с логики её появления.

Первым процессором в мире был, созданный в начале 70-х, Intel 4004.

Вспомним, как определяется мощность поршневого двигателя: это произведение развиваемого на валу момента на угловую скорость вала. Из этого следует, что если нам удастся удерживать величину момента, то, увеличивая угловую скорость, мы будем повышать мощность двигателя. Для процессоров эта зависимость так же справедлива: за один такт процессор выполняет некоторый объём вычислений, значит, с ростом тактовой частоты будет расти и его производительность. Для анализа технологии Intel Turbo Boost нам совсем не обязательно понимать, что такое объём вычислений за такт. Отметим только, что эта величина будет зависеть от количества транзисторов на процессоре (примерно так же, как момент двигателя зависит от количества цилиндров при фиксированном объёме каждого цилиндра) и от такой сложно оцениваемой штуки, как процессорная архитектура. Разумеется, параллельно с ростом количества транзисторов совершенствовалась и архитектура, здесь надо просто поверить, что многочисленные инженеры корпорации не зря просиживали штаны.

Так вот, процессор Intel 4004 имел тактовую частоту 108КГц. Вскоре частоты перешагнули мегагерцовый рубеж, затем и гигагерцовый. Конечно, при взятии каждого нового рубежа решались сложные инженерные задачи, связанные, прежде всего, со стабильностью функционирования процессоров, но вот в районе 3-4 ГГц, что называется, упёрлись.

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

 

 

 

 

Поскольку материал пишется как популяризаторский, то позволю себе ещё одну аналогию. Представим себе, что мы делаем под водой работу, требующую высокой точности движений, в первое время движения у нас очень медленные – чтобы не ошибиться. Но вот упорные тренировки дают свои плоды, движения наши ускоряются, работа делается быстрее…, однако после некоторого предела мы начинаем ощущать сопротивление воды, которое при медленных движениях никак не сказывалось на нашей работе. Пробуем накачать мышцы – но что толку, если сопротивление движению имеет квадратичную зависимость, и мы уже попали в зону, где ветвь параболы встаёт колом?

Такую же проблему получили и создатели процессоров: с дальнейшим повышением частоты энергопотребление росло просто катастрофически. Фанаты разгоняли процессоры, применяя блоки питания увеличенной мощности и разную экзотику для охлаждения – вплоть для жидкого азота. В лаборатории издания THG путём охлаждения радиатора до -196°C удалось поднять частоту процессора Intel Pentium 4 до 5ГГц. Но на то они и фанаты – промышленного значения их опыты иметь не могли, поскольку вскоре резко скакнула вверх цена на энергоносители, следом за ними – на электроэнергию, и для процессоров на первое место стал выходить не показатель их абсолютной производительности, а КПД – вычислительная производительность на единицу потребляемой мощности.

В это же время произошло ещё одно важное событие: в 2005 году появились первые двухъядерные процессоры для массовых настольных ПК, а немного позже – и для ноутбуков. Смысл этой затеи был в следующем: современные персональные машины работают под управлением многозадачных операционных систем, да и сами ресурсоёмкие приложения можно распараллеливать (если соответствующим образом их написать). Например, сейчас я одновременно пишу этот текст, заглядываю с помощью браузеров (я не оговорился: для разных задач используются разные браузеры) в интернет, также открыт MS Outlook и QIP. Так вот, если приложения будут распределены по нескольким ядрам, то при неизменной частоте можно будет повысить производительность системы, образно говоря, мы расширяем «горло» при пониженной скорости потока.

И здесь становится очевидной следующая вещь: нагрузку на ядра даже при равномерной работе (если бы такая была) не удалось бы распределить равномерно, а уж с учётом того факта, что я то пишу, то лезу в интернет, то отвечаю на сообщения в QIP`е… Здесь, конечно, сравнение с двигателем начинает сильно хромать: у двигателя всегда один коленвал, а в процессоре мы с каждого «цилиндра», то есть ядра, отдельно снимаем мощность. Но напряжём фантазию и разрежем коленвал двигателя относительно нагрузки, не имея при этом возможности изменить тактовую частоту каждого цилиндра. Хорошо ли будет? Или лучше было бы иметь возможность изменять обороты частей коленвала, связанных с разными цилиндрами, форсируя при этом одни цилиндры, а другие, ненагруженные, отпуская работать на минимальных оборотах холостого хода?

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

Также жаль, что в рассуждениях штатных маркетологов не разъясняется ситуация, в которой Turbo Boost даст реальное повышение производительности. Попытаюсь восполнить этот пробел. Представим, что максимальная мощность четырёхъядерного процессора 100Вт, то есть каждое ядро потребляет (и, соответственно, выделяет тепла) по 25Вт. Случилось, что 3 ядра простаивают полностью (это для простоты рассуждений, конечно по нескольку ватт там будет), зато четвёртое перегружено нераспараллеленной задачей. Теоретически Turbo Boost могла дать нам возможность поднять частоту четвёртого ядра так, что все 100Вт достались бы ему. Однако в этом случае возникает недопустимый местный перегрев процессора. Тем не менее, при неработающих трёх ядрах всё равно имеется возможность дать нагруженному ядру более ¼ максимальной электрической мощности и сделать это именно за счёт того, что на ненагруженные ядра будет подаваться пониженная мощность (связанная, как мы уже знаем, с их тактовой частотой).

Проиллюстрирую вышесказанное рисунками с официальной презентации Intel Nehalem: 

Технология Intel® Turbo Boost. Нераспараллеленное приложение.

 

 

 

 

 

Фактически, турборежим – это частота, на которой полностью и равномерно нагруженный процессор способен стабильно работать неограниченное время, а его отсутствие – экономичный режим недогруженного процессора. Отметим, что разница между ними всего 2 шага (золотые пластиночки).

Технология Intel® Turbo Boost. Слабо распараллеленное приложение.

 

 

 

 

 

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

Технология Intel® Turbo Boost. Хорошо распараллеленное приложение.

 

 

 

 

 

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

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

Intel: архитектурные неизлишества… с хвостиком

Intel: архитектурные неизлишества… с хвостиком. Статья Владислава Боярова

16-я ежегодная конференция «КОСС Плюс» – возраст зрелости

16-я ежегодная конференция «КОСС Плюс» – возраст зрелости. Статья Владислава Боярова