Компьютерра PDA N140 (15.10.2011-21.10.2011)
Шрифт:
Понятно, конечно. Некоторые утверждают, что понятно настолько, что телевизор можно и не включать: ничего непонятного в ближайшие полгода мы не увидим и не услышим. Но что понятно и кому понятно? Говорящему понятно одно, слушающему – другое, и потому возможно непонимание, порой – трагическое.
Ясно, что расширение производственной базы СМИ не могло пройти без издержек и потерь – аналогия с индустриализацией тридцатых годов, когда к станкам пришли крестьяне. В крестьянском хозяйстве миллиметров не водилось, больше вершки, аршины и сажени. Потому и с микрометром обращаться было не с руки. Точность страдала, страдало и качество изделий, детали подгоняли друг к другу кувалдой, винты вкручивали с перекосом, обувь
Окончательно излечиться от крестьянской болезни вершка советская промышленность так и не смогла. Тому подтверждение - магнитофон "Нота" и видеомагнитофон "ВМ-12", которые у меня выходили из строя постоянно.
То же и с речью, устной ли, письменной. Неточность инструмента обязательно сказывается на результате труда. Сбитый прицел не даёт попасть в цель. Если сигналы точного времени радиостанции передают вразнобой, каждая по своим песочным часам, то это – сигналы неточного времени. Неточности множатся.
Даже вообразить невозможно, чтобы автобусы, троллейбусы или трамваи ходили по Москве точно по расписанию. Отправляясь на вокзал или в аэропорт, желательно иметь резервный час, иначе, застряв в пробке, рискуешь опоздать на рейс. Прибыв вовремя, вполне можешь прождать сутки, прежде чем попадёшь в самолёт. А если во время взлёта вдруг, не поняв друг друга, один пилот будет жать на газ, а другой – на тормоз? Небрежность, обмолвки, "и так поймут" приводят к тому, что из-за крохотной ошибочки в программе летят мимо далёкой планеты невероятно сложные аппараты ценой в миллиарды.
Что хуже – и общество летит мимо цели, а мы привыкли к этому настолько, что сомневаемся в существовании цели в принципе. "Цель – ничто, движение – всё!"
Авось. Живое, пусть и неточное слово лучше безупречных кладбищенских эпитафий. Новые притоки в иссыхающую реку – благо, даже если с водой они несут толику ила и песка. Подобное состояние уже было после манифеста тысяча девятьсот пятого года.
Манифест, помимо прочего, породил бурный расцвет всякого рода изданий – газет, журналов, альманахов. Одних сатирических журналов народилось несколько десятков (а вот сейчас сатиры что-то не видно и не слышно). Просуществовав несколько месяцев, а иногда и сразу после первого номера издания закрывались. Порой из-за судебных решений (оскорбление династии и призывы экстремистского характера), но чаще из-за экономических просчётов: продажа не окупала затрат.
Издатели стали минимизировать расходы, экономя на редакторах, корректорах, авторах. В результате ошибки, опечатки и нелепости хлынули со страниц в читающую массу. К чему это привело – известно.
AMD Bulldozer: ждать ли революции?
Автор: Андрей Луценко
Опубликовано 18 октября 2011 года
Анонс новых процессоров AMD Bulldozer ("Бульдозер") получился неоднозначным. В комментариях и обзорах царит полный скепсис. Тесты показывают отсутствие значимого повышения эффективности в сравнении с предыдущей архитектурой К10 в пересчете на единичное ядро. Долгожданная архитектура процессоров от AMD вызвала всеобщее разочарование. А зря. Незамеченным осталось главное: в архитектуре процессорных систем AMD применила совершенно новый способ повышения производительности.
Чтобы понять суть произошедших революционных изменений в архитектуре нового процессора AMD, нужно абстрагироваться от результатов конкретных тестов. Никто не спорит - технология сырая. Но не будем с водой выбрасывать младенца: главное - концепция.
Посмотрите на блок-схему новых процессоров AMD. Сразу видно, архитектура ориентирована на связное выполнение двух зависимых вычислительных процессов.
Ранее
за производительность боролись тремя способами: наращивали количество ядер в процессоре, повышали число команд, выполняемых за единичный такт, или увеличивали тактовую частоту, упираясь в тепловой пакет на уровне 130-150 Ватт."Бульдозер" двинулся другим путём. В борьбу за повышение производительности вступила многопоточная обработка команд. Возникло новое понятие: "тесно связанные вычислительные ядра", или, ещё короче, "процессорный модуль".
И вот с этого места начну поподробнее, хоть и популярно.
Задаче повышения эффективности межпроцессорного взаимодействия до сих пор внимания практически не уделялось; системы межпроцессорных прерываний остаются неизменными на протяжении уже третьего десятилетия. За это время изменилось многое, и главное, на что пока не реагировали разработчики микропроцессорных архитектур, - это совмещение на одном кристалле нескольких процессорных ядер. Нонсенс - процессоры на одном кристалле, а связь между ними организована по внешней шине и по устаревшему протоколу...
Да и программисты наизобретали множество способов облегчить себе жизнь, в то время как эффективность самого вычислительного процесса катастрофически упала.
Их "творения" даже на последних суперскоростных процессорах работают с "тормозами". Почему? Да потому, что оптимальные алгоритмы вычислительных процессов были изменены в угоду удобству поточной индустрии программирования (слово "индус" произошло от слова "индустрия"? или наоборот?).
Базовыми технологиями производства программного продукта на настоящий момент являются объектное программирование и универсальные виртуальные машины.
Следствием такой индустриализации стало использование методов связывания объектов на этапе выполнения и выполнение кода в среде интерпретаторов. Фактически функций компилятора были перенесены в среду исполнения кода. То, что ранее выполнялось один раз на этапе компиляции дистрибутива, теперь выполняется каждый раз во время работы программы у конечного пользователя.
Но не всё так мрачно. Как говорится, "не было счастья, так несчастье помогло". Сейчас весь типовой вычислительный поток состоит из двух компонент, функций компилятора и собственно рабочего тела программы. Этот поток можно разбить на два тесно связанных потока и параллельно выполнять на разных процессорах, но вот беда: архитектура межпроцессорных взаимодействий пока такого не позволяет.
Как бороться с этой бедой? Да очень просто: есть связанные вычислительные потоки, значит, по ассоциации, нужно сделать тесно связанные вычислительные ядра для их эффективной обработки. Бульдозер выбрал этот путь.
Недавно появилась ещё одна область вычислительных задач, на которых явно применяются тесно связанные вычислительные потоки, - виртуализация. В ней используются связанные вычислительные потоки типа "хост-задача".
Да и старая академическая тема спекулятивного выполнения кода сводится к параллельной работе нескольких тесно связанных вычислительных потоков, а как уверяют теоретики, этот метод сулит небывалые уровни производительности в системах с избытком аппаратных ресурсов.
Короче говоря, настало время научить аппаратуру работать со связными вычислительными потоками, это путь к существенному повышению эффективности вычислений. А программистов научить распараллеливать код на тесно связанные потоки.
Подведём итог. Имеется устаревшая технология межпроцессорного взаимодействия, Программисты вовсю явно и неявно используют связные вычислительные потоки. Чего пока не хватает для полного "энергоэффективного" счастья? "Бульдозера", чтобы всё это расчистить под площадку для новой процессорной архитектуры.