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



Параллельные вычисления

Автор Ilije задал вопрос в разделе Другие языки и технологии

Что такое параллельное программирование? и получил лучший ответ

Ответ от Дина Рахимова[эксперт]
ответ:

Ответ от Krab Bark[гуру]
Программирование с учетом возможности распараллеливания потока команд для выполнения несколькими процессорами (или ядрами многоядерных процессоров).

Ответ от Aka Diesel[гуру]
Представьте себе такую картину: несколько автомобилей едут из пункта А в пункт В. Машины могут бороться за дорожное пространство и либо следуют в колонне, либо обгоняют друг друга (попадая при этом в аварии!). Они могут также ехать по параллельным полосам дороги и прибыть почти одновременно, не "переезжая" дорогу друг другу. Возможен вариант, когда все машины поедут разными маршрутами и по разным дорогам.
Эта картина демонстрирует суть параллельных вычислений: есть несколько задач, которые должны быть выполнены (едущие машины). Можно выполнять их по одной на одном процессоре (дороге) , параллельно на нескольких процессорах (дорожных полосах) или на распределенных процессорах (отдельных дорогах). Однако задачам нужно синхронизироваться, чтобы избежать столкновений или задержки на знаках остановки и светофорах.
Параллельная программа содержит несколько процессов, работающих совместно над выполнением некоторой задачи. Каждый процесс — это последовательная программа, а точнее — последовательность операторов, выполняемых один за другим. Последовательная программа имеет один поток управления, а параллельная — несколько.
Совместная работа процессов параллельной программы осуществляется с помощью их взаимодействия. Взаимодействие программируется с применением разделяемых переменных или пересылки сообщений. Если используются разделяемые переменные, то один процесс осуществляет запись в переменную, считываемую другим процессом. При пересылке сообщений один процесс отправляет сообщение, которое получает другой.
При любом виде взаимодействия процессам необходима взаимная синхронизация. Существуют два основных вида синхронизации — взаимное исключение и условная синхронизация. Взаимное исключение обеспечивает, чтобы критические секции операторов не выполнялись одновременно. Условная синхронизация задерживает процесс до тех пор, пока не выполнится определенное условие. Например, взаимодействие процессов производителя и потребителя часто обеспечивается с помощью буфера в разделяемой памяти. Производитель записывает в буфер, потребитель читает из него. Чтобы предотвратить одновременное использование буфера и производителем, и потребителем (тогда может быть считано не полностью записанное сообщение) , используется взаимное исключение. Условная синхронизация используется для проверки, было ли считано потребителем последнее записанное в буфер сообщение.
Как и другие прикладные области компьютерных наук, параллельное программирование прошло несколько стадий. Оно возникло благодаря новым возможностям, предоставленным развитием аппаратного обеспечения, и развилось в соответствии с технологическими изменениями. Через некоторое время специализированные методы были объединены в набор основных принципов и общих методов программирования.

Ответ от Andrey Sas[активный]
Простыми словами это когда несколько процесоров выполняють одну задачу... иными словами эту задачу можно разбить на несколько подзадачь и програмно задать на выполнение каждому процесу соответствующую подзадачу.... таким образом улутшается быстродействие системы вцелом...

Ответ от Лариса Федорова[новичек]
"...подзадачЬ..." Умным людям не грех и русский язык подучить. ..Без обид...

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Что такое параллельное программирование?

понятие информатика. основные направления информатики.
Информатика - это комплексная, техническая наука, которая систематизирует приемы создания,
подробнее...
спросили в 15 февраля GPGPU
Что такое CUDA API
CUDA (англ. Compute Unified Device Architecture) — технология GPGPU (англ. General-Purpose
подробнее...
спросили в Фон Принципы
Перечислите принципы Джона Фон Неймана.
Пожалуйста, ниже перечисляю Принципы Джона фон Неймана:

В основу построения подавляющего
подробнее...
спросили в Железо GPGPU
Что такое OPENCL?
OpenCL (от англ. Open Computing Language — русск. открытый язык вычислений) — фреймворк для
подробнее...
спросили в Другое
Вода имеет 4 агрегатных состояния: жидкое, твердое, газообразное. А какое ещё?;)
Кроме трех перечисленных, (жидкое, твердое, газообразное) открыто новое состояние воды, в котором
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Железо
материнская плата Asus P5GDC Pro
если ты хочешь играть в игры на данной материнской плате, то о замене процессора можешь не думать,
подробнее...

Архитектура фон неймана обьясните коротко и ясно?
Основы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон
подробнее...
спросили в Другое
что такое OpenCL.dll
Библиотека OpenCL.dll* (Open Computing Language" - "открытый язык вычислений") - это фреймворк для
подробнее...

Что это за программа? AGEIA Physx v 7.11.13
Ускоритель AGEIA PhysX является первым процессором, специально разработанным с целью произвести
подробнее...

Что значит "синхронный" и "асинхронный" язык программирования, и к какому типу относятся PHP, Perl, Python, C# ?
>Что значит "синхронный" и "асинхронный" язык программирования
Ровным счетом ничего.
подробнее...

основные разделы информатики
Разделы информатики

Математические основы
Криптография
Теория графовподробнее...
спросили в Нейроны
Что такое "семантическая нейронная сеть"?
Это название возникло из понятий "нейронная сеть" и "семантическая сеть". Семантическая нейронная
подробнее...
спросили в Железо 320
что лучше GeForce 8800 или geforce gt 320
Ну я незнаю как кто и чем)) )
Я отвечаю по современным меркам
GeForce GT 320 объединяет
подробнее...

Ошибка компиляции CUDA Visual Studio C++ cl.hpp Библиотеку cl.hpp положила в нужную папку помогите плз...
Файла cl.cpp наверняка нет (ключевое слово CUDA в заголовке вопроса и специфичные имена функций в
подробнее...

Что такое скалярная и векторная архитектура и чем одна от другой отличается?
Что касается скалярной обработки, то соответствующая подсистема команд в
японских
подробнее...
Параллельные вычисления на Википедии
Посмотрите статью на википедии про Параллельные вычисления
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*