Рівночасні обчислення, або конкурентні обчислення (англ. Concurrent computing) — це форма обчислень, у якій кілька обчислень виконуються поперемінно, на часових відрізках, що перетинаються (у кожну мить виконується лише одне з таких обчислень, але чергове обчислення може починатися до того, як буде завершено інші).
Означення
Поняття «рівночасних обчислень» часто плутають з подібним, але дещо відмінним поняттям «рівнобіжних обчислень», хоча обидва описуються як «рівнобіжні процеси, що виконуються протягом спільних часових відрізків». У рівнобіжних обчисленнях декілька обчислень існують і відбуваються одночасно в кожну мить фізичного часу (), наприклад на різних процесорах багатопроцесорної машини. Їхньою метою є зменшення часу виконання обчислень.
У рівночасних обчисленнях декілька обчислень існують одночасно (як процеси або нитки), але в кожну мить фізичного часу відбувається лише одне обчислення. Рівнобіжні обчислення неможливі на одному одноядерному процесорі, оскільки в таких системах у кожну мить часу може відбуватися лише одне обчислення. Як наслідок, аспекти синхронізації рівнобіжних обчислень визначаються особливостями апаратної платформи, а рівночасних — програмної.
Механізми синхронізації
Поширеними, але не єдиними механізмами синхронізації рівночасних обчислень є сигнали, семафори та черги повідомлень.
Типові задачі
Метою застосування рівночасних обчислень є моделювання процесів справжнього світу, які відбуваються рівночасно, наприклад таких, як одночасний доступ кількох клієнтів до сервера. Побудова програмних систем, що складаються з багатьох комунікуючих частин, що працюють рівночасно, може бути корисною для зменшення складности таких систем незалежно від того, чи можуть виконуватися їхні частини рівнобіжно
.Типовою задачею рівночасних обчислень є реалізація механізмів планування процесів у багатозадачних системах.
Інструменти
Інструменти, які дають змогу здійснювати рівночасні обчислення, можуть входити до складу окремих мов програмування (з властивостями рівнобіжности), або надаватися через бібліотеки, або бути реалізовані на системному рівні.
Мови, що підтримують рівночасні обчислення
Бібліотеки, що підтримують рівночасні обчислення
Виноски
- Це не враховує рівнобіжність, що може реалізовуватися ядром процесора, таким як конвеєр команд чи векторні інструкції. Одноядерний, однопроцесорний комп'ютер може мати здатність до деякої рівнобіжности, наприклад, під час використання співпроцесора, але сам процесор такої здатности не має.
Примітки
- Англійсько-українсько-англійський словник наукової мови (Фізика та споріднені науки) у двох частинах
- (2012-01-11). «Concurrency is not Parallelism». Waza conference, 11 January 2012. Retrieved from http://talks.golang.org/2012/waza.slide (slides) and http://vimeo.com/49718712 (video).
- Parallelism vs. Concurrency. Haskell Wiki.
- Schneider, Fred B. (1997). On Concurrent Programming. Springer. ISBN .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Ne plutati z rivnobizhnimi obchislennyami Rivnochasni obchislennya abo konkurentni obchislennya angl Concurrent computing ce forma obchislen u yakij kilka obchislen vikonuyutsya popereminno na chasovih vidrizkah sho peretinayutsya u kozhnu mit vikonuyetsya lishe odne z takih obchislen ale chergove obchislennya mozhe pochinatisya do togo yak bude zaversheno inshi OznachennyaDiv takozh Rivnobizhni obchislennya Ponyattya rivnochasnih obchislen chasto plutayut z podibnim ale desho vidminnim ponyattyam rivnobizhnih obchislen hocha obidva opisuyutsya yak rivnobizhni procesi sho vikonuyutsya protyagom spilnih chasovih vidrizkiv U rivnobizhnih obchislennyah dekilka obchislen isnuyut i vidbuvayutsya odnochasno v kozhnu mit fizichnogo chasu napriklad na riznih procesorah bagatoprocesornoyi mashini Yihnoyu metoyu ye zmenshennya chasu vikonannya obchislen U rivnochasnih obchislennyah dekilka obchislen isnuyut odnochasno yak procesi abo nitki ale v kozhnu mit fizichnogo chasu vidbuvayetsya lishe odne obchislennya Rivnobizhni obchislennya nemozhlivi na odnomu odnoyadernomu procesori oskilki v takih sistemah u kozhnu mit chasu mozhe vidbuvatisya lishe odne obchislennya Yak naslidok aspekti sinhronizaciyi rivnobizhnih obchislen viznachayutsya osoblivostyami aparatnoyi platformi a rivnochasnih programnoyi Mehanizmi sinhronizaciyiPoshirenimi ale ne yedinimi mehanizmami sinhronizaciyi rivnochasnih obchislen ye signali semafori ta chergi povidomlen Tipovi zadachiMetoyu zastosuvannya rivnochasnih obchislen ye modelyuvannya procesiv spravzhnogo svitu yaki vidbuvayutsya rivnochasno napriklad takih yak odnochasnij dostup kilkoh kliyentiv do servera Pobudova programnih sistem sho skladayutsya z bagatoh komunikuyuchih chastin sho pracyuyut rivnochasno mozhe buti korisnoyu dlya zmenshennya skladnosti takih sistem nezalezhno vid togo chi mozhut vikonuvatisya yihni chastini rivnobizhno 1 Tipovoyu zadacheyu rivnochasnih obchislen ye realizaciya mehanizmiv planuvannya procesiv u bagatozadachnih sistemah InstrumentiInstrumenti yaki dayut zmogu zdijsnyuvati rivnochasni obchislennya mozhut vhoditi do skladu okremih mov programuvannya z vlastivostyami rivnobizhnosti abo nadavatisya cherez biblioteki abo buti realizovani na sistemnomu rivni Movi sho pidtrimuyut rivnochasni obchislennya Biblioteki sho pidtrimuyut rivnochasni obchislennyaVinoskiCe ne vrahovuye rivnobizhnist sho mozhe realizovuvatisya yadrom procesora takim yak konveyer komand chi vektorni instrukciyi Odnoyadernij odnoprocesornij komp yuter mozhe mati zdatnist do deyakoyi rivnobizhnosti napriklad pid chas vikoristannya spivprocesora ale sam procesor takoyi zdatnosti ne maye PrimitkiAnglijsko ukrayinsko anglijskij slovnik naukovoyi movi Fizika ta sporidneni nauki u dvoh chastinah 2012 01 11 Concurrency is not Parallelism Waza conference 11 January 2012 Retrieved from http talks golang org 2012 waza slide slides and http vimeo com 49718712 video Parallelism vs Concurrency Haskell Wiki Schneider Fred B 1997 On Concurrent Programming Springer ISBN 9780387949420