Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Релятивистское программирование ( RP ) - это стиль параллельного программирования, в котором вместо попытки избежать конфликтов между читателями и писателями (или писателями и писателями в некоторых случаях) алгоритм разработан так, чтобы терпеть их и получать правильный результат независимо от порядка событий. Кроме того, алгоритмы релятивистского программирования предназначены для работы без наличия глобального порядка событий. То есть могут быть случаи, когда один поток видит два события в другом порядке, чем другой поток (отсюда и термин релятивистский, потому что в специальной теории относительности Эйнштейна [ необходима цитата ] порядок событий не всегда одинаков для разных зрителей) . По сути, это подразумевает работу подпричинная последовательность вместо более сильной модели.

Релятивистское программирование обеспечивает преимущества в производительности по сравнению с другими парадигмами параллелизма, поскольку не требует, чтобы один поток почти так часто ожидал другого. Из-за этого его формы (например, чтение-копирование-обновление ) теперь широко используются в ядре Linux (более 9000 раз по состоянию на март 2014 г. и выросло с нуля до 8% всех блокирующих примитивов примерно за десятилетие). [1]

См. Также [ править ]

  • Неблокирующий алгоритм

Ссылки [ править ]

  1. ^ Пол Э. МакКенни. «Использование RCU Linux» . www.rdrop.com . Проверено 13 марта 2021 .

Внешние ссылки [ править ]

  • Релятивистское программирование в Государственном университете Портленда