OpenMP.ru

Оптимизация

Вопросы миграции процессов

by on Сен.27, 2012, under Оптимизация

С точки зрения производительности параллельной программы пиннинг (привязка процесса к ядру процесса) очень важен.

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

Как правило Linux имеет некую стандартную политику распределения процессов по ядрам. Обычно она выглядит так: есть несколько процессов. Мы начинаем раскладывать с 0-го ядра в системе (см /proc/cpuinfo — нумерация ядер в системе будет аналогична), следующий процесс будет занимать другой пакет и другой сокет. Т.е. происходит неявное чередование (очевидно для размазывания загрузки по разным _физически_ процессорам).

Непосредственно для привязки процессов к CPU мы можем использовать:

(continue reading…)

Leave a Comment more...

Тренинг по оптимизации ПО

by on Май.25, 2011, under Оптимизация

В МГУ прошла первая часть тренинга по оптимизации ПО. Пользователи кластеров МГУ (Чебышев и Ломоносов) приносили свои исходные коды, а инструкторы компании Intel рассказывали об инструментах для оптимизации и на живом примере показывали как они работают.

http://msu-intel.parallel.ru/?q=node/81

Работа была построена скорее как практика, на которой обучаемые с помощью подсказок инструктора находили узкие места своих программ.
Первая часть была посвящена MPI-ной производительности и оптимизации с помощью Intel Trace Collector/Analyzer.
Во второй части внимание было уделено производительности последовательных частей кода. На IPTU собирался профиль и дальнейший анализ производился на нем же.

Как показала практика — в коде всегда есть место для оптимизации, результатом тренинга стало ускорение работы научных программ в широком диапазоне — от 4х до 5%.

В конце июня планируется продолжение тренинга в суперкомпьютерном центре МГУ. Если есть заинтересованность — пишите, возможно и для вас найдется место.

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!