Здравствуйте. Сейчас я прохожу данный курс, и пришел к выводу, что без практики толку будет мало. Собственно, хотелось бы получить какие-либо задания для самостоятельной работы, которые мельком упоминаются в этом курсе, но нет ни слова о том, что это за задачи и где их брать. |
Введение
Предисловие
Последние годы связаны с резким изменением направления развития процессоров – появлением многоядерных и многопоточных процессоров. Их эффективное использование требует повсеместного перехода с последовательных программ на параллельные программы.
Модель параллелизма по управлению (в западной литературе используется и другое название – модель разделения работы, work-sharing model) возникла уже давно как модель программирования для мультипроцессоров. На мультипроцессорах в качестве модели выполнения используется модель общей памяти. В этой модели параллельная программа представляет собой систему потоков, взаимодействующих посредством общих переменных и примитивов синхронизации. Основная идея модели параллелизма по управлению заключалась в следующем. Вместо программирования в терминах потоков предлагается расширить языки специальными управляющими конструкциями – параллельными циклами и параллельными секциями. Создание и уничтожение потоков, распределение между ними витков параллельных циклов или параллельных секций (например, вызовов процедур) – все это берет на себя компилятор.
Попытка стандартизовать такую модель привела к появлению в 1997 году проекта языка OpenMP Fortran. Позднее появились аналогичные расширения языков Си, Си++.