

Самые читаемые новости
- Как обмануть геркон
- Столица Приволжья понизит градус уличной преступности
- Как Спецлаб берет государственные тендеры?
- Первая презентация системы СРАЗУПОМОЩЬ
- Чем отличается дешевый телефонный домофон от GSM-домофона Спецлаб?
- Продажная безопасность
- Баран с флешкой
- От тюремной камеры спасла камера видеонаблюдения
- Технологичный беспредел на дорогах
- Видеокурс для воров.
Многоядерный облом
Технологический тупик Intel прибавит работы программистам
Intel официально признался в отсутствии идей, как повысить мощность своего процессора. Дальнейшего роста производительности пока не будет. Как долго будет длиться «пока» - никто не знает. Единственный способ наращивания мощности самого персонального компьютера – это многоядерные процессоры. И ядер будет много. Уже давно выпускаются двуядерные, недавно появились 4-х ядерные, все уже ждут 8-и, потом 16-и, – в общем, прогресс пошел экстенсивным путем.
Но только для всех ли это прогресс? Не надо забывать о небольшом нюансе: многоядерные процессоры используют совсем другие программы, нежели те, что мы привыкли юзать. 99% всех программ в этом мире написано на основе принципа последовательного исполнения кода. И все они могут исполняться только одним ядром процессора, сколько бы их ни стояло. Для многоядерных процев нужны параллельные инструкции в коде программ. О них до последнего времени никто особо не заботился ввиду почти полного отсутствия самого предмета заботы. Поэтому, какой бы ядреный и навороченный комп вы ни купили, в большинстве случаев он не даст вам ничего, кроме возможности похвалиться.
Не спешите тратить ваши денежки на пару десятков процессорных ядер, сначала определитесь – с какими программами вы собираетесь работать. Множество фирм живет и здравствует за счет программ, написанных еще в прошлом веке. Как говорят сами разработчики Intel, адаптировать старый код под новые процессоры сложнее, чем написать новый. В прессе как-то не слышно заявлений о чьем-либо желании крутиться в этом направлении и переписывать свой софт. Поэтому рассчитывать на быстрое поступление на рынок программ, поддерживающих новую производительность от Intel, пока не приходится.
И тем не менее, Intel выпустил немало программных средств, позволяющих работать и со старым кодом. Но при этом сразу же предложил свои услуги по оптимизации, стоимость которых начинается от нескольких сот миллионов долларов.
Самостоятельная оптимизация – это действительно Авдеев труд. Распараллеливание процессов требует каждый участок кода. А код в хорошей программе может превышать миллион строчек. И, к сожалению, архитектура персонального компьютера не была готова к такому зигзагу прогресса. Какое-либо системное распределение его ресурсов никак не определено его идеологией. Все ядра могут использовать одни и те же кластеры памяти, одну и ту же шину, одни и те же процессы. Как говорится – всех надо разводить, как кроликов. В общем, легкой жизни ждать не приходится.
Немного повезло тем, у кого сама идеология программы предполагает многопотоковость. Например, программное обеспечение GOAL всегда базировалось на жесткой разделенности потоков многоканального видео и аудио. Если некоторые подобные программы используют одно окно для отображения всех каналов, один поток для обработки и т.д., то GOAL традиционно все делал отдельными ветками, добиваясь большей функциональности. Многооконный интерфейс нелегко давался разработчикам, требуя особой оптимизации ресурсов. Но он стал как никогда кстати в наступающую эпоху параллельных процессов. Теперь это не напряг на бедный процессор, теперь это высвобождение ресурсов.
Тесты на двуядерном процессоре ПО GOAL и более продвинутой GOALcity показывают почти 80% прибавку в производительности. К сожалению, даже в многоканальных системах без серьезной оптимизации под параллельные процессы не обойтись. 4 ядра дают только 35% дополнительной мощности, и можно предположить, что это еще не тестировалось. 8 ядер добавят лишь 10-15% к последнему. Поэтому компания СпецЛаб закупает Интеловские библиотеки по оптимизации кода. И, как всегда – работать, работать и еще раз работать!


