Релятивистское программирование
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Релятивистское программирование ( RP ) — это стиль параллельного программирования , в котором вместо того, чтобы пытаться избежать конфликтов между читателями и писателями (или в некоторых случаях писателями и писателями), алгоритм предназначен для того, чтобы терпеть их и получать правильный результат независимо от порядка событий. Кроме того, алгоритмы релятивистского программирования предназначены для работы без присутствия глобального порядка событий. То есть могут быть случаи, когда один поток видит два события в другом порядке, чем другой поток (отсюда и термин релятивистский, потому что в специальной теории относительности Эйнштейна [ нужна ссылка ] порядок событий не всегда одинаков для разных зрителей). По сути, это подразумевает работу с причинно-следственной последовательностью вместо более сильной модели.
Релятивистское программирование обеспечивает преимущества в производительности по сравнению с другими парадигмами параллелизма, поскольку оно не требует, чтобы один поток так часто ждал другого. Из-за этого его формы ( , Read-Copy-Update например ) теперь широко используются в ядре Linux (более 18 000 раз по состоянию на апрель 2021 г.). [update] и выросла с нуля до 11,8% всех запирающих примитивов чуть менее чем за два десятилетия). [1]
См. также [ править ]
Ссылки [ править ]
- ^ Пол Э. Маккенни. «Использование RCU Linux» . www.rdrop.com . Проверено 28 августа 2021 г.