Зміст
Передмова 5
1. Технології побудови розподілених об’єктних систем 7
1.1. Розподілені об’єктні технології в інформаційних системах 7
1.2. Технології RMI, CORBA, DCOM 15
1.2.1. Технологія CORBA 15
1.2.2. Технологія DCOM 16
1.3. Переваги та недоліки використання технологій RMI, CORBA, DCOM 17
1.4. Технологія CORBA 19
1.5. Контрольні питання 32
2. Паралельні обчислювальні системи та паралельні обчислення. 32
2.1. Побудова паралельних обчислювальних систем, аналіз і моделювання паралельних обчислень. 32
2.1.1. Класифікація обчислювальних систем. 38
2.1.2. Моделювання і аналіз паралельних обчислень 47
2.1.3. Навчальний приклад обчислення часткових сум послідовності числових значень 54
2.1.4. Оцінка максимально досяжного паралелізму 61
2.1.5. Аналіз масштабованості паралельних обчислень 64
2.2. Оцінка комунікаційної трудомісткості паралельних алгоритмів 66
2.3. Принципи розробки паралельних методів 83
2.4. Контрольні питання 98
3. Паралельне програмування на основі МРІ 98
3.1. МРІ: основні поняття та означення 100
3.2. Вступ до розробки паралельних програм з використанням МРІ 103
3.3. Управління групами процесів і комунікаторами. 146
3.4. Контрольні питання 160
Література 161
Передмова
У міру того, як комп’ютери стають усе більш швидкодіючими, може скластися враження, що комп’ютери працюватимуть достатньо швидко, а потреба збільшення обчислювальної потужності зменшуватиметься. Проте історія розвитку комп’ютерної техніки свідчить, що в міру того як нова технологія задовольняє усі відомі прикладні проблеми, з’являються нові, інтерес до яких був викликаний цією технологією. Вони вимагають розробки новішої технології. Зокрема перші дослідження ринку збуту фірмою Cray Research пророкували ринок у десяток суперкомп’ютерів, проте з тих пір їх продано тисячі.
Збільшення обчислювальної потужності мотивувалося чисельним моделюванням складних систем, таким як автомобілебудування, нафто - і газовидобування, фармакологія, прогноз погоди і моделювання зміни клімату, сейсмологічна розвідка, проектування електронних та механічних пристроїв, синтез нових матеріалів, виробничі процеси, фізичні і хімічні процеси. На сьогоднішній день найбільш істотними потребами, що вимагають розробки більш швидких комп’ютерів, стають комерційні додатки, для яких необхідно, щоб комп’ютер був здатний обробити величезні об’єми даних з використанням складних методів. Ці додатки, включають бази даних (особливо, якщо вони використовуються у процесі прийняття рішень), відео конференції, спільні робочі середовища, автоматизацію діагностування в медицині, розвинуті графічну і віртуальну реальності (особливо для промисловості потреб).
Комерційні додатки можуть у достатній мірі визначити архітектуру більшості майбутніх паралельних комп’ютерів, а традиційні наукові додатки залишатимуться важливими споживачами паралельних обчислювальних технологій. Оскільки нелінійні ефекти ускладнюють сприйняття результатів теоретичних досліджень, то експерименти стають усе більш вартісними, непрактичними чи неможливими з різних причин (наприклад, США проводить ядерні іспити, використовуючи лише суперкомп’ютери), то обчислювальні дослідження складних систем стають усе більш і більш важливими. Витрати, пов’язані з обчисленнями, істотно збільшуються із збільшенням точності обчислень. Дослідження характеризуються великими вимогами до об’єму пам’яті, підвищеними вимогами до організації процесу введення-введення.
Відомо багато означень поняття суперкомп’ютер. Паралельний комп’ютер - це набір процесорів, здатних спільно функціонувати за умови розв’язку задач обчислювального типу. Таке означення включає як паралельні суперкомп’ютери, що мають сотні чи тисячі процесорів, так і мережі робочих станцій. Ефективність найшвидших комп’ютерів істотно зросла. Перші комп’ютери виконували десятки операцій (з плаваючою комою) за секунду, а продуктивність паралельних комп’ютерів середини дев’яностих років ХХ ст. досягала десятки-сотні мільярдів операцій у секунду, і надалі таке зростання продовжувати...