Page 22 - 6571
P. 22

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

                        Спочатку  процесору  1  потрібно  певним  чином  з’ясувати,
                  який процесор містить необхідні йому дані, і послати цьому про-
                  цесору  повідомлення  із  запитом  копії  даних.  Потім  процесор  1

                  блокується  до  моменту  отримання  відповіді.  Коли  процесор  2
                  отримує  повідомлення,  то  воно  програмно  аналізується  і  після
                  цього необхідні дані передаються процесору 1. Коли процесор 1
                  отримує  повідомлення  із  даними,  то  він  програмно  розблокову-

                  ється і після цього продовжує свою нормальну роботу.
                        У мультикомп’ютерах для взаємодії між процесорами часто

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

                  розміщення. Це ще одна відмінність мультикомп’ютера від муль-
                  типроцесора,  де  розміщення  даних  не  впливає  на  правильність
                  рішення задачі, хоча може вплинути на швидкість її рішення.

                        Може виникнути закономірне питання. Навіщо взагалі ство-
                  рювати мультикомп’ютери, якщо  мультипроцесори набагато ле-
                  гше програмувати? Відповідь проста – створити потужний муль-
                  тикомп’ютер простіше і дешевше, ніж мультипроцесор з такою ж

                  кількістю процесорів. Реалізація загальної пам’яті, що має спіль-
                  но  використовуватися  декількома  сотнями  процесорів  є  дуже
                  складним завданням, а розробити мультикомп’ютер, що містить

                  10000 і більше процесорів технічно досить легко.
                        Отже, отримуємо дилему, згідно якої мультипроцесори скла-
                  дно  проектувати,  але  легко  програмувати,  а  мультикомп’ютери

                  легко проектувати, але важко програмувати. В результаті постій-
                  но робляться спроби створення гібридних систем. Ці спроби при-
                  звели до усвідомлення факту, що спільну пам’ять можна реалізо-

                  вувати по-різному, причому кожен варіант має як переваги, так і
                  недоліки.  Практично  всі  дослідження  в  галузі  паралельних
                  комп’ютерних  архітектур  спрямовані  на  створення  гібридних
                  форм, які поєднують у собі переваги кожної із систем.





                                                              21
   17   18   19   20   21   22   23   24   25   26   27