Параллельное программирование

В настоящее время одним из самых актуальных направлений развития вычислительной техники является создание суперкомпьютерных систем для решения задач, требующих применения параллельных вычислительных методов. Знание современных тенденций развития вычислительной техники и аппаратных средств для достижения параллелизма, умение разрабатывать модели, методы и программы параллельного решения задач обработки данных следует отнести к важным квалификационным характеристикам современного программиста.

Распространение многоядерных процессоров, на которых стали работать обычные приложения, делает параллельного программирования все более распространенным и популярным.

В отличие от программирования последовательных вычислений, концептуальную основу которого составляет понятие алгоритма, реализуемого по шагам строго последовательно во времени, в параллельном программировании программа порождает совокупность параллельно протекающих процессов обработки информации, полностью независимых или связанных между собой статическими или динамическими пространственно-временными или причинно-следственными отношениями.

В технологии параллельного программирования имеются три дополнительных, чётко определённых этапа.

1. Определение параллелизма: анализ задачи с целью выделить подзадачи, которые могут выполняться одновременно;

2. Выявление параллелизма: изменение структуры задачи таким образом, чтобы можно было эффективно выполнять подзадачи. Для этого часто требуется найти зависимости между подзадачами и организовать исходный код так, чтобы ими можно было эффективно управлять;

3. Выражение параллелизма: реализация параллельного алгоритма в исходном коде с помощью системы обозначений параллельного программирования.

В настоящее время существует более 100 различных средств, позволяющих разрабатывать параллельные программы. Наиболее известные технологии: OpenMP, стандарт которой был разработан для языков Fortran, C и C++ ; система параллельного программирования PVM (Parallel Virtual Machine), позволяющая объединить набор разных компьютеров, связанных сетью, в общую вычислительную систему, называемую параллельной виртуальной машиной (поддерживает языки Fortran, C, C++, имеет средства сопряжения с языками Perl, Java); технология программирования CUDA (Compute Unified Device Architecture) – программно-аппаратное решение, позволяющее использовать видеопроцессоры NVIDIA для вычислений общего назначения; технология MPI – интерфейс передачи данных (message passing interface).

Современные задачи обработки информации, новые аппаратные и сетевые решения вычислительной техники делают необходимым изучение, как в школе и вузе, основных парадигм и технологий программирования.

 








Дата добавления: 2015-12-16; просмотров: 797;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.