Статус нашего сайта: |
ICQ Information Center |
ICQ SHOP 5-значные 6-значные 7-значные 8-значные 9-значные Rippers List ОПЛАТА СТАТЬИ СЕКРЕТЫ HELP CENTER OWNED LIST РОЗЫСК!New! ICQ РЕЛИЗЫ Протоколы ICQ LOL ;-) Настройка компьютера Аватарки Смайлики СОФТ Mail Checkers Bruteforces ICQTeam Soft 8thWonder Soft Other Progs ICQ Patches Miranda ICQ ФорумАрхив! ВАШ АККАУНТ ICQ LiveJournal
РекламаНаш канал:irc.icqinfo.ru |
Таненбаум Э.- Архитектура компьютера. стр.476Мультикомпьютеры Как показано на рис. 8.18, в категорию MIMD входят два вида процессоров с параллельной архитектурой: мультипроцессоры и мультикомпьютеры. В предыдущем разделе мы рассматривали мультипроцессоры. Мы выяснили, что мультипроцессоры могут иметь общую память, доступ к которой выполняется обычными командами LOAD и STORE. Для реализации такой памяти может использоваться множество схем, включая шины слежения, сети с перекрестной и многоступенчатой коммутацией, различные схемы на основе каталога. Во всех случаях программы, написанные для мультипроцессора, могут получать доступ к любому месту в памяти, не имея никакой информации о внутренней топологии или схеме реализации. Именно благодаря такой иллюзии мультипроцессоры весьма популярны у пользователей и программистов. Однако мультипроцессорам свойственны и некоторые недостатки, и это автоматически означает усиление роли мультикомпьютеров. В первую очередь, мультипроцессоры плохо масштабируются. Мы уже знаем, сколько разнообразных устройств потребовалось инженерам компании Sun ввести в систему Е25К, чтобы поддерживать работу 72 процессоров. Что касается мультикомпьютеров, то далее мы рассмотрим систему из 65 536 процессоров. Пройдут годы, прежде чем кто-нибудь сумеет построить коммерческий мультипроцессор с 65 536 узлами, да и к тому времени в ходу уже будут мультикомпьютеры с миллионами процессоров. Далее, на производительности мультипроцессора может серьезно сказываться конкуренция за доступ к памяти. Если 100 процессоров постоянно пытаются считывать и записывать одни и те же переменные, конкуренция за ресурсы модулей памяти, шин и каталогов может сильно ударить по производительности. Вследствие этих и других факторов разработчики проявляют повышенный интерес к таким параллельным компьютерным архитектурам, в которых каждый процессор имеет собственную память, недоступную напрямую для других процессоров. Это — мультикомпьютеры. Поскольку программы на разных процессорах в мультикомпьютере не могут получить доступ к памяти других процессоров командами LOAD и STORE, они взаимодействуют друг с другом с помощью примитивов send и receive, которые используются для передачи сообщений. Это различие полностью меняет модель программирования. Каждый узел в мультикомпьютере состоит из одного или нескольких процессоров, ОЗУ (общего для процессоров только данного узла), дисковода и (или) других устройств ввода-вывода, а также коммуникационного процессора. Коммуникационные процессоры связаны между собой высокоскоростной коммуникационной сетью (см. далее подраздел «Коммуникационные сети»). Используется множество различных топологий, схем коммутации и алгоритмов выбора маршрута, однако у всех мультикомпьютеров есть общая черта: когда программа выполняет примитив send, коммуникационный процессор извещается об этом и передает блок данных в целевую машину (возможно, после предварительного запроса и получения разрешения). Обобщенная схема мультикомпьютера показана на рис. 8.30. Рис. 8.30. Схема мультикомпьютера |