Hyper threading значительно повышает эффективность выполнения ресурсоемких приложений например, связанных с аудио и видеоредактированием, 3. D моделированием, а также работу ОС в многозадачном режиме. В 2 ядерном чипе параллельно работают два ядра два процессора, которые при меньшей тактовой частоте обеспечивают большую производительность, поскольку параллельно одновременно выполняются два независимых потока инструкций. Необходимость в TLP зависит от конкретной ситуации в некоторых случаях она просто бесполезна. Так как с оперативной памятью одновременно работают сразу два и более ядра, необходимо научить их работать без конфликтов. Возросшее энергопотребление требует применения мощных схем питания. Требуется более мощная система охлаждения. Количество оптимизированного под многоядерность программного обеспечения ничтожно мало большинство программ рассчитаны на работу в классическом одноядерном режиме, поэтому они просто не могут задействовать вычислительную мощь дополнительных ядер. Операционные системы, поддерживающие многоядерные процессоры например, Windows XP SP2 и выше используют вычислительные ресурсы дополнительных ядер для собственных системных нужд. Кроме того, на практике n ядерные процессоры не производят вычисления в n раз быстрее одноядерных хотя прирост быстродействия и оказывается значительным, но при этом он во многом зависит от типа приложения. У программ, которые не рассчитаны на работу с многоядерными процессорами, быстродействие увеличивается всего на 5. А вот оптимизированные под многоядерные процессоры программы работают быстрее уже на 5. Очевидно, что для современного покупателя приобретение 4 ядерного процессора для домашних нужд пока почти не имеет смысла по многим причинам. Во первых, на сегодня практически нет программ, способных эффективно использовать преимущества 4 х одновременно работающих потоков во вторых, производители ПК позиционируют 4 ядерные процессоры, как Hi End решения, добавляя к оснастке ПК самые современные видеокарты и объемные жесткие диски, а это в конечном счете еще больше увеличивает стоимость и без того недешевых ПК. Разработчики Intel говорят. Программное обеспеченье многоядерных вычислительных комплексов. Расчт увеличения производительности за счет распараллеливания процессов. Закон Амдала гласит, что прирост производительности S системы зависит от количества процессоров N и доли последовательных операций c в программе S. Если лишь 11. 0 часть программы выполняется последовательно, то в принципе невозможно ускорение в десять раз вне зависимости от числа используемых процессоров ядер. Важное следствие закона Амдала состоит в том, что максимальный рост производительности в N раз при N процессорах недостижим. В противном случае последовательно исполняемая часть программы должна быть равна нулю, что невозможно. Еще одно следствие закона таково чем меньше доля последовательно исполняемой части программы, тем больше прирост производительности рис. Следствия закона Амдала. Сегодня только небольшая часть программного обеспечения может выполняться на многоядерных процессорах, что подтверждают результаты тестов синтетических и предназначенных для конкретных классов приложений см., например, www. Реальный рост производительности дают лишь программы, оптимизированные под много поточность, такие как Adobe Premiere Pro 1. DMax. Очень важны разработка и внедрение драйверов устройств, поддерживающих многопоточность. При переходе с одноядерных процессоров на многоядерные приходится принимать во внимание проблему последовательного выполнения. Такая ситуация может возникнуть по разным причинам блокировка при доступе к ресурсам, необходимость синхронизации процессов или потоков на ядрах, поддержка когерентности кэш памяти, неравномерность загрузки. Очень часто параллельные процессы, выполняемые на разных ядрах, нужно синхронизировать в определенные моменты. Например, приложение на одном из ядер должно использовать промежуточные данные, которые получает приложение поток, процесс на другом ядре. Первое приложение не может продолжить работу до получения этих данных, то есть находится в состоянии ожидания. В такой ситуации неизбежны накладные расходы на синхронизацию приложений процессов, потоков, выполняемых на разных ядрах. В будущем количество ядер в процессорах будет только возрастать. Но есть и оптимизированные под многоядерные процессоры. В свою очередь, это обусловливает снижение эффективности параллельной работы, что находит отражение в сетевом законе Амдала. Возникает необходимость в поддержке когерентности согласованности кэш памяти для всех ядер при использовании разделяемой памяти. Специалисты корпорации опытным путем показали эффективность регулирования тактовой частоты асимметричной многопроцессорной системы в зависимости от активности вычислительных ядер. Для обеспечения многопоточности используются различные инструменты. Так, в 2. 00. 5 году Intel выпустила версию 9. C и Фортран для платформ Linux и Windows. Этот компилятор позволяет эффективно использовать возможности технологии Hyper Threading и многоядерных процессоров. Он поддерживает возможность автопараллелизма, то есть автоматического обнаружения в приложениях возможности создания множества параллельных потоков с поддержкой спецификации Open. MP 2. 5. Для этого требуется либо указать параметр компилятора. С ноября 2. 00. 5 года компилятор gcc для языков Cи, C и Фортран 9. Open. MP с помощью опции. Следует упомянуть и набор компиляторов EKOPath компании Path. Scale, предназначенных для 6. Linux AMD6. 4 и EM6. T. Программисты хорошо знают, как трудно отлаживать многопоточные приложения.