ВУЗ:
Составители:
одиночных слов памяти, а связи (каналы) между процессами, выполняемыми на разных
транспьютерах, строятся на базе последовательных каналов связи. Адрес канала указывает,
является ли канал внутренним или внешним.
При этом написание и компиляция процесса не налагает ограничений на соединение
его каналов.
Подготовка процесса к вводу или выводу заключается в загрузке в вычислительный
стек:
а) идентификатора канала (регистр В);
б) количества передаваемых байтов (регистр А);
в) указателя сообщений (регистр С).
При выполнении операций input message или output message передача сообщения по
внутреннему каналу осуществляется путем занесения идентификатора первого процесса,
оказавшегося готовым, в слово канала (ячейку памяти) и указателя этого процесса в рабочую
память. При этом адрес передаваемого сообщения и количество байтов в сообщении, также
заносится в рабочую память этого процесса. Процесс выводится из списка очереди и
переходит в режим ожидания, а процессор выполняет очередной процесс из списка очереди.
Когда оказывается готовым второй процесс, использующий этот канал, происходит перепись
сообщения, а ожидающий процесс включается в конец списка очереди активных процессов и
производится начальная установка канала в пустое состояние (empty).
Когда сообщение пересылается по внешнему каналу, процессор возлагает эту
передачу на автономный интерфейс канала и исключает процесс из списка очереди. Если
интерфейс канала реализует передачу сообщения посредством прямого доступа к памяти,
процессор вновь вводит ожидающий процесс в список очереди. При внешней пересылке
сообщений процессор параллельно может выполнять другие процессы.
Интерфейс канала включает три регистра, которые содержат:
а) указатель рабочей памяти процесса;
б) указатель сообщения;
в) количество байтов, подлежащих пересылке.
При вводе или выводе сообщения производится инициализация этих трех регистров и
занесение указателя команды в рабочую память процесса. После того как оба процесса
инициализируют свои канальные интерфейсы, происходит перепись сообщения, и оба
интерфейса ставят процесс в конец списка очереди активных процессов.
6.2.3. Оккам – язык параллельной обработки
Оккам представляет собой новый язык программирования, разработанный для
реализации параллельной обработки, в ходе которой множество частей системы
функционируют по отдельности и взаимодействуют друг с другом. Оккам позволяет
использовать единую нотацию для проектирования и программирования всей системы,
начиная от описания сети и кончая операциями ввода-вывода низкого уровня.
Оккам основан на модели взаимодействующих последовательных процессов,
позволяющих специфицировать параллельность алгоритма и его внутренние взаимосвязи.
Программа на языке Оккам представляется как набор параллельных процессов,
взаимодействующих друг с другом через каналы. Канал используется для передачи данных
между двумя процессами, один из которых вводит из канала, другой – выводит в канал.
Процессы не могут взаимодействовать посредством общих данных. Единственным способом
взаимодействия процессов является посылка сообщений по каналам. Внутри процесса
переменные и структуры данных определяют состояние процесса. Для программирования
процесса можно использовать как язык Оккам, так и любые традиционные языки
программирования, например, СИ, Паскаль.
одиночных слов памяти, а связи (каналы) между процессами, выполняемыми на разных транспьютерах, строятся на базе последовательных каналов связи. Адрес канала указывает, является ли канал внутренним или внешним. При этом написание и компиляция процесса не налагает ограничений на соединение его каналов. Подготовка процесса к вводу или выводу заключается в загрузке в вычислительный стек: а) идентификатора канала (регистр В); б) количества передаваемых байтов (регистр А); в) указателя сообщений (регистр С). При выполнении операций input message или output message передача сообщения по внутреннему каналу осуществляется путем занесения идентификатора первого процесса, оказавшегося готовым, в слово канала (ячейку памяти) и указателя этого процесса в рабочую память. При этом адрес передаваемого сообщения и количество байтов в сообщении, также заносится в рабочую память этого процесса. Процесс выводится из списка очереди и переходит в режим ожидания, а процессор выполняет очередной процесс из списка очереди. Когда оказывается готовым второй процесс, использующий этот канал, происходит перепись сообщения, а ожидающий процесс включается в конец списка очереди активных процессов и производится начальная установка канала в пустое состояние (empty). Когда сообщение пересылается по внешнему каналу, процессор возлагает эту передачу на автономный интерфейс канала и исключает процесс из списка очереди. Если интерфейс канала реализует передачу сообщения посредством прямого доступа к памяти, процессор вновь вводит ожидающий процесс в список очереди. При внешней пересылке сообщений процессор параллельно может выполнять другие процессы. Интерфейс канала включает три регистра, которые содержат: а) указатель рабочей памяти процесса; б) указатель сообщения; в) количество байтов, подлежащих пересылке. При вводе или выводе сообщения производится инициализация этих трех регистров и занесение указателя команды в рабочую память процесса. После того как оба процесса инициализируют свои канальные интерфейсы, происходит перепись сообщения, и оба интерфейса ставят процесс в конец списка очереди активных процессов. 6.2.3. Оккам – язык параллельной обработки Оккам представляет собой новый язык программирования, разработанный для реализации параллельной обработки, в ходе которой множество частей системы функционируют по отдельности и взаимодействуют друг с другом. Оккам позволяет использовать единую нотацию для проектирования и программирования всей системы, начиная от описания сети и кончая операциями ввода-вывода низкого уровня. Оккам основан на модели взаимодействующих последовательных процессов, позволяющих специфицировать параллельность алгоритма и его внутренние взаимосвязи. Программа на языке Оккам представляется как набор параллельных процессов, взаимодействующих друг с другом через каналы. Канал используется для передачи данных между двумя процессами, один из которых вводит из канала, другой – выводит в канал. Процессы не могут взаимодействовать посредством общих данных. Единственным способом взаимодействия процессов является посылка сообщений по каналам. Внутри процесса переменные и структуры данных определяют состояние процесса. Для программирования процесса можно использовать как язык Оккам, так и любые традиционные языки программирования, например, СИ, Паскаль.
Страницы
- « первая
- ‹ предыдущая
- …
- 130
- 131
- 132
- 133
- 134
- …
- следующая ›
- последняя »