Проектирование и анализ параллелизма в процессах и программах
книга

Проектирование и анализ параллелизма в процессах и программах

Автор: Дмитрий Черемисинов

Форматы: PDF

Издательство: Белорусская наука

Год: 2011

Место издания: Минск

ISBN: 978-985-08-1285-8

Страниц: 302

Артикул: 16712

Электронная книга
225

Краткая аннотация книги "Проектирование и анализ параллелизма в процессах и программах"

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

Содержание книги "Проектирование и анализ параллелизма в процессах и программах"


Предисловие
Введение
ГЛАВА 1. Параллельные алгоритмы
1.1. Определение
1.2. Классическая модель вычисления
1.3. Модели параллелизма
1.3.1. Формализация параллелизма в программировании
1.3.2. Формализация параллелизма при проектировании аппаратуры
1.4. Концепция времени в моделях распределенных систем
1.4.1. Обобщенный конечный автомат
1.4.2. Сети Петри
1.4.3. Временная логика
1.4.4. Интерпретация временной логики на модели Kripke
1.5. О системе классификации формализмов
ГЛАВА 2. Язык ПРАЛУ как логика для описания взаимодействия
2.1. Физическая трактовка временной логики
2.2. Логика взаимодействия параллельных процессов
2.2.1. Структура события взаимодействия
2.2.2. Альтернативные предположения о связи событий
2.2.3. Понятие окружающей среды
2.3. Интерпретация ПРАЛУ как временной логики
2.3.1. Минимальная семантика ПРАЛУ
2.3.2. Эквивалентность минимальной семантики ПРАЛУ и CCS
2.3.3. Необходимость измеряемого времени
2.3.4. Уточнения минимальной семантики, обеспечивающие реализуемость
2.3.5. Однопроцессорная реализация ПРАЛУ
ГЛАВА 3. Проектирование распределенных систем
3.1. Моделирование локальной шины PCI
3.1.1. Функционирование шины PCI
3.1.2. Стандарт шины PCI
3.1.3. Пример устройства PCI
3.1.4. Оценка работоспособности алгоритма методом симуляции
3.1.5. Логическая структура устройства PCI
3.2. Самосинхронные схемы
3.3. ПРАЛУ и высокоуровневые языки описания аппаратуры
3.3.1. Компиляция конструкций языков программирования в комбинационную схему
3.3.2. Схемная семантика подмножества языка Verilog
3.3.3. Сравнение ПРАЛУ и Verilog
3.4. Верификация поведенческих моделей
3.4.1. Построение генератора и монитора
3.4.2. Задача верификации
3.4.3. Инструменты для символической верификации
3.4.4. ПРАЛУ-верификатор
ГЛАВА 4. Мультиагентные системы
4.1. Задача оптимизации программы агента
4.1.1. Представление протоколов конечными автоматами
4.1.2. Представление протоколов логическими формулами
4.1.3. Синтез программ, реализующих конечные автоматы
4.1.4. Модели программы
4.1.5. Синтез программ по структуре описания автомата
4.1.6. Управление синтезом программ
4.2. Системы с произвольным числом агентов
4.2.1. BDI-архитектура мультиагентных систем
4.2.2. Формализмы задания протоколов взаимодействия агентов
4.3. Спецификация протоколов взаимодействия агентов на ПРАЛУ
4.3.1. Протокол английского аукциона
4.3.3. Онтология архитектуры BDI для ПРАЛУ
4.3.4. Методология программирования агентов на ПРАЛУ
4.3.5. Программная реализация алгоритмов на ПРАЛУ
ГЛАВА 5. Программирование кластерного компьютера
5.1. Среда программирования кластера через удаленный терминал
5.2. Управление вычислениями на кластерном компьютере
5.2.1. MPI-программа
5.2.2. Интерфейс для управления MPI-программой
5.3. Параллельные вычисления в задачах проектирования СБИС
5.3.1. Задачи, решаемые программным комплексом
5.3.2. Сложность комбинаторно-логических задач
5.3.3. Закон Амдала
5.3.4. Классы параллельных алгоритмов
5.4. Методика программирования MPI-программ
5.4.1. Специфика отладки параллельных программ
5.4.2. Предотвращение ошибок в параллельных вычислениях
5.4.3. Верификация на модели в MPI-программе
ГЛАВА 6. Защита программ
6.1. Модели угроз нападения на защищаемую программу
6.1.1. Враждебная программа в легальной среде исполнения
6.1.2. Легальная программа во враждебной среде исполнения
6.1.3. Защита распределенных программ
6.2. Сохранение доверенности среды и обнаружение угроз
6.3. Формальные модели, используемые при защите программ
6.3.1. Защита автоматизированным преобразованием кода
6.3.2. Предотвращение изменения кода программы
6.3.3. Защита, обоснованная результатами, связанными со сложностью задачи
6.3.4. Использование аппаратных средств
6.4. Анализ стойкости защиты программы с помощью электронного ключа
6.4.1. Защита программ посредством электронного ключа
6.4.2. Виды атак на защищенную программу
6.4.3. Противодействие атаке методом удаления блокировки
6.4.4. Атака злоумышленника, имеющего ключ
6.5. Защита программы для кластерного компьютера
6.5.1. Протоколы для защищенной передачи данных
6.5.2. Анализ защищенности интерфейса для управления MPI-программой
Приложение

Все отзывы о книге Проектирование и анализ параллелизма в процессах и программах

Чтобы оставить отзыв, зарегистрируйтесь или войдите

Отрывок из книги Проектирование и анализ параллелизма в процессах и программах

41ком возникновения. События посылки и получения описывают поток информации между процессами. Коммуникация между процессами задается посылкой сообщения в одном процессе и приемом этого сообщения в другом. Несмотря на внешнюю прозрачность этих программных моделей, при их использова-нии возникают структуры, которые являются динамическими, сложными и, следовательно, с трудом поддающимися формаль-ному анализу.Формализмы много лет были основной темой исследования в программировании, и ряд подходов к разработке программ к настоящему времени превратились в теории, хотя и в основ-ном полуформальные. Были сделаны попытки разработки в та-ком же духе и проблемы параллельного программирования, то есть был предложен ряд языков программирования, ориентиро-ванных на параллельные вычислительные машины. Эти языки могут быть классифицированы на основе позиций, которые они занимают в паре разбиения: синхронный и асинхронный язык.На интуитивном уровне понятия «синхронный» и «асин-хронный» связаны с вопросом о наличии в системе общих ча-сов. Однако в формулировке признаков этих формализмов часы, упоминаются только косвенно. Синхронные  модели требуют расчленения задачи на ряд атомарных шагов, каждый из кото-рых может выполняться параллельно с другими одиночными шагами за одинаковое время, в то время как асинхронные моде-ли рассматривают проблему как ряд практически независимых последовательных задач, которые могут выполняться одновре-менно и с разными скоростями – асинхронно. Синхронные и асинхронные модели обычно рассматриваются как взаимно исключающие.В синхронных языках обеспечивается одинаковая длитель-ность параллельно выполняющихся шагов. В противополож-ность синхронным, асинхронные языки ориентированы на опи-сание коммуникации между процессами как средства управле-ния параллельным выполнением. Существуют две модели ком муникации: обмен сообщениями (примером является фор-мализм CSP [4]) и общая память. Однако нез...