Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Отчеты по практике » Порівняння можливостей OpenMP і TPL

Реферат Порівняння можливостей OpenMP і TPL





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

Починаючи з .NET Framework 4 бібліотека паралельних завдань є кращим способом створення багатопотокового і паралельного коду. Однак не всякий код підходить для паралелізації; наприклад, якщо цикл за кожну ітерацію виконує невеликий обсяг робіт або виконується для невеликого числа ітерацій, через додаткового навантаження, яку параллелизация чинить на систему, код може виконуватися повільніше. Крім того, параллелизация, як і будь багатопотоковий код, ускладнює виконання програми. Хоча бібліотека паралельних завдань спрощує багатопотокові сценарії, рекомендується мати базове розуміння понять потоків, наприклад блокування, взаимоблокировки і стану гонки, щоб ефективно використовувати бібліотеку паралельних завдань.

Основні переваги Task Parallel Library:

· Одне з найважливіших переваг цієї бібліотеки в тому, що для створення багатопотокового коду потрібно мінімум змін;

· Розробник все ще повинен сам явно розбити рішення на незалежні завдання, які можуть виконуватися паралельно, без шкоди для логіки, але оптимальним розподілом цих завдань по потокам вже займається TPL;

· Ця бібліотека Усовіршенствует багатопоточний програмування двома основними способами. По-перше, вона спрощує створення і застосування багатьох потоків. І по-друге, вона дозволяє автоматично використовувати декілька процесорів. TPL відкриває можливості для автоматичного масштабування додатків з метою ефективного використання ряду доступних процесорів. Завдяки цим двом особливостям бібліотеки TPL вона рекомендується в більшості випадків до застосування для організації многопоточной обробки.

1.2.3 Використання OpenMP і бібліотеки TPL для вирішення завдань

Основною причиною появи стандартів OpenMP і TPL, служить зросле значення паралелізму в сучасному програмуванні. В даний час багатоядерні процесори вже стали звичайним явищем. Крім того, постійно зростає потреба у підвищенні продуктивності програм. Все це, в свою чергу, викликало зростаючу потребу в механізмі, який дозволяв би з вигодою використовувати декілька процесів для підвищення продуктивності програмного забезпечення.

Бібліотека TPL визначена в просторі імен System.Threading.Tasks. Але для роботи з нею зазвичай потрібно також включати в програму клас System.Threading, оскільки він підтримує синхронізацію та інші засоби многопоточной обробки, в тому числі й ті, що входять в клас Interlocked.

Застосовуючи TPL, паралелізм в програму можна ввести двома основними способами. Перший з них називається паралелізмом даних. При такому підході одна операція над сукупністю даних розбивається на два паралельно виконуваних потоку або більше, в кожному з яких обробляється частина даних. Так, якщо змінюється кожен елемент масиву, то, застосовуючи паралелізм даних, можна організувати паралельну обробку різних областей масиву в двох або більше потоках. Неважко здогадатися, що такі паралельно виконуються дії можуть призвести до значного прискорення обробки даних в порівнянні з послідовним підходом.

Незважаючи на те що паралелізм даних був завжди можливий і за допомогою класу Thread, побудова масштабованих рішень засобами цього класу вимагало чимало зусиль і часу. Це положення змінилося з появою бібліотеки TPL, за допомогою якої масштабований паралелізм даних без особливих зусиль вводиться в програму.

Другий спосіб введення паралелізму називається паралелізмом завдань. При такому підході дві операції або більше виконуються паралельно. Отже, паралелізм завдань являє собою різновид паралелізму, який досягався в минулому засобами класу Thread. А до переваг, які обіцяє застосування TPL, відноситься простота застосування і можливість автоматично масштабувати виконання коду на кілька процесорів.

Бібліотека TPL дозволяє автоматично розподіляти навантаження додатків між доступними процесорами в динамічному режимі, використовуючи пул потоків CLR. Бібліотека TPL займається розподілом роботи, плануванням потоків, управлінням станом та іншими низькорівневими деталями. У результаті з'являється можливість максимізувати продуктивність додатків .NET. не маючи справи зі складнощами прямої роботи з потоками.

Існує основний підхід, який є основою технології OpenMP, найбільш широко застосовується в даний час для організації паралельних обчислень на багатопроцесорних системах із загальною пам'яттю. В рамках даної технології директиви паралелізму використовуються для виділення в програмі паралельних областей (parallel regions), в яких послідовний виконуваний код може бути розділений на декілька роздільни...


Назад | сторінка 4 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Паралелізм як спосіб паралельної обробки даних
  • Реферат на тему: Розробка бази даних службових завдань для направлення у відрядження і звіта ...
  • Реферат на тему: Створення резервних Копій програмного коду и даних
  • Реферат на тему: Створення бази даних "Бібліотека"
  • Реферат на тему: Схема потоків даних на установці CMS / LHC і засоби їх обробки