ля роботи з віртуальними машинами апаратний відладчик повинен підтримувати ряд спеціальних функцій (зокрема, визначати, до якої віртуальній машині відносяться ті чи інші процеси і нитки). Їх забезпечує, наприклад, TRACE32 компанії Lauterbach. Завдяки повній підтримці вбудованих апаратних блоків управління пам'яттю можна одночасно налагоджувати процеси на декількох віртуальних машинах і навіть два варіанти одного процесу на різних віртуальних машинах. Зокрема, Lauterbach оголосила про випуск програмного інструментарію інтегрованої підтримки ядра (kernel awareness) для операційної системи LynxOS-178. Щоб отримати доступ до всіх функціями TRACE32, не потрібно змінювати прикладні програми або ядро ​​(застосовувати латки, перехоплювачі, інструментальні "доважки" та ін.) Регламентуватиме саме той додаток, що буде діяти в кінцевому продукті, що дуже важливо для його сертифікації. p align="justify"> Серед інших апаратних отладчиков, що підтримують роботу із багатоядерними конфігураціями, назвемо Green Hills Probe і SuperTrace компанії Green Hills, WindPower ICE компанії Wind River, RealView ICE від ARM. p align="justify"> При розробці паралельних програм використовуються спеціалізовані бібліотеки та системи паралельного програмування PVM, LAM, CHMP та ін Три основні підходи до реалізації цих систем розрізняються методами взаємодії паралельних завдань. Перший підхід базується на концепції обміну повідомленнями, другий - на використанні розділяється пам'яті, третій спирається на стандарт POSIX і об'єднує ці два підходу. p align="justify"> Найбільш відомим представником першої групи є специфікація MPI (Message Passing Interface) для мов програмування С та Фортран, перший варіант якої з'явився у 1994 році. MPI забезпечує приблизно 200 функцій, охоплює безліч компіляторів і операційних систем. Серед найбільш поширених її реалізацій бібліотека MPICH. Крім того, пропонуються кілька комерційних реалізацій MPI, наприклад MPI/Pro компанії Verari Systems Software. MPI/Pro оптимізує час роботи паралельних додатків і підтримує їх масштабованість за рахунок балансування параметрів продуктивності та використання ресурсів. Verari пропонує версії MPI/Pro для різних операційних систем, у тому числі Windows, Linux, Mac OS X, LynxOS, і таких комунікаційних середовищ, як Gigabit Ethernet, Myrinet і InfiniBand. p align="justify"> До другої групи належить специфікація OpenMP (Open specifications for Multi-Processing). Її перша версія (openmp.org), яка була випущена в 1997 році, призначалася для мови Фортран. До появи OpenMP "доклали руку" компанії IBM, Intel, Sun Microsystems і Hewlett-Packard. У 1998 році були створені варіанти OpenMP для мов програмування С/C + +, а останньої є версія 2.5. Підтримка специфікації OpenMP забезпечена у всіх компіляторах Intel починаючи з шостої версії, в Microsoft Cи/C + + починаючи з Visual Studio 2005, а також у GCC. - Це набір спеціальних директив компілятору (pragma), бібліотечних функцій і змінних середо...