Применение алгоритмов шифрования Политики безопасности Протокол аутентификации Безопасность IP (IPSec) Использование сертификатов для обеспечения безопасности

Многопроцессорные вычислительные системы

Системы телеобработки. Уже первоначальное применение СОД для управления производством, транспортом и материально-техническим снабжением показало, что эффективность систем можно значительно повысить, если обеспечить ввод данных в систему непосредственно с мест их появления и выдачу результатов обработки к местам их использования.

Основы вычислительных систем

Задача распараллеливания. В любом полном рассмотрении вопросов параллельного программирования должны быть представлены способы получения параллельной программы из обычной алгоритмической записи, которая несет в себе след чисто последовательной логики рассуждений, так как любые вычисления, проводимые вручную и автоматически, выполнялись последовательно. Однако оказывается, что любой реальный процесс при детальном его рассмотрении выполняется параллельно. И чем внимательнее и детальнее мы постараемся его описать, тем больше это описание будет приближаться к параллельной форме. Следовательно, задача состоит в том, чтобы с помощью каких-то понятий научиться достаточно просто и полно описывать естественные параллельные процессы.

Сложность задачи распараллеливания во многом определяется языком, на котором записан исходный алгоритм. Наиболее просто это делать, если язык не содержит циклических структур. Примером таких языков можно назвать языки "геометрического описания деталей со сложной объемной конфигурацией". Это язык, в котором предложение – последовательность директив.

Как правило, основное время выполнения программ на обычных языках связано с реализацией циклов. Поэтому важной задачей является распараллеливание циклов.

Как указывалось выше, некоторые языки программирования имеют средства для описания параллелизма. Однако все параллельные фрагменты программы должны быть указаны явным образом. Более того, должна быть указана последовательность их выполнения, организована передача необходимых управлений и т. д.

При использовании языка PL/1, например, программист должен:

·  выделить и пометить независимые фрагменты программы (с помощью операторов CALL и TASK, например);

·  обеспечить синхронизацию при выполнении фрагментов (используя, скажем, оператор DELAY);

·  осуществить взаимное управление фрагментами (операторы COMPLETE, WAIT, RETURN).

Следовательно, все трудности по организации параллельной обработки ложатся на программиста, так как он, по-существу, должен предварительно написать весь "сценарий" прохождения задачи через компьютер в параллельном режиме.

На разработку математического и программного обеспечения, согласно различным литературным источникам, тратится от 70 до 90 % всех затрат на создание ВС. Это одна из основных причин, почему необходимо эффективно использовать накопившееся обеспечение для однопроцессорных ЭВМ при переходе к МВС. Математическое и программное обеспечение следует адаптировать для новых ВС. Таким образом, рождается актуальная проблема – преобразование последовательных программ в последовательно-парал-лельные. Но так как эта работа необычайно трудоемка, ее следует автоматизировать. Решение указанной проблемы позволяет, во-первых, высвободить большие трудовые ресурсы, во-вторых, использовать накопленный за долгие годы развития ЭВМ информационно-программный багаж без ручного перепрограммирования и, в-третьих, осуществить переход на многопроцессорные системы с меньшими затратами труда и времени.

Непосредственное дизассемблирование защищенных таким способом программ, как правило, не дает нужных результатов. В последнее время в связи с широким распространением локальных и глобальных компьютерных сетей необычайно остро встала проблема защиты информации при передаче или хранении в сети.

Информатика, черчение, математика