Контроль конкуренции
-
Безопасная семантика регистров в распределенных системах.
Безопасная семантика: модель согласованности данных в параллельных вычислениях. Гарантии для регистров, используемых несколькими процессорами. Определение Лампорта.
-
Взаимное исключение в многопоточном программировании
Взаимное исключение в программировании: защита данных от одновременного доступа из разных потоков. Предотвращение гонок данных, алгоритмы Дикстры.
-
Распределённые базы данных: архитектура и методы обновления данных
Распределённая база данных: хранение данных в разных физических местах. Преимущества, архитектура и отличия от параллельных систем. Оптимизация данных.
-
Свойства ACID транзакций баз данных
Транзакции баз данных: ACID свойства (атомарность, согласованность, изоляция, долговечность). Гарантия целостности данных при сбоях и ошибках.
-
Взаимная блокировка в вычислительных системах
В информатике, взаимная блокировка (deadlock) – ситуация, когда процессы ждут друг друга, не могут продолжить работу. Происходит из-за ресурсов и блокировок.
-
Обработка транзакций: принципы и эволюция
Обработка транзакций: атомарность, согласованность и надежность операций с данными. Принципы обработки информации в компьютерных системах и базах данных.
-
Контроль конкурентного доступа на основе временных меток
Управление параллелизмом на основе меток времени: оптимистичный метод контроля транзакций в базах данных. Уникальные метки времени обеспечивают безопасность.
-
Обеспечение корректности параллельных вычислений
Контроль параллельного выполнения: обеспечение корректности результатов при одновременной работе компонентов системы. Методы, правила и теории для IT.
-
Оптимистичное управление конкурентным доступом
Оптимистичный контроль параллелизма (OCC) – неблокирующий метод управления транзакциями. Проверка изменений данных перед коммитом, откат при конфликтах.
-
Транзакции баз данных: Надежность и целостность данных
Транзакции баз данных: надежные единицы работы для сохранения целостности данных и восстановления после сбоев. Изоляция параллельного доступа.
-
Механизмы синхронизации и блокировки доступа к ресурсам
Блокировки (mutex) в программировании: механизмы синхронизации для защиты ресурсов от одновременного доступа. Предотвращение гонок данных и deadlock’ов.
-
Двухфазная блокировка в системах управления базами данных
Двухфазная блокировка (2PL) в базах данных: метод управления конкурентным доступом, гарантирующий сериализуемость. Фазы: расширение и сжатие блокировок.
-
Спин-блокировки в программировании
Спин-блокировка в программировании: механизм ожидания в цикле для получения доступа к ресурсу. Эффективны при коротких блокировках, используются в ядрах ОС.
-
Теневое копирование страниц в базах данных
Теневое копирование в БД: метод обеспечения атомарности и долговечности данных. Копирование при записи вместо прямого обновления страниц. ACID-свойства.
-
Обеспечение долговечности данных в базах данных: механизмы и типы отказов.
Надёжность баз данных: свойство ACID "долговечность" гарантирует сохранение данных после сбоев. Транзакции, система, ошибки – всё учтено! Логирование и блокировки.
-
Журнал транзакций СУБД: История изменений и восстановления данных
Журнал транзакций БД: история изменений для восстановления данных при сбоях. Обеспечивает ACID-свойства, откаты и повторное применение транзакций.
-
Модели согласованности памяти в компьютерных системах
Модели согласованности в компьютерных системах: гарантия предсказуемой работы памяти, правила для программистов и отличие от когерентности данных.
-
Механизм синхронизации Read-Copy-Update (RCU)
RCU: механизм синхронизации в программировании, позволяющий избежать блокировок при чтении и обновлении данных. Гарантия консистентности, высокая производительность.
-
Проблема обедающих философов: иллюстрация и решения задач синхронизации.
Проблема "обедающих философов": классическая задача синхронизации в информатике, иллюстрирующая проблемы конкурентного доступа к ресурсам и методы их решения.
-
Целостность транзакций и уровни изоляции в базах данных
Целостность транзакций БД: уровни изоляции, конкурентный доступ, ACID-свойства. Защита от ошибок чтения/потерь данных, баланс ресурсов и блокировок.
-
Алгоритм Питерсона для взаимного исключения
Алгоритм Петерсона: решение задачи взаимного исключения в конкурентном программировании. Обеспечивает доступ к ресурсу без конфликтов, используя общую память.
-
Проблема спящего цирюльника: классическая задача синхронизации процессов
Проблема спящего цирюльника: классическая задача синхронизации процессов в информатике, предложенная Э. Дейкстрой. Описывает риски гонок и deadlock-ситуаций.
-
Атомарность в системах управления базами данных
Атомарность в базах данных ACID: гарантия полной и неделимой транзакции. Все операции выполняются или ни одна. Предотвращает частичные обновления данных.
-
Инструкция "Проверка и установка" в процессорах
Тест и установка: атомарная CPU инструкция для записи 1 в память и возврата предыдущего значения. Используется для блокировок и синхронизации процессов.
-
Порядок выполнения транзакций в системах управления базами данных
Порядок выполнения транзакций в базах данных: расписание (история) операций, частичный порядок, чтение, запись, блокировки. Основы транзакционной обработки.
-
Методы обеспечения отказоустойчивости вычислительных систем с помощью контрольных точек
Чекпоинтинг: обеспечение отказоустойчивости систем. Сохранение состояния приложений для возобновления работы после сбоев, особенно для длительных вычислений.
-
Состояние гонки: зависимость поведения системы от времени и последовательности событий.
Состояние гонки (race condition) в электронике и ПО: зависимость поведения от времени и последовательности событий. Непредсказуемые ошибки и баги.
-
Нехватка ресурсов в компьютерных системах
Нехватка ресурсов в компьютерах: причины, последствия и алгоритмы предотвращения "голодания" процессов. Статья о лишенности ресурсов и взаимном исключении.
-
Инверсия приоритетов в компьютерных системах
Приоритетная инверсия в компьютерных системах: нарушение приоритетов задач из-за конфликта ресурсов. Объяснение причины и последствий блокировки задач.
-
Неблокирующие алгоритмы: гарантия прогресса в многопоточной среде
Неблокирующие алгоритмы: гарантия прогресса даже при сбое одного потока. Lock-free и wait-free подходы, альтернатива блокировкам в программировании.
-
Модель согласованности памяти с ослабленной синхронизацией: Release Consistency
Согласованность памяти в программировании: release consistency для повышения производительности параллельных вычислений. Модели синхронизации, расслабленная согласованность.
-
Атомарная операция "Сравнить и заменить" (CAS) и проблема ABA
Атомарная операция Compare and Swap (CAS) в многопоточности: сравнение и замена значения в памяти, если оно соответствует заданному. Гарантия синхронизации.
-
Критическая секция в многопоточном программировании
Критическая секция в программировании: защита общих ресурсов от одновременного доступа. Обеспечение корректной работы многопоточных приложений.
-
Самостабилизация: Концепция устойчивости к сбоям в распределенных системах.
Самовосстановление в распределенных системах: устойчивость к сбоям и неверному начальному состоянию. Гарантия достижения корректного состояния со временем.
-
Блокировки в базах данных: обеспечение параллельного доступа и целостности данных.
Блокировка записей в БД: защита от одновременного доступа и потери данных при конкурентной работе. Предотвращение конфликтов и обеспечение целостности данных.
-
Протокол двухфазной фиксации (2PC)
Двухфазная фиксация (2PC): протокол атомарных коммитов в распределенных системах. Обеспечивает надежность транзакций при сбоях, но требует ручного вмешательства в редких случаях.
-
Отмена изменений в базе данных: принципы и реализация
Откат в базах данных: восстановление к предыдущему состоянию после ошибок или сбоев. Важная функция для целостности данных и восстановления транзакций.
-
Проблема «гремящего стада» в компьютерных системах
Проблема "гремящего стада" в информатике: одновременная активация множества процессов при одном событии, приводящая к гонке ресурсов и зависаниям. Решение в Linux.
-
Атомарные коммиты: принцип, проблемы и ограничения реализации.
Атомарное коммиты в IT: единая операция с набором изменений. Гарантируют консистентность системы – либо все изменения применены, либо отменены.
-
Консистентность в базах данных: определения и компромиссы.
Консистентность баз данных: обеспечение корректности транзакций и данных. Соблюдение правил, ограничений и целостности данных. ACID-транзакции.
-
Линеаризуемость в конкурентном программировании
Линеаризуемость в конкурентном программировании: гарантия последовательного выполнения операций, даже при параллельности. Определение и история (Herlihy & Wing, 1987).
-
Механизмы блокировки файлов в компьютерных системах
Блокировка файлов в компьютерах: защита от одновременного доступа и потери данных. Предотвращение конфликтов при обновлении файлов, сериализация процессов.
-
Транзакционная память в программном обеспечении: механизмы управления конкурентным доступом.
Транзакционная память (STM) в ПО: механизм управления конкурентным доступом к памяти. Альтернатива блокировкам. Безопасность и целостность данных!
-
Реентерабельный мьютекс: принципы работы и применение
Рекурсивный мьютекс: что это такое? Блокировка без взаимных блокировок для одного потока. Применение в Java и рекомендации по использованию.
-
Модель согласованности eventual consistency в распределенных системах
Eventual consistency: модель согласованности в распределённых системах для высокой доступности. BASE vs ACID, оптимистичная репликация, сходимость данных.
-
Алгоритм "Булли": Динамический выбор координатора в распределенных системах.
Алгоритм "Bully": выбор лидера в распределенных системах. Динамическое назначение координатора по ID, гарантия единого мнения и отказоустойчивость.
-
Вложенные транзакции в базах данных: теория и реализация
Вложенные транзакции в базах данных: что это, как работают и особенности реализации. Изменения не видны другим транзакциям до коммита внешней.
-
Протокол трехфазной фиксации: повышение надежности распределенных транзакций
Протокол 3PC: отказоустойчивый алгоритм для распределенных систем и баз данных. Улучшение 2PC, обеспечивающее надежное завершение транзакций при сбоях.
-
Двойное сравнение и обмен: Обзор и перспективы (Dvoinoye sravneniye i obmen: Obzor i perspektivy)
Двойное сравнение и обмен (DCAS): атомарная операция для конкурентного программирования. Расширение CAS, полезно для STM, отличается от DWCAS.
-
Алгоритм меток времени Лампорта для упорядочивания событий в распределенных системах
Алгоритм меток времени Лампорта: определение порядка событий в распределенных системах. Логические часы для синхронизации ресурсов и частичной упорядоченности.
-
Алгоритм «Пекарня Лампорта» для безопасного доступа к ресурсам
Алгоритм пекарни Лампорта: безопасный доступ к общим ресурсам в многопоточных системах. Предотвращает повреждение данных, обеспечивая взаимное исключение потоков.
-
Репликация баз данных: многомастерный подход
Репликация multi-master: одновременное обновление данных на нескольких серверах. Конфликты разрешаются автоматически. Отличие от master-replica репликации.
-
Replication (computing)
-
Арбитр: Устройство управления доступом к общим ресурсам
Арбитр – электронное устройство для управления доступом к общим ресурсам, особенно в асинхронных схемах. Предотвращает конфликты и обеспечивает корректную работу.
-
Транзакционная память: принципы, реализация и перспективы.
Транзакционная память: упрощение параллельного программирования. Атомарное выполнение операций, контроль доступа к памяти, альтернатива синхронизации потоков.
-
Последовательные блокировки в Linux: механизм быстрой синхронизации данных
Блокировки seqlock в Linux: быстрый доступ к общим переменным для параллельных процессов. Механизм без взаимной блокировки, разработанный Hemminger.
-
Проблема двух генералов
Проблема двух генералов: классический мысленный эксперимент в теории коммуникаций. Ненадежная связь, согласование действий, общие знания и TCP/IP.
-
Блокировки чтения-записи: примитив синхронизации в компьютерных системах.
Блокировки чтения-записи (RW-lock) в программировании: синхронизация доступа к данным. Параллельное чтение, эксклюзивная запись. Решение проблем многопоточности.
-
Проблема читателей и писателей в конкурентном программировании
Проблема читателей-писателей в информатике: конкурентный доступ к ресурсам, потоки чтения/записи, блокировки. Решение – readers-writer lock.
-
Распределённые менеджеры блокировок в кластерных системах
Распределённые менеджеры блокировок (DLM) в кластерах обеспечивают синхронизацию доступа к ресурсам и повышают производительность, особенно в файловых системах.
-
Управление конкурентным доступом к базам данных: упорядочение фиксаций (Commit Ordering)
Управление конкурентным доступом к БД: Commitment Ordering (CO) – оптимистичный метод сериализации транзакций. Применение в STM и многоядерных системах.
-
Система быстрого обнаружения сбоев
Система быстрого отказа: обнаружение и немедленное сообщение об ошибках в работе системы. Предотвращает продолжение ошибочных процессов, повышает надежность.
-
Изоляция снимков в базах данных: принципы и реализация.
Изоляция снимков в базах данных: гарантия консистентности чтения транзакций и высокая производительность благодаря MVCC. Поддержка в MySQL, PostgreSQL и др.
-
Causal consistency
-
ACE (editor)
-
Terminating Reliable Broadcast
-
Banker's algorithm
-
Consensus (computer science)
-
Paxos (computer science)