У паралельному програмуванні операція (або набір операцій) є лінеаризованою, якщо вона складається з упорядкованого списку подій виклику та відповіді (події), які можна розширити додаванням відповіді таким чином, що:
- Розширений список можна повторно виразити як послідовну історію (можна серіалізувати).
- Ця послідовна історія є підмножиною вихідного нерозширеного списку.
Неформально це означає, що немодифікований список подій можна лінеаризувати тоді й лише тоді, коли його виклики можна серіалізувати, але деякі відповіді послідовного розкладу ще не повернулися.
У паралельній системі процеси можуть отримати доступ до спільного об’єкта одночасно. Оскільки кілька процесів звертаються до одного об’єкта, може виникнути ситуація, коли один процес звертається до об’єкта, поки інший змінює його вміст. Перетворення системи на лінеаризацію є одним із рішень цієї проблеми. У системі, що лінеаризується, хоча операції на спільному об’єкті накладаються, кожна операція виглядає миттєво. Можливість лінеаризації — це сувора умова правильності, яка обмежує можливі результати, коли до об’єкта одночасно звертаються кілька процесів. Це властивість безпеки, яка гарантує, що операції не завершаться неочікуваним або непередбачуваним чином. Якщо система є лінеаризованою, це дозволяє програмісту міркувати про систему.
- Herlihy, Maurice P.; Wing, Jeannette M. (1990). Linearizability: A Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems. 12 (3): 463—492. CiteSeerX 10.1.1.142.5315. doi:10.1145/78969.78972.
- Shavit, Nir; Taubenfel, Gadi (2016). The Computability of Relaxed Data Structures: Queues and Stacks as Examples (PDF). Distributed Computing. 29 (5): 396—407. doi:10.1007/s00446-016-0272-0.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U paralelnomu programuvanni operaciya abo nabir operacij ye linearizovanoyu yaksho vona skladayetsya z uporyadkovanogo spisku podij vikliku ta vidpovidi podiyi yaki mozhna rozshiriti dodavannyam vidpovidi takim chinom sho Rozshirenij spisok mozhna povtorno viraziti yak poslidovnu istoriyu mozhna serializuvati Cya poslidovna istoriya ye pidmnozhinoyu vihidnogo nerozshirenogo spisku Neformalno ce oznachaye sho nemodifikovanij spisok podij mozhna linearizuvati todi j lishe todi koli jogo vikliki mozhna serializuvati ale deyaki vidpovidi poslidovnogo rozkladu she ne povernulisya U paralelnij sistemi procesi mozhut otrimati dostup do spilnogo ob yekta odnochasno Oskilki kilka procesiv zvertayutsya do odnogo ob yekta mozhe viniknuti situaciya koli odin proces zvertayetsya do ob yekta poki inshij zminyuye jogo vmist Peretvorennya sistemi na linearizaciyu ye odnim iz rishen ciyeyi problemi U sistemi sho linearizuyetsya hocha operaciyi na spilnomu ob yekti nakladayutsya kozhna operaciya viglyadaye mittyevo Mozhlivist linearizaciyi ce suvora umova pravilnosti yaka obmezhuye mozhlivi rezultati koli do ob yekta odnochasno zvertayutsya kilka procesiv Ce vlastivist bezpeki yaka garantuye sho operaciyi ne zavershatsya neochikuvanim abo neperedbachuvanim chinom Yaksho sistema ye linearizovanoyu ce dozvolyaye programistu mirkuvati pro sistemu Herlihy Maurice P Wing Jeannette M 1990 Linearizability A Correctness Condition for Concurrent Objects ACM Transactions on Programming Languages and Systems 12 3 463 492 CiteSeerX 10 1 1 142 5315 doi 10 1145 78969 78972 Shavit Nir Taubenfel Gadi 2016 The Computability of Relaxed Data Structures Queues and Stacks as Examples PDF Distributed Computing 29 5 396 407 doi 10 1007 s00446 016 0272 0