Page 22 - 6571
P. 22
дані з пам’яті. Однак якщо те ж саме виявить процесор з поряд-
ковим номером 1 мультикомп’ютера із розподіленою пам’яттю,
то він не зможе просто зчитати дані з пам’яті процесора 2. В да-
ному випадку алгоритм отримання даних повинен бути іншим.
Спочатку процесору 1 потрібно певним чином з’ясувати,
який процесор містить необхідні йому дані, і послати цьому про-
цесору повідомлення із запитом копії даних. Потім процесор 1
блокується до моменту отримання відповіді. Коли процесор 2
отримує повідомлення, то воно програмно аналізується і після
цього необхідні дані передаються процесору 1. Коли процесор 1
отримує повідомлення із даними, то він програмно розблокову-
ється і після цього продовжує свою нормальну роботу.
У мультикомп’ютерах для взаємодії між процесорами часто
використовуються примітиви send та receive. Тому програмне
забезпечення мультикомп’ютерів має більш складну структуру,
ніж програмне забезпечення мультипроцесорів. При цьому осно-
вною проблемою стає правильний розподіл даних і розумне їх
розміщення. Це ще одна відмінність мультикомп’ютера від муль-
типроцесора, де розміщення даних не впливає на правильність
рішення задачі, хоча може вплинути на швидкість її рішення.
Може виникнути закономірне питання. Навіщо взагалі ство-
рювати мультикомп’ютери, якщо мультипроцесори набагато ле-
гше програмувати? Відповідь проста – створити потужний муль-
тикомп’ютер простіше і дешевше, ніж мультипроцесор з такою ж
кількістю процесорів. Реалізація загальної пам’яті, що має спіль-
но використовуватися декількома сотнями процесорів є дуже
складним завданням, а розробити мультикомп’ютер, що містить
10000 і більше процесорів технічно досить легко.
Отже, отримуємо дилему, згідно якої мультипроцесори скла-
дно проектувати, але легко програмувати, а мультикомп’ютери
легко проектувати, але важко програмувати. В результаті постій-
но робляться спроби створення гібридних систем. Ці спроби при-
звели до усвідомлення факту, що спільну пам’ять можна реалізо-
вувати по-різному, причому кожен варіант має як переваги, так і
недоліки. Практично всі дослідження в галузі паралельних
комп’ютерних архітектур спрямовані на створення гібридних
форм, які поєднують у собі переваги кожної із систем.
21