Введение
1. Методы и средства бесконфликтного доступа многопоточных приложений к памяти 17
1.1. Гонки по данным и последствия их возникновения 17
1.2. Задача взаимного исключения 23
1.3. Решение задачи взаимного исключения для мультипроцессоров 25
1.4. Решение задачи взаимного исключения для мультикомпьютеров 28
1.4.1. Причинно-следственное отношение частичного порядка и логические часы Лэмпорта 30
1.4.2. Алгоритмы распределенного взаимного исключения на основе разрешений 32
1.4.3. Алгоритмы распределенного взаимного исключения на основе токенов 35
1.5. Неблокирующие методы бесконфликтного доступа к памяти 37
1.6. Транзакционные методы бесконфликтного доступа многопоточных приложений к памяти 40
1.6.1. Основы транзакционной обработки данных 41
1.6.2. Транзакционная память и ее отличие от транзакций баз данных 48
1.6.3. Свойства алгоритмов транзакционной памяти 52
1.6.4. Подходы к реализации транзакционной памяти для мультипроцессоров 55
1.6.5. Распределенная программная транзакционная память
1.7. Принципы организации доступа многопоточных приложений к распределенной памяти кластерных МВС с помощью транзакций 62
1.8. Выводы 64
2. Разработка метода обнаружения rw-конфликтов по данным и протокола бесконфликтного доступа многопоточных приложений к распределенной памяти кластерных МВС 67
2.1. Разработка математической модели системы 67
2.2. Разработка метода обнаружения RW-конфликтов по данным при доступе к распределенной памяти 75
2.3. Разработка протокола бесконфликтного доступа многопоточных приложений к распределенной памяти кластерных МВС 82
2.4. Обоснование корректности протокола бесконфликтного доступа многопоточных приложений к распределенной памяти кластерных МВС 90
2.5. Оценка сложности протокола бесконфликтного доступа многопоточных приложений к распределенной памяти кластерных МВС 98
2.6. Выводы 104
3. Практическая реализация и экспериментальная апробация протокола бесконфликтного доступа многопоточных приложений к распределенной памяти кластерных МВС 105
3.1. Структура и компоненты программного комплекса DSTM P1 107
3.2. Прикладной интерфейс программирования DSTM P1 116
3.3. Подсистема управления памятью и модуль портации на кластерные МВС 122
3.4. Выбор приложений и аналога для экспериментального сравнения 125
3.5. Реализация и экспериментальные исследования приложения “Банк” 128
3.6. Реализация и экспериментальные исследования приложения “Список” 134
3.7. Реализация и экспериментальные исследования приложения “Дерево” 141
3.8. Выводы 148
Заключение 149
Список использованных источников


