ПРЕДИСЛОВИЕ | 3 |
Основные сокращения | 5 |
1. МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ | 7 |
1.1. Последовательные и параллельные процессы | 10 |
1.2. Предпосылки создания систем параллельного действия ...... | 14 |
1.3. Системы параллельного действия на базе однопроцессорных компьютеров | 20 |
1.4. Классификация систем параллельной обработки данных | 24 |
1.5. Современные суперкомпьютеры | 25 |
1.5.1. Суперкомпьютер BlueGene / L ( IBM ) | 28 |
1.5.2. Суперкомпьютер BlueGene W ( IBM ) | 32 |
1.5.3. Суперокомпьютер ASC Purple (IBM) | 33 |
1.5.4. Суперкомпьютеры СНГ | 36 |
2.ЯЗЫКИ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ | 38 |
2.1. Абстрактные языки описания процессов | 41 |
2.2. Язык программирования трС | 43 |
2.3. Система параллельного программирования НРС++ | 76 |
2.3.1. Модельная спецификация НРС++ | 77 |
2.3.2. Синхронизация в НРС++ | 85 |
2.3.3. Коллективные операции | 87 |
2.3.4. Различные интерфейсы НРС++ | 96 |
2.4. Язык программирования ZPL | 97 |
2.4.1. Предварительные понятия ZPL | 98 |
2.4.2. Понятия массивов ZPL | 101 |
2.4.3. Структура программы на ZPL | 104 |
2.5.Библиотека шаблонов для многопоточного программирования | 107 |
2.5.1. Программная модель | 108 |
2.5.2. Функции и их вызовы | 109 |
2.5.3. Синхронизация | 111 |
2.5.4. Глобальный указатель | 114 |
2.5.5. Глобальная синхронизация | 119 |
2.6. Система Linda | 122 |
2.7. Язык программирования NESL | 128 |
2.7.1. Вложенный параллелизм данных NESL | 129 |
2.7.2. Модели вычислений | 130 |
3. РАСПРЕДЕЛЕННАЯ ОБРАБОТКА ДАННЫХ | 137 |
3.1.Распределенные вычисления | 137 |
3.1.1. Технологии распределенных вычислений | 137 |
3.1.2. Кластерные архитектуры | 142 |
3.1.3. Модели программирования для кластерных архитектур | 145 |
3.2.Программная поддержка распределенной обработки в компьютерных сетях | 152 |
3.2.1. Система xDSM | 152 |
3.2.2. Система ParSec | 157 |
3.3. Распределенные вычисления и J2EE | 168 |
3.3.1. Технология J2EE Sun | 168 |
3.3.2. Java Database Connectivity (JDBC) | 172 |
3.3.3. Сервлеты | 173 |
3.3.4. Java Server Pages | 178 |
3.3.5. RMI — удаленный вызов методов | 182 |
4.АЛГОРИТМЫ ВЫБОРА МАРШРУТОВ ДЛЯ ДОСТАВКИ СООБЩЕНИЙ | 185 |
4.1. Общие сведения | 185 |
4.2. Протокол OSPF (алгоритм Дейкстры) | 199 |
4.3. Протокол IGRP | 212 |
4.4. Внешний протокол BGP | 220 |
5. ПЛАНИРОВАНИЕ ПРОЦЕССОВ | 230 |
5.1. Уровни и параметры планирования | 235 |
5.2. Вытесняющее планирование | 237 |
5.3. Алгоритмы планирования процессов | 240 |
5.3.1. First-Come, First-Served (FCFS) | 242 |
5.3.2. Round Robin (RR) | 244 |
5.3.3. Shorest Job First | 247 |
5.3.4. Приоритетное планирование | 250 |
5.3.5. Многоуровневые очереди (Multilevel Queue) | 253 |
5.4.Планирование в системах реального времени | 257 |
6. СРЕДСТВА ВЗАИМОДЕЙСТВИЯ ПРОЦЕССОВ | 261 |
6.1. Критическая секция | 263 |
6.2. Тупики | 267 |
6.3. Метод нитей | 270 |
6.4. Пример планирования процессов | 273 |
6.5. Мыотексы | 281 |
6.6. Мониторы Хоара | 282 |
6.7. Почтовые ящики | 284 |
7. КОМПИЛЯТОРЫ | 288 |
7.1. Основные понятия и определения | 289 |
7.2. Типы трансляторов | 304 |
7.3. Генерация анализа торов | 309 |
7.3.1. Лексический анализ | 309 |
7.3.2. Синтаксический анализ | 324 |
Семантический анализатор | 330 |
7.4. Компиляция и интерпретация программ | 336 |
7.4.1. Генерация кода | 336 |
7.4.2. Пример работы транслятора | 338 |
7.4.3. Оптимизация кода | 341 |
7.4.4. Компилятор компиляторов | 346 |
8. СЖАТИЕ ИНФОРМАЦИИ | 349 |
8.1. Основные принципы алгоритмов кодирования | 349 |
8.2. Алгоритмы обратимого сжатия текста | 352 |
8.2.1. Алгоритм Лемпеля — Зива | 354 |
8.2.2. Локально-адаптивный алгоритм сжатия | 355 |
8.2.3. Преобразования Барроуза — Вилера в сжатии | 357 |
8.2.4. Метод Шеннона — Фано | 361 |
8.2.5. Статический алгоритм Хаффмана | 361 |
8.3.Методы сжатия и архивации оцифрованного видеосигнала | 362 |
8.3.1. Классификация алгоритмов сжатия оцифрованного видеосигнала | 363 |
8.3.2. Алгоритмы сжатия видеоинформации | 365 |
ПРИЛОЖЕНИЯ | 368 |
ЛИТЕРАТУРА | 410 |