සමගාමීත්වය හා සමාන්තරකරණය අතර වෙනස කුමක්ද?


1094

සමගාමීත්වය හා සමාන්තරකරණය අතර වෙනස කුමක්ද?

උදාහරණ අගය කරනු ලැබේ.


48
කෙටි පිළිතුර: සමගාමී මුදල් යනු තනි අයකැමියෙකුගෙන් ඇණවුම් කරන ගනුදෙනුකරුවන්ගේ පේළි දෙකකි (රේඛා හැරවුම් ඇණවුම් කරයි); සමාන්තරකරණය යනු අයකැමියන් දෙදෙනෙකුගෙන් ඇණවුම් කරන ගනුදෙනුකරුවන්ගේ පේළි දෙකකි (සෑම පේළියකටම තමන්ගේම අයකැමි ලැබේ).
චාර්වි

har චාර්වි: මම ඇත්තටම හිතන්නේ මේක පිළිතුර විය යුතුයි. කෙටි (පෙළ පේළි දෙකක්, ඔබ "කෙටි පිළිතුර" අතහැර දැමුවහොත්), ක්ෂණිකව තේරුම් ගත හැකිය. හොඳට කලා!
මයික් මැක්ස්වෙල්

Answers:


1303

සමගාමී මුදල් යනු අතිච්ඡාදනය වන කාල සීමාවන් තුළ කාර්යයන් දෙකක් හෝ වැඩි ගණනක් ආරම්භ කිරීමට, ක්‍රියාත්මක කිරීමට සහ සම්පූර්ණ කිරීමට හැකි වූ විටය . එයින් අදහස් වන්නේ ඔවුන් දෙදෙනාම එකම මොහොතක ධාවනය වන බවයි . උදාහරණයක් ලෙස, තනි හරය යන්ත්‍රයක බහු කාර්යයන් .

සමාන්තරකරණය යනු කාර්යයන් වචනාර්ථයෙන් එකවර ක්‍රියාත්මක වන විට, උදා: බහුකාර්ය සකසනයක.


සූර්යයාගේ බහුමාධ්‍ය ක්‍රමලේඛන මාර්ගෝපදේශය උපුටා දැක්වීම :

  • සමගාමී මුදල්: අවම වශයෙන් නූල් දෙකක් වත් ප්‍රගතියක් ලබන විට පවතින කොන්දේසියකි. අථත්ය සමාන්තරවාදයේ ආකාරයක් ලෙස කාලය කැපීම ඇතුළත් කළ හැකි වඩාත් පොදු සමාන්තරකරණ ආකාරයකි.

  • සමාන්තරකරණය: අවම වශයෙන් නූල් දෙකක් එකවර ක්‍රියාත්මක වන විට පැන නගින කොන්දේසියකි.


172
මම මෙම පිළිතුරට කැමතියි, නමුත් මම තව දුරටත් ගොස් සමගාමී මුදල් වැඩසටහනක හෝ පද්ධතියක දේපලක් ලෙස ගුනාංගීකරනය කරමි (සහ සමාන්තරකරණය එකවර විවිධ කාර්යයන් ක්‍රියාත්මක කිරීමේ ධාවන කාල හැසිරීම ලෙස).
ඒඩ්‍රියන් මවුට්

24
මම ඒඩ්‍රියන් මවුට්ගේ ප්‍රකාශයට බෙහෙවින් කැමතියි. මෙම විශිෂ්ට පැහැදිලි කිරීමද බලන්න: haskell.org/haskellwiki/Parallelism_vs._Concurrency
jberryman

9
Aj රාජ්: තනි හර ප්‍රොසෙසරයකින් නිවැරදි, සමාන්තරකරණය (බහු-කියවීමේ අර්ථයෙන්) කළ නොහැක.
රිචී හින්ඩ්ල්

5
ගණනය කිරීමේදී අනුක්‍රමික හා සමාන්තර යන දෙකම අගයන් නම්, එම ගණන් බැලීමේ නම කුමක් ද?
toddmo

13
සමගාමී: දී ඇති කාලය තුළ විට, පවතින තත්ත්වය පිළිබඳ: - ඒ සඳහා, සන් උපුටා ලෙස reworded කළ හැකි කාල සීමාව කාලය, නූල් දෙකක් ප්රගතියක් ඇත - අනුවර්තී වාදය: යම් ලබා විට, මතු කරන තත්ත්වය ස්ථානය කාලය තුළ, නූල් දෙකක් එකවර ක්‍රියාත්මක වේ
පිලිප්

523

ව්යාකූලත්වය පවතින්නේ ඇයි

ව්යාකූලත්වය පවතින්නේ මෙම වචන දෙකේම ශබ්ද කෝෂයේ අර්ථයන් පාහේ සමාන වන බැවිනි:

  • සමගාමී : පවත්නා, සිදුවෙමින් පවතින හෝ එකවර සිදු කරනු ලැබේ (ශබ්ද කෝෂය)
  • සමාන්තර : ඉතා සමාන හා බොහෝ විට එකම වේලාවක සිදු වේ (මෙරියම් වෙබ්ස්ටර්).

එහෙත් ඒවා පරිගණක විද්‍යාව හා ක්‍රමලේඛනය සඳහා භාවිතා කරන ආකාරය බෙහෙවින් වෙනස් ය. මෙන්න මගේ අර්ථ නිරූපණය:

  • සමගාමී : බාධා කිරීමේ හැකියාව
  • සමාන්තරකරණය : ස්වාධීනත්වය

ඉහත අර්ථ දැක්වීම් වලින් මා අදහස් කරන්නේ කුමක්ද?

මම සැබෑ ලෝක ප්‍රතිසමයක් සමඟ පැහැදිලි කරමි. එක් දිනක් තුළ ඔබට ඉතා වැදගත් කාර්යයන් 2 ක් කළ යුතු යැයි කියමු:

  1. විදේශ ගමන් බලපත්‍රයක් ලබා ගන්න
  2. ඉදිරිපත් කිරීමක් සිදු කරන්න

දැන් ගැටළුව වන්නේ කාර්යය -1 මඟින් ඔබගේ විදේශ ගමන් බලපත්‍රය ලබා ගැනීම සඳහා පැය 4 ක් පේළියක රැඳී සිටීමට ඉඩ සලසන අතිශය නිලධර රජයේ කාර්යාලයකට යාමයි. මේ අතර, කාර්ය -2 ඔබේ කාර්යාලයට අවශ්‍ය වන අතර එය තීරණාත්මක කාර්යයකි. දෙකම නිශ්චිත දිනයක අවසන් කළ යුතුය.

නඩු අංක 1: අනුක්‍රමික ක්‍රියාත්මක කිරීම

සාමාන්‍යයෙන්, ඔබ පැය 2 ක් විදේශ ගමන් බලපත්‍ර කාර්යාලයට පැමිනෙනු ඇත, පැය 4 ක් රැඳී සිටින්න, කාර්යය ඉටු කරන්න, පැය දෙකක් පසුපසට ධාවනය කරන්න, ගෙදර යන්න, තවත් පැය 5 ක් අවදිව සිට ඉදිරිපත් කිරීම සිදු කරන්න.

2 වන අවස්ථාව: සමගාමී ක්‍රියාත්මක කිරීම

නමුත් ඔබ දක්ෂයි. ඔබ කලින් සැලසුම් කරන්න. ඔබ සමඟ ලැප්ටොප් පරිගණකයක් රැගෙන යන අතර, පේළියේ රැඳී සිටින අතරතුර, ඔබේ ඉදිරිපත් කිරීම සඳහා වැඩ කිරීමට පටන් ගනී. මේ ආකාරයෙන්, ඔබ නැවත නිවසට පැමිණි පසු, ඔබට 5 වෙනුවට අමතර පැය 1 ක් වැඩ කිරීමට අවශ්‍යය.

මෙම අවස්ථාවේ දී, කාර්යයන් දෙකම ඔබ විසින් සිදු කරනු ලැබේ, කෑලි වලින්. පේළියේ රැඳී සිටියදී ඔබ විදේශ ගමන් බලපත්‍ර කාර්යයට බාධා කර ඉදිරිපත් කිරීම සඳහා වැඩ කළේය. ඔබගේ අංකය ඇමතූ විට, ඔබ ඉදිරිපත් කිරීමේ කාර්යයට බාධා කර විදේශ ගමන් බලපත්‍ර කාර්යයට මාරු විය. කාර්යයන් දෙකෙහිම බාධා කිරීම් හේතුවෙන් කාලය ඉතිරි කර ගැනීම අත්‍යවශ්‍ය විය.

සමගාමී, IMO, ACID හි "හුදකලා" දේපල ලෙස වටහා ගත හැකිය . උප ගනුදෙනු ඕනෑම අන්තර් සම්බන්ධිත ආකාරයකින් සිදු කළ හැකි නම් දත්ත සමුදා ගනුදෙනු දෙකක් හුදකලා ලෙස සලකනු ලබන අතර අවසාන ප්‍රති result ලය එම කාර්යයන් දෙක අනුක්‍රමිකව සිදු වූවාක් මෙනි. මතක තබා ගන්න, විදේශ ගමන් බලපත්‍රය සහ ඉදිරිපත් කිරීමේ කාර්යයන් දෙකම සඳහා, ඔබ එකම ක්‍රියාත්මක කරන්නා බව .

3 වන අවස්ථාව: සමාන්තරව ක්‍රියාත්මක කිරීම

දැන්, ඔබ එතරම් දක්ෂ පුද්ගලයෙක් බැවින්, ඔබ පැහැදිලිවම ඉහළ මට්ටමක සිටින අතර ඔබට සහායකයකු ලැබී තිබේ. එබැවින්, විදේශ ගමන් බලපත්‍ර කාර්යය ආරම්භ කිරීමට ඔබ පිටත්ව යාමට පෙර, ඔබ ඔහුට කතා කර ඉදිරිපත් කිරීමේ පළමු කෙටුම්පත සකස් කරන ලෙස ඔහුට කියන්න. ඔබ ඔබේ මුළු දවසම ගත කර විදේශ ගමන් බලපත්‍ර කාර්යය අවසන් කර, නැවත පැමිණ ඔබගේ තැපැල් බලන්න, එවිට ඔබට ඉදිරිපත් කිරීමේ කෙටුම්පත සොයාගත හැකිය. ඔහු ඉතා ශක්තිමත් කාර්යයක් කර ඇති අතර තවත් පැය 2 කින් සමහර සංස්කරණ සමඟ ඔබ එය අවසන් කරයි.

දැන් සිට, ඔබේ සහායකයා ඔබ තරම් බුද්ධිමත් බැවින්, නිරතුරුවම ඔබෙන් පැහැදිලි කිරීම් ඉල්ලා නොසිට, ස්වාධීනව එය ක්‍රියාත්මක කිරීමට ඔහුට හැකි විය . මේ අනුව, කාර්යයන්හි ස්වාධීනත්වය හේතුවෙන්, ඒවා එකවර විවිධ ක්‍රියාත්මක කරන්නන් දෙදෙනෙකු විසින් සිදු කරන ලදී .

තාමත් මාත් එක්කද? හරි ...

4 වන අවස්ථාව: සමගාමී නමුත් සමාන්තර නොවේ

ඔබගේ විදේශ ගමන් බලපත්‍ර කාර්යය මතක තබා ගන්න, එහිදී ඔබට පේළියේ රැඳී සිටිය යුතුද? එය ඔබගේ විදේශ ගමන් බලපත්‍රය බැවින්, ඔබේ සහායකයාට ඔබ වෙනුවෙන් රැඳී සිටිය නොහැක. මේ අනුව, විදේශ ගමන් බලපත්‍ර කාර්යයට බාධා කිරීමේ හැකියාව ඇත (ඔබට පේළියේ රැඳී සිටියදී එය නැවැත්විය හැකිය, පසුව ඔබේ අංකය ඇමතූ විට එය නැවත ආරම්භ කළ හැකිය ), නමුත් ස්වාධීනත්වයක් නොමැත (ඔබේ සහායකයාට ඔබ වෙනුවට රැඳී සිටිය නොහැක).

5 වන අවස්ථාව: සමාන්තර නමුත් සමගාමී නොවේ

පරිශ්‍රයට ඇතුළුවීම සඳහා රජයේ කාර්යාලයට ආරක්ෂක පරීක්‍ෂණයක් ඇතැයි සිතමු. මෙන්න, ඔබ සියලු ඉලෙක්ට්‍රොනික උපාංග ඉවත් කර ඒවා නිලධාරීන්ට ඉදිරිපත් කළ යුතු අතර, ඔවුන් ඔබේ උපාංග ආපසු එවන්නේ ඔබ ඔබේ කාර්යය සම්පූර්ණ කිරීමෙන් පසුව පමණි.

මේ අවස්ථාවේ දී, විදේශ ගමන් බලපත්‍ර කාර්යය ස්වාධීන හෝ බාධා කළ නොහැකි ය . ඔබ පේළියේ රැඳී සිටියත්, ඔබට අවශ්‍ය උපකරණ නොමැති නිසා ඔබට වෙනත් දෙයක් මත වැඩ කළ නොහැක.

ඒ හා සමානව, ඉදිරිපත් කිරීම ඉතා ඉහළ ගණිතමය ස්වභාවයකින් යුක්ත වන අතර ඔබට අවම වශයෙන් පැය 5 ක් සඳහා 100% සාන්ද්‍රණයක් අවශ්‍ය වේ. ඔබගේ ලැප්ටොප් පරිගණකය ඔබ සතුව තිබුණත් විදේශ ගමන් බලපත්‍ර කාර්යය සඳහා රැඳී සිටින අතරතුර ඔබට එය කළ නොහැක.

මෙම අවස්ථාවෙහිදී, ඉදිරිපත් කිරීමේ කාර්යය ස්වාධීන වේ (ඔබට හෝ ඔබේ සහායකයාට පැය 5 ක අවධානය යොමු කළ හැකිය), නමුත් බාධා කළ නොහැක .

6 වන අවස්ථාව: සමගාමී හා සමාන්තරව ක්‍රියාත්මක කිරීම

දැන්, ඉදිරිපත් කිරීම සඳහා ඔබේ සහායකයා පැවරීමට අමතරව, විදේශ ගමන් බලපත්‍ර කාර්යය සඳහා ඔබ සමඟ ලැප්ටොප් පරිගණකයක් රැගෙන යන බව පවසන්න. පේළියේ රැඳී සිටින අතරතුර, ඔබේ සහායකයා හවුල් තට්ටුවක පළමු විනිවිදක 10 නිර්මාණය කර ඇති බව ඔබට පෙනේ. ඔබ ඔහුගේ වැඩ කටයුතු පිළිබඳ නිවැරදි කිරීම් කිහිපයක් සමඟ අදහස් යවනවා. පසුව, ඔබ නැවත නිවසට පැමිණෙන විට, කෙටුම්පත සකස් කිරීම සඳහා පැය 2 ක් වෙනුවට, ඔබට විනාඩි 15 ක් අවශ්‍ය වේ.

මෙය කළ හැකි වූයේ ඉදිරිපත් කිරීමේ කාර්යයට ස්වාධීනත්වය (එක් අයෙකුට එය කළ හැකිය) සහ බාධා කිරීමේ හැකියාව (ඔබට එය නැවැත්විය හැකි අතර පසුව එය නැවත ආරම්භ කළ හැකිය). එබැවින් ඔබ එකවර කාර්යයන් දෙකම ක්‍රියාත්මක කළ අතර ඉදිරිපත් කිරීමේ කාර්යය සමාන්තරව ක්‍රියාත්මක කළේය.

ඕනෑවට වඩා නිලධරයට අමතරව රජයේ කාර්යාලය දූෂිත යැයි කියමු. මේ අනුව, ඔබට ඔබේ හැඳුනුම්පත පෙන්විය හැකිය, එය ඇතුලත් කරන්න, ඔබේ අංකය කැඳවනු ලබන තෙක් පේළියේ රැඳී සිටීම ආරම්භ කරන්න, මුරකරුවෙකුට අල්ලස් දෙන්න සහ ඔබේ ස්ථානය පේළියේ තබා ගැනීමට, හොරෙන් යන්න, ඔබේ අංකය ඇමතීමට පෙර ආපසු පැමිණ නැවත බලා සිටීම ඔබම.

මෙම අවස්ථාවේදී, ඔබට විදේශ ගමන් බලපත්‍රය සහ ඉදිරිපත් කිරීමේ කාර්යයන් දෙකම සමගාමීව හා සමාන්තරව සිදු කළ හැකිය. ඔබට හොරෙන් යන්න පුළුවන්, ඔබේ තනතුර ඔබේ සහායකයා දරයි. ඔබ දෙදෙනාට පසුව ඉදිරිපත් කිරීම ආදියෙහි වැඩ කළ හැකිය.


පරිගණක විද්‍යාවට ආපසු

පරිගණක ලෝකයේ, මේ සෑම අවස්ථාවකම සාමාන්‍ය උදාහරණ මෙහි දැක්වේ:

  • 1 වන අවස්ථාව: සැකසුම් වලට බාධා කිරීම.
  • 2 වන අවස්ථාව: එක් ප්‍රොසෙසරයක් පමණක් ඇති විට, නමුත් සියලුම ක්‍රියාත්මක කිරීමේ කාර්යයන් සඳහා I / O නිසා පොරොත්තු කාලයක් තිබේ.
  • 3 වන අවස්ථාව: අපි සිතියම් අඩු කිරීම හෝ හැඩූප් පොකුරු ගැන කතා කරන විට බොහෝ විට දැකිය හැකිය.
  • 4 වන අවස්ථාව: 4 වන අවස්ථාව දුර්ලභ යැයි මම සිතමි. කර්තව්‍යයක් සමගාමී වීම සමාන්තර නොවීම සාමාන්‍ය දෙයකි. නමුත් එය සිදුවිය හැකිය . උදාහරණයක් ලෙස, ඔබේ කාර්යයට විශේෂ ප්‍රොසෙසර -1 හරහා පමණක් ප්‍රවේශ විය හැකි විශේෂ පරිගණක චිපයකට ප්‍රවේශය අවශ්‍ය යැයි සිතමු. මේ අනුව, ප්‍රොසෙසර් -2 නොමිලේ සහ ප්‍රොසෙසර් -1 වෙනත් කාර්යයක් ඉටු කළත් විශේෂ ගණනය කිරීමේ කාර්යයට ප්‍රොසෙසර් -2 මත ඉදිරියට යා නොහැක.
  • 5 වන අවස්ථාව: 4 වැනි අවස්ථාව තරම් දුර්ලභ නොවේ. සමගාමී නොවන කේතයක් මුටෙක්ස් මගින් ආරක්ෂා කරන තීරණාත්මක කලාපයක් විය හැකිය. එය ආරම්භ කළ පසු, එය සම්පූර්ණ කිරීම සඳහා ක්‍රියාත්මක කළ යුතුය . කෙසේ වෙතත්, වෙනස් සැකසුම් කලාප දෙකක් එකවර විවිධ ප්‍රොසෙසර දෙකක් මත ඉදිරියට යා හැකිය.
  • 6 වන අවස්ථාව: IMO, සමාන්තර හෝ සමගාමී වැඩසටහන්කරණය පිළිබඳ බොහෝ සාකච්ඡා මූලික වශයෙන් කතා කරන්නේ කේස් 6 ගැන ය. මෙය සමාන්තර හා සමගාමී ක්‍රියාත්මක කිරීම් දෙකේම මිශ්‍රණයක් හා ගැලපීමකි.

සමගාමී මුදල් සහ යන්න

සමගාමී මුදල් වඩා හොඳ යැයි රොබ් පයික් පවසන්නේ මන්දැයි ඔබ දුටුවහොත්, හේතුව එය බව ඔබ තේරුම් ගත යුතුය. ලිපිගොනු කියවීම, ජාල බාගත කිරීම වැනි බාහිර ක්‍රියාකාරකම් සඳහා ඔබ බලා සිටින බහුවිධ පොරොත්තු කාලයන් ඇති ඔබට සැබවින්ම දිගු කාර්යයක් ඇත. ඔහුගේ දේශනයේදී ඔහු කියන්නේ, “මෙම දිගු අනුක්‍රමික කර්තව්‍යය බිඳ දමන්න, එවිට ඔබ බලා සිටින අතරතුර ඔබට ප්‍රයෝජනවත් යමක් කළ හැකිය.” ඔහු විවිධ ගොපර්වරුන් සමඟ විවිධ සංවිධාන ගැන කතා කරන්නේ එබැවිනි.

දැන් Go හි ශක්තිය ලැබෙන්නේ goයතුරු පද සහ නාලිකා සමඟ මෙම බිඳීම සැබවින්ම පහසු කිරීමෙනි . එසේම, මෙම ගොරෝටීන් උපලේඛනගත කිරීම සඳහා ධාවන කාලය තුළ විශිෂ්ට යටින් පවතින සහයෝගයක් ඇත.

එහෙත් මූලික වශයෙන් සමගාමීත්වය සමාන්තරකරණයට වඩා හොඳ ද?

ඇපල් දොඩම් වලට වඩා හොඳද?


5 වන නඩුවට ස්තූතියි. මම බොහෝ විට සිතන්නේ සමාන්තර ව්‍යංගයෙන් අදහස් කරන්නේ සමගාමී බවයි.
hqt

2
නඩුව 4 සඳහා Node.js සිදුවීම් ලූපය හොඳ නිදසුනකි. B ප්‍රොසෙසරයට නිදහස් සම්පත් තිබුණද, X ඉල්ලීම හසුරුවන්නේ Y සැකසුම් කාර්යබහුල වන ප්‍රොසෙසරය A විසිනි. SetTimeout Y සඳහා කැඳවනු ලැබුවහොත්, X සැකසිය හැක. කල් ඉකුත් වූ පසු Y ද සැකසීම අවසන් වේ.
ලූකස් ජැනන්

එය විසින් කරන පිළිගත් පිළිතුර තබා ඇති අතර මේ එක තරමක් වන "සමගාමී" වචනයෙන් අර්ථ නිරූපනයන් දෙකක් සටහන් කිරීමට වටිනා පැහැදිලි . පළමුවැන්න කාල පරාසයන් අතිච්ඡාදනය කිරීමේදී කාර්යයන් කිහිපයක් ක්‍රියාත්මක කිරීමේ සංකල්පයයි (එනම් සමාන්තරකරණය යන්නෙන් අදහස් කරන්නේ ඩෙෆ් විසින් සමගාමී වීමයි), දෙවැන්න යොමු දක්වන්නේ එක් කාර්යයක් තවත් ක්‍රියාත්මක කිරීමට බාධා කිරීමේ සංකල්පයයි.
මර්ගසොව්

ඉහත අදහස් දැක්වීමට සමානයි - මල්ටිට්‍රෙඩ් පයිතන් 4 වැනි අවස්ථාව සඳහා උදාහරණයකි. මෙම නඩුව අසාමාන්‍ය යැයි මම නොසිතමි. ඕනෑම ගෝලීය පරිවර්තක අගුලක් 4 වන අවස්ථාවෙහිදී සිදුවනු ඇත (එය කිසිසේත් සමගාමී වීමට ඉඩ දෙන්නේ නම්).
chub500

249

මම රොබ් පයික්ගේ කතාවට කැමතියි: සමගිය යනු සමාන්තරකරණය නොවේ (එය වඩා හොඳයි!) (විනිවිදක) (කතා)

රොබ් සාමාන්‍යයෙන් ගෝ ගැන කතා කරන අතර සාමාන්‍යයෙන් දෘශ්‍ය හා අවබෝධාත්මක පැහැදිලි කිරීමකින් සමගාමීතාවයට එදිරිව සමාන්තරකරණය පිළිබඳ ප්‍රශ්නය යොමු කරයි! මෙන්න කෙටි සාරාංශයක්:

කාර්යය: යල්පැනගිය භාෂා අත්පොත ගොඩ ගසා ගනිමු! වරකට එකක්!

කාර්ය

සමගාමී: කර්තව්‍යයේ සමගාමීව දිරාපත්වීම් බොහොමයක් තිබේ! එක් උදාහරණයක්:

ගොපර්ස්

සමාන්තරකරණය: අවම වශයෙන් ගොපර් 2 ක් එකවර වැඩ කරන්නේද නැද්ද යන්න කලින් වින්‍යාසය සමාන්තරව සිදු වේ.



15
කණගාටුයි, "එය වඩා හොඳ" සඳහා එය අඩු කිරීමට සිදු විය. නිවැරදි පිළිතුර එය වෙනස් ය. සම්මුතිය යනු ගැටලුවේ කොටසකි. සමාන්තරකරණය යනු විසඳුමේ කොටසකි.
pyon

U එඩ්වාඩෝ ලීන් ඔබ පැහැදිලිවම කතාවේ නම පරීක්ෂා කර නැත. සමගාමී මුදල් ගැටළුවක් නොවේ, එය ගැටළුවක් / කර්තව්‍යයක් ගැන සිතීමේ ක්‍රමයක් පමණි.
asfer

5
@asfer Concurrency යනු ගැටලුවේ ව්‍යුහයේ කොටසකි. මාර්ගය වන විට, "සමගාමී මුදල්" (ගැටළුව) "සමගාමී පාලනය" සමඟ සම්බන්ධ නොකරන්න (විසඳුමක්, බොහෝ විට සමාන්තරකරණය සමඟ භාවිතා වේ).
pyon

1
මම එය නැරඹූ අතර අවංකවම මම එයට කැමති නැත. එය වඩාත් සරල ආකාරයකින් පැහැදිලි කළ යුතු දෙයකට අනවශ්‍ය සංකූලතා සහ අමිහිරි බවක් එක් කරයි (ජගර්ගේ පිළිතුර මෙතැනින් බලන්න).
jj_

152

අනෙක් අය පවසා ඇති දේ එකතු කිරීමට:

සමගාමීභාවය යනු ජගර් ක්‍රීඩකයෙකු බොහෝ බෝල හසුරුවන්නාක් මෙනි. පෙනෙන ආකාරය කුමක් වුවත්, ජගර් ක්‍රීඩකයා වරකට එක් බෝලයක් අල්ලා ගැනීම / විසි කිරීම පමණි. සමාන්තරකරණය යනු බහුවිධ ජගර් එකවර බෝල හකුළා ගැනීමයි.


2
මම අච්චාරු වනු ඇත, නමුත් ඔබ බෝල යුගලයක් සමඟ හසුරුවන්නේ නම්, ඔබට එකවර බෝල දෙකක් තිබිය හැකිය (ඔබ හසුරුවන ආකාරය අනුව).
thebugfinder

54
bthebugfinder, තෝමස්ගේ උදාහරණයේ දෝෂයක් ඇතිවීමට ඉඩක් නොමැති බව තහවුරු කර ගැනීම. සහසම්බන්ධය යනු අතක් 1 ක් පමණක් ඇති පුද්ගලයෙකුට සමාන ය. කෙසේ වෙතත්, පුද්ගලයා වරකට එක් බෝලයක් පමණක් රඳවාගෙන සිටින බව පෙනේ. සමාන්තරකරණය යනු ජගර් අත් දෙකම භාවිතා කරන විටය.
bigtunacan

“බෝල යුගල අංකය” සමඟ මා සැබවින්ම පැවසීමට අදහස් කළේ “බෝල ගණන පවා”
thebugfinder

1
ඉතා දක්ෂ පිළිතුරක්. මට නිසැකවම බග්ෆයිඩර්ගේ කරුණ දැකිය හැකිය, නමුත් වරකට එක් ක්‍රියාවක් සැලකිල්ලට ගෙන එකඟ වුවහොත් මම මෙම පිළිතුරට බොහෝ කැමතියි.
බීකේ

2
"සමාන්තරකරණය යනු එක් එක් පන්දුව සඳහා එක් අයෙකු සිටීම" සමඟ වඩා හොඳ යැයි මම සිතමි. බෝල ගණන වැඩි වුවහොත් (වෙබ් ඉල්ලීම් සිතන්න), එම පුද්ගලයින්ට විහිළු කිරීම ආරම්භ කළ හැකි අතර, එය ක්‍රියාත්මක කිරීම සමගාමී හා සමාන්තර වේ.
ජග්ලර්

127

ඔබට නූල් දෙකක් ඇති වැඩසටහනක් ඇති බව පවසන්න. වැඩසටහන ආකාර දෙකකින් ක්‍රියාත්මක විය හැකිය:

Concurrency                 Concurrency + parallelism
(Single-Core CPU)           (Multi-Core CPU)
 ___                         ___ ___
|th1|                       |th1|th2|
|   |                       |   |___|
|___|___                    |   |___
    |th2|                   |___|th2|
 ___|___|                    ___|___|
|th1|                       |th1|
|___|___                    |   |___
    |th2|                   |   |th2|

මෙම අවස්ථා දෙකෙහිම අපට එක නූල් එකකට වඩා ධාවනය කර ඇති බවට ඇති එකඟතාව ඇත.

අපි මෙම වැඩසටහන තනි සී.පී.යූ.

අපි මෙම වැඩසටහන බහු-හර CPU සහිත පරිගණකයක ධාවනය කළහොත් අපට එකවරම නූල් දෙක සමාන්තරව දෙපැත්තෙන්ම ධාවනය කළ හැකිය .


4
මම නූල් කුට්ටි වලට කැමතියි. සරල, නමුත් පරිපූර්ණයි! එවැනි පුදුමාකාර පිළිතුරකට ස්තූතියි.
bozzmob

55

සමගාමී මුදල්: තනි සකසනයකින් ගැටළු දෙකක් හෝ වැඩි ගණනක් විසඳන්නේ නම්. alt පෙළ

සමාන්තරකරණය: එක් ගැටළුවක් බහු සකසනයන් විසින් විසඳනු ලැබුවහොත්.

alt පෙළ


56
මම මෙයට එකඟ නොවෙමි - සමගාමීව නිර්මාණය කර ඇති වැඩසටහනක් සමාන්තරව ක්‍රියාත්මක විය හැකිය හෝ නොතිබිය හැකිය; සමගාමී මුදල් යනු වැඩසටහනක ගුණාංගයකි, එය ක්‍රියාත්මක කිරීමේදී සමාන්තරකරණය සිදුවිය හැකිය.
ඒඩ්‍රියන් මවුට්

40

වීඩියෝ නිබන්ධනයක් නැරඹීමෙන් නව ක්‍රමලේඛන භාෂාවක් ඉගෙනීම ගැන සිතා බලන්න. ඔබට වීඩියෝව විරාමයක් තැබිය යුතුය, කේතයේ පවසා ඇති දේ යොදන්න. එය සමගාමී මුදලකි.

දැන් ඔබ වෘත්තීය ක්‍රමලේඛකයෙකි. කේතීකරණයේදී සන්සුන් සංගීතයට සවන් දීමෙන් ඔබ සතුටක් ලබයි. ඒක සමාන්තරකරණය.

ඇන්ඩ rew ජෙරාන්ඩ් ගොලැන්ග් බ්ලොග් අඩවියේ පැවසූ පරිදි

සහසම්බන්ධය යනු එකවර බොහෝ දේ සමඟ කටයුතු කිරීමයි. සමාන්තරකරණය යනු එකවර බොහෝ දේ කිරීමයි.

විනෝද වන්න.


39

සිත්ගන්නාසුළු හා පහසුවෙන් තේරුම් ගත හැකි උදාහරණයක් සමඟ පැහැදිලි කිරීමට මම උත්සාහ කරමි. :)

සංවිධානයක් චෙස් තරගාවලියක් සංවිධානය කරන බව උපකල්පනය කරන්න, එහිදී ක්‍රීඩකයින් 10 දෙනෙකු ( සමාන චෙස් ක්‍රීඩා කුසලතා ඇති ) වෘත්තීය ශූර චෙස් ක්‍රීඩකයෙකුට අභියෝග කරනු ඇත . චෙස් ක්‍රීඩාව 1: 1 වන බැවින් සංවිධායකයින්ට නියමිත වේලාවට ක්‍රීඩා 10 ක් පැවැත්විය යුතුය. එවිට ඔවුන්ට මුළු ඉසව්ව හැකි ඉක්මනින් අවසන් කළ හැකිය.

පහත දැක්වෙන අවස්ථා මෙම ක්‍රීඩා 10 පැවැත්වීමේ විවිධ ක්‍රම පහසුවෙන් විස්තර කරයි:

1) SERIAL - වෘත්තිකයන් එක් එක් පුද්ගලයා සමඟ එකින් එක ක්‍රීඩා කරයි, එනම් එක් පුද්ගලයෙකු සමඟ ක්‍රීඩාව ආරම්භ කර අවසන් කර ඊළඟ ක්‍රීඩාව ඊළඟ පුද්ගලයා සමඟ ආරම්භ කරයි. වෙනත් වචන වලින් කිවහොත්, ඔවුන් අනුපිළිවෙලින් ක්‍රීඩා කිරීමට තීරණය කළහ. එබැවින් එක් ක්‍රීඩාවක් සම්පූර්ණ කිරීමට මිනිත්තු 10 ක් ගත වුවහොත් ක්‍රීඩා 10 ක් මිනිත්තු 100 ක් ගතවනු ඇති අතර, එක් ක්‍රීඩාවක සිට අනෙක් ක්‍රීඩාවට මාරුවීමට තත්පර 6 ක් ගතවේ යැයි උපකල්පනය කරන්න, එවිට ක්‍රීඩා 10 ක් සඳහා තත්පර 54 ක් (දළ වශයෙන් මිනිත්තු 1) වනු ඇත.

එබැවින් මුළු සිදුවීම මිනිත්තු 101 කින් දළ වශයෙන් සම්පූර්ණ වනු ඇත ( WORST APPROACH )

2) සමගාමී - වෘත්තිකයන් සිය වාරය ක්‍රීඩා කර ඊළඟ ක්‍රීඩකයා වෙත ගමන් කරන බව පැවසීමට ඉඩ සලසයි, එබැවින් ක්‍රීඩකයින් 10 දෙනා එකවර ක්‍රීඩා කරන නමුත් වෘත්තීය ක්‍රීඩකයා වරකට දෙදෙනෙකු සමඟ නොසිටින අතර, ඔහු තම වාරය ක්‍රීඩා කර ඊළඟ පුද්ගලයා වෙත ගමන් කරයි. දැන් උපකල්පනය කරන්න වෘත්තීය ක්‍රීඩකයාට තම වාරය ක්‍රීඩා කිරීමට තත්පර 6 ක් ගත වන අතර වෘත්තීය ක්‍රීඩකයාගේ සංක්‍රාන්ති කාලය තත්පර 6 ක් වන බැවින් පළමු ක්‍රීඩකයා වෙත ආපසු යාමට සම්පූර්ණ සංක්‍රාන්ති කාලය මිනිත්තු 1 (තත්පර 10x6) වනු ඇත. එමනිසා, ඔහු සිදුවීම ආරම්භ කළ පළමු පුද්ගලයා වෙත නැවත පැමිණෙන විට, මිනිත්තු 2 ක් පසු වී ඇත (10xtime_per_turn_by_champion + 10xtransition_time = 2mins)

සියලුම ක්‍රීඩකයින් සිය වාරය සම්පූර්ණ කිරීම සඳහා තත්පර 45 ක් ගතවේ යැයි උපකල්පනය කිරීම, එසේ නම්, එක් ක්‍රීඩාවකට මිනිත්තු 10 ක් පදනම් කරගෙන, සීරියල් ඉසව්වේ අංක. ක්‍රීඩාවක් අවසන් වීමට පෙර වට 600 / (45 + 6) = වට 11 (දළ වශයෙන්) විය යුතුය

එබැවින් සමස්ත සිදුවීම දළ වශයෙන් 11xtime_per_turn_by_player _ & _ ශූරයා + 11xtransition_time_across_10_players = 11x51 + 11x60sec = 561 + 660 = 1221sec = 20.35mins (දළ වශයෙන්)

මිනිත්තු 101 සිට මිනිත්තු 20.35 දක්වා වැඩිදියුණු කිරීම බලන්න ( වඩා හොඳ ප්‍රවේශය )

3) PARALLEL - සංවිධායකයින්ට අමතර අරමුදල් ලබා ගත හැකි අතර ඒ අනුව වෘත්තීය ශූර ක්‍රීඩකයින් දෙදෙනෙකුට (දෙදෙනාම සමානව හැකියාව ඇති) ආරාධනා කිරීමට තීරණය කළ අතර එකම ක්‍රීඩකයින් 10 දෙනාගේ (අභියෝගකරුවන්) 5 බැගින් කණ්ඩායම් දෙකකට බෙදා ඔවුන් ශූරයන් දෙදෙනෙකුට එනම් එක් අයෙකුට අනුයුක්ත කළහ. කණ්ඩායම් වශයෙන්. දැන් මෙම කට්ටල දෙකෙහි සමාන්තරව සිදුවෙමින් පවතී, එනම් අවම වශයෙන් ක්‍රීඩකයින් දෙදෙනෙකු (එක් එක් කණ්ඩායමෙන් එක් අයෙකු) ඔවුන්ගේ කණ්ඩායමේ වෘත්තීය ක්‍රීඩකයින් දෙදෙනාට එරෙහිව ක්‍රීඩා කරයි.

කෙසේ වෙතත්, කණ්ඩායම තුළ වරකට එක් ක්‍රීඩකයෙකු රැගෙන යන වෘත්තීය ක්‍රීඩකයා (එනම් අනුක්‍රමිකව) එබැවින් කිසිදු ගණනය කිරීමකින් තොරව ඔබට පහසුවෙන්ම එම සිදුවීම සම්පූර්ණ කිරීමට මිනිත්තු 101/2 = මිනිත්තු 50.5 කින් සම්පූර්ණ වේ.

මිනිත්තු 101 සිට මිනිත්තු 50.5 දක්වා වැඩිදියුණු කිරීම බලන්න ( හොඳ ප්‍රවේශය )

4) CONCURRENT + PARALLEL - ඉහත අවස්ථාවෙහිදී, ශූරයන් දෙදෙනා ඔවුන්ගේ කණ්ඩායම් වල ක්‍රීඩකයින් 5 දෙනා සමඟ සමගාමීව (2 වන කරුණ කියවන්න) ක්‍රීඩා කිරීමට ඉඩ දෙන්න, එබැවින් දැන් කණ්ඩායම් හරහා ක්‍රීඩා සමාන්තරව ක්‍රියාත්මක වන නමුත් කණ්ඩායම් තුළ ඔවුන් සමගාමීව ක්‍රියාත්මක වේ.

එබැවින් එක් කණ්ඩායමක ක්‍රීඩා ආසන්න වශයෙන් 11xtime_per_turn_by_player _ & _ ශූරයා + 11xtransition_time_across_5_players = 11x51 + 11x30 = 600 + 330 = 930sec = මිනිත්තු 15.5 (දළ වශයෙන්)

එබැවින් සමස්ත සිදුවීම (එවැනි සමාන්තර ධාවන කණ්ඩායම් දෙකක් සම්බන්ධ) ආසන්න වශයෙන් මිනිත්තු 15.5 කින් අවසන් වේ

මිනිත්තු 101 සිට මිනිත්තු 15.5 දක්වා වැඩිදියුණු කිරීම බලන්න ( හොඳම ප්‍රවේශය )

සටහන: ඉහත තත්වය තුළ ඔබ ක්‍රීඩකයින් 10 දෙනෙකු හා සමාන රැකියා 10 ක් සහ වෘත්තීය ක්‍රීඩකයෙකු දෙදෙනෙකු CPU කෝර් දෙකක් වෙනුවට ආදේශ කළහොත් නැවත පහත දැක්වෙන ඇණවුම සත්‍ය වනු ඇත:

SERIAL> PARALLEL> CONCURRENT> CONCURRENT + PARALLEL

(සටහන: මෙම ඇණවුම රැකියා වල අන්තර් පරායත්තතාවය, සන්නිවේදන අවශ්‍යතා b / w රැකියා සහ සංක්‍රාන්ති පොදු කාර්ය b / w රැකියා මත රඳා පවතින බැවින් මෙම අනුපිළිවෙල වෙනත් අවස්ථා සඳහා වෙනස් විය හැකිය)


2
විශිෂ්ට පැහැදිලි කිරීමක්. එක් එකතු කිරීමක් තිබේ. දෙවන අවස්ථාව සඳහා සමගාමී ආකෘතිය (වෘත්තීය ක්‍රීඩකයෙකු b / w ක්‍රීඩකයින් චලනය කරන විට) වැඩි දියුණු වන්නේ තත්පර 45 කින් ක්‍රීඩකයා සිය වාරය කළහොත් පමණි. වෙනත් වචන වලින් කිවහොත්, සමස්ත ක්‍රියාවලිය තුළම මට I / O රැඳී සිටිය යුතුය. සාමාන්‍ය ක්‍රීඩකයෙකුට තත්පර 45 ට අඩු (තත්පර 5 ක් හෝ තත්පර 10 ක් විය හැක) වැඩි දියුණු කිරීම අඩු වනු ඇත. මේ අනුව, අපගේ කාර්යයේ I / O පොරොත්තු කාලය නොමැති නම්, සමගාමී මුදල් දළ වශයෙන් අනුක්‍රමික ක්‍රියාවලියකට සමාන වේ.
Psylone

"සමගාමී + සමාන්තර" දර්ශනය වටා මගේ හිස එතීමට මා වෙහෙස වූ නිසා මෙය හොඳම පැහැදිලි කිරීම යැයි මම සිතමි. මෙම පිළිතුර කියවීමට පෙර, මම නිතරම සිතුවේ "සමාන්තරකරණය" "සමගාමී" වලට වඩා හොඳ නමුත් පෙනෙන පරිදි එය සම්පත් සීමාවන් මත රඳා පවතී. ඔබට ලැබෙන “වෘත්තීය චෙස් ක්‍රීඩකයා” වැඩි වන තරමට ඔබේ කාර්යසාධනය සමගාමී මුදල් සමඟ සැසඳෙනු ඇත.
හ්මරැක්

34

සරල උදාහරණය:

සමගාමී වන්නේ: "එක් ස්වයංක්‍රීය ටෙලර් යන්ත්‍රයකට ප්‍රවේශ වන පෝලිම් දෙකක්"

සමාන්තර වන්නේ: "පෝලිම් දෙකක් සහ ස්වයංක්‍රීය ටෙලර් යන්ත්‍ර දෙකක්"


සහ බහු කියවීම? ඉහත සිද්ධියට මල්ටිට්‍රෙඩින් යන පදය ගැලපෙන්නේ කෙසේදැයි සිතා බලන්න. මෙම අවස්ථාවෙහිදී, සමගාමී == බහු කියවීම, එක් එක් පෝලිමේ සිට එක් මොහොතකට ස්වයංක්‍රීය ටෙලර් යන්ත්‍රයක් යනවාද?
KhoPhi

30

ඔවුන් විවිධ ගැටළු විසඳයි. සමකාලීන මුදල් හිඟ CPU සම්පත් සහ බොහෝ කාර්යයන් තිබීමේ ගැටළුව විසඳයි. එබැවින්, හිඟ සම්පතෙහි කාලය බෙදා ගැනීම සඳහා ඔබ කේත හරහා නූල් හෝ ස්වාධීනව ක්‍රියාත්මක කිරීමේ මාර්ග නිර්මාණය කරයි. CPU ලබා ගත හැකි වීම නිසා මෑතක් වන තුරුම සමගාමී මුදල් සාකච්ඡාවේ ආධිපත්‍යය දැරීය.

සමාන්තරකරණය මඟින් ප්‍රමාණවත් කාර්යයන් සහ සුදුසු කාර්යයන් සොයා ගැනීම (නිවැරදිව බෙදිය හැකි ඒවා) සහ බහුල CPU සම්පත් හරහා බෙදා හැරීම යන ගැටළුව විසඳයි. සමාන්තරකරණය සැමවිටම සිදුවී ඇත, නමුත් එය ප්‍රමුඛස්ථානයට පැමිණෙන්නේ බහු-මූලික සකසනයන් එතරම් ලාභදායී බැවිනි.


29

සංක්ෂිප්තභාවය: සම්පත් බෙදා ගැනීමේ විභවය සමඟ බහු ක්‍රියාත්මක කිරීම් ගලා යයි

උදා: I / O වරායක් සඳහා තරඟ කරන නූල් දෙකක්.

paralelism: ගැටළුවක් සමාන කැබලි කිහිපයක බෙදීම.

උදා: ගොනුවේ සෑම භාගයකම ක්‍රියාවලි දෙකක් ක්‍රියාත්මක කිරීමෙන් විශාල ගොනුවක් විග්‍රහ කිරීම.


25

සමාන්තරකරණය යනු ක්‍රියාවලි එකවර ක්‍රියාත්මක කිරීම multiple cores per CPUහෝ multiple CPUs (on a single motherboard).

සමගාමී විට ය අනුවර්තී වාදය මත ලබා ගෙන ඇත single core/CPUභාවිතා අංක ගණිත ක්රමයක් , CPU හි කාලය (කාල-පෙත්තක්) බෙදාලන. ක්‍රියාවලි අන්තර් සම්බන්ධිතයි .

ඒකක:

  • එක් CPU එකක හරය 1 ක් හෝ වැඩි ගණනක් (නවීන දින සකසනයන් සියල්ලම)
  • මවු පුවරුවක 1 හෝ බොහෝ CPU (පැරණි පාසල් සේවාදායකයන් සිතන්න)
  • 1 යෙදුම 1 වැඩසටහනකි (Chrome බ්‍රව්සරය සිතන්න)
  • 1 වැඩසටහනට ක්‍රියාවලි 1 ක් හෝ වැඩි ගණනක් තිබිය හැකිය (එක් එක් ක්‍රෝම් බ්‍රව්සර් ටැබ් ක්‍රියාවලියක් යැයි සිතන්න)
  • 1 ක්‍රියාවලියට 1 වැඩසටහනකින් නූල් 1 ක් හෝ වැඩි ගණනක් තිබිය හැකිය (ක්‍රෝම් ටැබ් යූටියුබ් වීඩියෝ 1 නූල් වලින් වාදනය කරයි, තවත් ත්‍රෙඩ් එකක් අදහස් අංශයට විහිදේ, තවත් පරිශීලකයින් සඳහා තොරතුරු පිවිසීමේ තොරතුරු)
  • මේ අනුව, 1 වැඩසටහනට ක්‍රියාත්මක කිරීමේ නූල් 1 ක් හෝ වැඩි ගණනක් තිබිය හැකිය
  • 1 ක්‍රියාවලිය නම් thread(s)+allocated memory resources by OS (ගොඩවල්, රෙජිස්ටර්, ස්ටක්, පන්ති මතකය)

3
පරිගණක විද්‍යා ලෝකයේ පරිපූර්ණ පිළිතුර මෙය යැයි මම සිතමි.
sofs1

1
මෙම පිළිතුර පිළිගත යුතු පිළිතුර විය යුතුය, ඉහත සහ පහළ දර්ශනය නොවේ
ඉයුජන් සුනික්

22

සමගාමී ක්‍රමලේඛන ක්‍රියාත්මක කිරීමේදී වර්ග 2 ක් ඇත: සමාන්තර නොවන සමගාමී වැඩසටහන්කරණය සහ සමාන්තර සමගාමී වැඩසටහන්කරණය (සමාන්තරකරණය ලෙසද හැඳින්වේ).

මෙහි ඇති ප්‍රධාන වෙනස නම්, මිනිස් ඇසට සමාන්තර නොවන සමගාමී නූල් එකවර ක්‍රියාත්මක වන බවක් පෙනෙන්නට තිබුණත් යථාර්ථයේ දී ඒවා එසේ නොවේ. සමාන්තර නොවන සමගාමී නූල් වලදී වේගයෙන් මාරුවී කාලය කැපීම හරහා ප්‍රොසෙසරය භාවිතා කිරීමට හැරීම් ලබා ගනී. සමාන්තරකරණයේදී බහු ප්‍රොසෙසර පවතින අතර, විවිධ නූල් එකවර විවිධ ප්‍රොසෙසර මත ධාවනය කළ හැකිය. රූප විස්තරය මෙහි ඇතුළත් කරන්න

යොමුව: ක්‍රමලේඛන භාෂාවල සමගාමී මුදල් හඳුන්වාදීම


8
වචන දහසක් වටිනා පින්තූරයක්
sensiwu

11

සම්මුතිය => හවුල් සම්පත් සමඟ කාල පරාසයන් අතිච්ඡාදනය කිරීමේදී බහු කාර්යයන් සිදු කරන විට (සම්පත් භාවිතය උපරිම කළ හැකිය).

සමාන්තර => තනි කාර්යයක් එකවර සිදු කළ හැකි සරල ස්වාධීන උප කාර්යයන් කිහිපයකට බෙදා ඇති විට.


අතිච්ඡාදනය වන සැකසුම් වල පෙනුම ලබා දීම සඳහා බහු කාර්යයන් (කාල පෙති) ඇති තනි හර ප්‍රොසෙසර් පද්ධතියක් ඔබ විස්තර කරන්නේ කෙසේද? සමගාමී මුදල් කාල පරාසයන් තුළ ක්‍රියාත්මක කිරීම ලෙස අර්ථ දක්වා ඇති විට එයට මෙම සැකසුම් ඇතුළත් වේ. සමගාමී මුදල් පිළිබඳ ඔබේ අර්ථ දැක්වීම යටතේ එය බැහැර කරන එකවර ක්‍රියාත්මක කිරීම ඔබ විස්තර කර ඇත.
acarlon

10

සේවාදායකයාට පෝලිම්වල පළමු රැකියාව පමණක් සේවය කළ හැකි පෝලිම්වල සේවා සපයන ලෙස සිතන්න.

1 සේවාදායකය, රැකියා පෝලිම් 1 ක් (රැකියා 5 ක් සමඟ) -> සමගාමීත්වයක් නැත, සමාන්තරකරණය නොමැත (සම්පූර්ණ කිරීම සඳහා එක් රැකියාවක් පමණක් සේවය කරනු ලැබේ, පෝලිම්වල ඊළඟ රැකියාව සේවා කරන තෙක් බලා සිටිය යුතු අතර වෙනත් සේවාදායකයක් නොමැත එය සේවය කරන්න)

1 සේවාදායකයක්, වෙනස් පෝලිම් 2 ක් හෝ ඊට වැඩි ගණනක් (පෝලිමකට රැකියා 5 ක් සමඟ) -> සමගාමී මුදල් (සේවාදායකයා පෝලිම්වල ඇති පළමු රැකියා සියල්ල සමඟ සමානව හෝ බරින් කාලය බෙදා ගන්නා බැවින්), තවමත් කිසිදු සමාන්තරයක් නොමැත, ඕනෑම මොහොතක, එක හා එකම රැකියාව සේවා.

සේවාදායකයන් 2 ක් හෝ වැඩි ගණනක්, එක් පෝලිමක් -> සමාන්තරකරණය (එකවර රැකියා 2 ක් සිදු කරයි) නමුත් සමගාමී මුදල් නොමැත (සේවාදායකයා කාලය බෙදා නොගනී, 3 වන කාර්යය එක් සේවාදායකයක් සම්පූර්ණ වන තෙක් බලා සිටිය යුතුය.)

සේවාදායක 2 ක් හෝ වැඩි ගණනක්, වෙනස් පෝලිම් 2 ක් හෝ වැඩි ගණනක් -> සමගාමී හා සමාන්තරකරණය

වෙනත් වචන වලින් කිවහොත්, සමගාමී මුදල් යනු රැකියාවක් සම්පූර්ණ කිරීම සඳහා කාලය බෙදා ගැනීමයි, එය සිය කාර්යය සම්පූර්ණ කිරීමට එකම වේලාවක් ගතවනු ඇති නමුත් අවම වශයෙන් එය වේලාසනින් ආරම්භ වේ. වැදගත්ම දෙය නම්, රැකියා කුඩා රැකියා වලට කපා ගත හැකි අතර එමඟින් අන්තර් සම්බන්ධතාවයට ඉඩ ලබා දේ.

සමාන්තරකරණය සාක්ෂාත් කරගනු ලබන්නේ සමාන්තරව ක්‍රියාත්මක වන තවත් CPU, සේවාදායක, පුද්ගලයින් යනාදියෙනි.

මතක තබා ගන්න, සම්පත් බෙදා ගත හොත්, පිරිසිදු සමාන්තරකරණය සාක්ෂාත් කරගත නොහැකි ය, නමුත් සම්මුතියට එය හොඳම ප්‍රායෝගික භාවිතයක් වනු ඇත, එම සම්පත අවශ්‍ය නොවන වෙනත් රැකියාවක් භාර ගනී.


8

මම මෙහි ඇති ජනප්‍රිය පිළිතුරු සමඟ තරමක් ගැටෙන පිළිතුරක් ඉදිරිපත් කිරීමට යන්නෙමි. මගේ මතය අනුව, සමගාමීභාවය යනු සමාන්තරකරණය ඇතුළත් වන සාමාන්‍ය යෙදුමකි. එකිනෙකට වෙනස් කාර්යයන් හෝ වැඩ ඒකක කාලයත් සමඟ අතිච්ඡාදනය වන ඕනෑම තත්වයකට සමගාමී මුදල් අදාළ වේ. සමාන්තරකරණය වඩාත් නිශ්චිතවම එකම භෞතික වේලාවක වැඩ ඒකක ඇගයීමට ලක් කරන / ක්‍රියාත්මක කරන අවස්ථාවන්ට අදාළ වේ. සමාන්තරවාදයේ රයිසන් ඩිට්‍රේ යනු බහු භෞතික පරිගණක සම්පත් වලින් ප්‍රයෝජන ගත හැකි මෘදුකාංග වේගවත් කිරීමයි. සමගිය යටතේ ගැලපෙන අනෙක් ප්‍රධාන සංකල්පය වන්නේ අන්තර්ක්‍රියාකාරිත්වයයි. අන්තර්ක්‍රියාකාරිත්වයකාර්යයන් අතිච්ඡාදනය බාහිර ලෝකයෙන් නිරීක්ෂණය කළ විට අදාළ වේ. අන්තර්ක්‍රියාකාරිත්වයේ ප්‍රභවය වන්නේ පරිශීලකයින්, ජාල සම වයසේ මිතුරන්, දෘඩාංග පර්යන්ත වැනි සැබෑ ලෝක ආයතනවලට ප්‍රතිචාර දක්වන මෘදුකාංග සෑදීමයි.

සමාන්තරකරණය සහ අන්තර්ක්‍රියාකාරිත්වය සමගාමී මුදල්වල මුළුමනින්ම පාහේ ස්වාධීන මානයකි. කිසියම් ව්‍යාපෘතියක් සඳහා සංවර්ධකයින් ඒ දෙකම ගැන සැලකිලිමත් විය හැකිය. නූල් ලෙස පිළිකුල් කිරීම දෙකම කිරීමට සාධාරණ පහසු ප්‍රාථමිකයක් ලබා දෙන නිසා ඒවා ගැටීමට නැඹුරු වේ.

සමාන්තරකරණය ගැන තව ටිකක් විස්තර :

සමාන්තරකරණය ඉතා කුඩා පරිමාණයන්හි (උදා: ප්‍රොසෙසරවල උපදෙස් මට්ටමේ සමාන්තරකරණය), මධ්‍යම පරිමාණයන් (උදා: බහුකාර්ය සකසනයන්) සහ විශාල පරිමාණයන් (උදා: ඉහළ කාර්යසාධනයක් සහිත පරිගණක පොකුරු). බහුකාර්ය ප්‍රොසෙසරවල වර්ධනය හේතුවෙන් මෘදුකාංග සංවර්ධකයින්ට නූල් මට්ටමේ සමාන්තරකරණය හෙළි කිරීමට ඇති පීඩනය මෑත වසරවලදී වැඩි වී තිබේ. සමාන්තරකරණය යැපීම යන සංකල්පයට සමීපව සම්බන්ධ වේ . පරායත්තතාවය සමාන්තරකරණය ළඟා කර ගත හැකි ප්‍රමාණය සීමා කරයි; එකක් අනෙකා මත රඳා පවතී නම් කාර්යයන් දෙකක් සමාන්තරව ක්‍රියාත්මක කළ නොහැක (සමපේක්ෂනය නොසලකා හැරීම).

සමාන්තරකරණය ප්‍රකාශ කිරීම සඳහා ක්‍රමලේඛකයින් භාවිතා කරන රටා සහ රාමු රාශියක් ඇත: නල මාර්ග, කාර්ය සංචිත, දත්ත ව්‍යුහයන් මත සමස්ත මෙහෙයුම් ("සමාන්තර අරා").

අන්තර්ක්‍රියාකාරිත්වය පිළිබඳ තව ටිකක් විස්තර :

අන්තර්ක්‍රියාකාරිත්වය සඳහා වඩාත් මූලික හා පොදු ක්‍රමය වන්නේ සිදුවීම් (එනම් සිදුවීම් ලූපයක් සහ හසුරුවන්නන් / ඇමතුම් ආපසු) ය. සරල කාර්යයන් සඳහා සිදුවීම් විශිෂ්ටයි. සිදුවීම් සමඟ වඩාත් සංකීර්ණ කාර්යයන් කිරීමට උත්සාහ කිරීම සිරස් ඉරීමකට ලක් වේ (aka callback hell; aka control inversion). ඔබ සිදුවීම් වලින් පෝෂණය වූ විට ඔබට උත්පාදක යන්ත්ර, කොරෝටීන් (අසින්ක් / අවයිට්) හෝ සමුපකාර නූල් වැනි විදේශීය දේවල් උත්සාහ කළ හැකිය.

විශ්වසනීය මෘදුකාංග සඳහා ඇති ආදරය සඳහා, කරුණාකර ඔබ යන්නේ අන්තර්ක්‍රියාකාරිත්වය නම් නූල් භාවිතා නොකරන්න.

වංචනික බව

රොබ් පයික්ගේ "සමගාමීත්වය සමාන්තරකරණය නොවේ; එය වඩා හොඳය" යන සටන් පා .යට මම අකමැතියි. සමගාමීත්වය සමාන්තරවාදයට වඩා හොඳ හෝ නරක නැත. සමගාමීත්වයට අන්තර්ක්‍රියාකාරිත්වය ඇතුළත් වන අතර එය සමාන්තරකරණය සමඟ වඩා හොඳ / නරක ආකාරයකින් සැසඳිය නොහැක. එය "දත්ත වලට වඩා පාලන ප්‍රවාහය හොඳයි" යැයි පැවසීම වැනිය.


7

ඉලෙක්ට්‍රොනික් වල අනුක්‍රමික හා සමාන්තරව ස්ථිතික ස්ථලක වර්ගයක් නිරූපණය කරයි, පරිපථයේ සත්‍ය හැසිරීම තීරණය කරයි. සමගිය නොමැති විට සමාන්තරකරණය නිර්ණායක වේ.

ගතික, කාලය හා සම්බන්ධ සංසිද්ධි විස්තර කිරීම සඳහා , අපි අනුක්‍රමික සහ සමගාමී යන වචන භාවිතා කරමු . නිදසුනක් වශයෙන්, යම් කාර්ය අනුපිළිවෙලක් හරහා නිශ්චිත ප්‍රති come ලයක් ලබා ගත හැකිය (උදා: වට්ටෝරුව). අපි යමෙකු සමඟ කතා කරන විට, අපි වචන මාලාවක් නිෂ්පාදනය කරමු. කෙසේ වෙතත්, යථාර්ථයේ දී, තවත් බොහෝ ක්‍රියාදාමයන් එකම මොහොතේ සිදු වන අතර, එම නිසා, යම් ක්‍රියාවක සත්‍ය ප්‍රති result ලයට සමගාමී වේ. බොහෝ දෙනෙක් එකවර කථා කරන්නේ නම්, සමගාමී කතා අපගේ අනුපිළිවෙලට බාධා ඇති කළ හැකි නමුත් මෙම ඇඟිලි ගැසීම්වල ප්‍රති come ල කල්තියා නොදැනේ. සමගාමී මුදල් අවිනිශ්චිතතාවය හඳුන්වා දෙයි .

අනුක්‍රමික / සමාන්තර හා අනුක්‍රමික / සමගාමී ලක්ෂණ විකලාංග වේ. ඩිජිටල් සන්නිවේදනයේ මේ සඳහා උදාහරණයක්. දී අනුක්රමික ඇඩප්ටරය , ඩිජිටල් පණිවිඩය තාවකාලිකව (එනම් ඇත අනුපිලිවෙලට ) එම සන්නිවේදන මාර්ගය (උදා. එක් කම්බි) සීමා වී තිබේ. දී සමාන්තර ඇඩප්ටරය , මේ සමාන්තර සන්නිවේදන මාර්ග (උදා. බොහෝ වයර්) මත ද බෙදා වෙන්, පසුව එම භාණ්ඩ ලබාගැනීම සඳහා අවසන් මත ප්රතිසංස්කරණය කර ඇත.

ළමයින් 9 දෙනෙකු සමඟ අපි ක්‍රීඩාවක් නිරූපණය කරමු. අපි ඒවා දාමයක් ලෙස බැහැර කළහොත්, මුලින් පණිවිඩයක් ලබා දී අවසානයේ එය ලැබෙන්නේ නම්, අපට අනුක්‍රමික සන්නිවේදනයක් ඇත. සන්නිවේදන ඒකකයන්ගේ අනුපිළිවෙලකින් සමන්විත තවත් වචන පණිවිඩය රචනා කරයි.

I like ice-cream so much. > X > X > X > X > X > X > X > X > X > ....

මෙය අනුක්‍රමික යටිතල ව්‍යුහයක් මත ප්‍රතිනිෂ්පාදනය කරන අනුක්‍රමික ක්‍රියාවලියකි .

දැන්, අපි 3 කාණ්ඩවලට ළමයින් බෙදීමට රූපයක් කරමු. අපි වාක්‍ය ඛණ්ඩය කොටස් තුනකට බෙදා, පළමුවැන්න අපේ වම්පස ඇති පේළියේ දරුවාට දෙන්න, දෙවැන්න මැද රේඛාවේ දරුවාට යනාදිය.

I like ice-cream so much. > I like    > X > X > X > .... > ....
                          > ice-cream > X > X > X > ....
                          > so much   > X > X > X > ....

මෙය සමාන්තර යටිතල ව්‍යුහයක් මත ප්‍රතිනිෂ්පාදනය කරන අනුක්‍රමික ක්‍රියාවලියකි (තවමත් අර්ධ වශයෙන් අනුක්‍රමිකව පැවතුනද).

මෙම අවස්ථා දෙකෙහිම, දරුවන් අතර පරිපූර්ණ සන්නිවේදනයක් ඇතැයි සිතමු, ප්‍රති result ලය කල්තියා තීරණය වේ.

ඔබ හා සමාන වේලාවක පළමු දරුවා සමඟ කතා කරන වෙනත් පුද්ගලයින් සිටී නම්, අපට සමගාමී ක්‍රියාදාමයන් ඇත. යටිතල පහසුකම් මගින් කුමන ක්‍රියාවලියක් සලකා බලනු ඇත්දැයි අපි නොදනිමු, එබැවින් අවසාන ප්‍රති come ලය කල්තියා තීරණය නොකෙරේ .


+1 සිත්ගන්නා සුළුය. එක් අර්ථ දැක්වීමක් ගණනය කිරීමේදී, දැනට පිළිගෙන ඇති පිළිතුරට අනුව සමගාමී යන්නෙන් අදහස් වන්නේ එකවර අතිච්ඡාදනය වන කාල පරාසයන් ක්‍රියාත්මක කිරීමයි. ඉලෙක්ට්‍රොනික් වලදී ඔබ එකවර සිදුවන දේවල පෙනුම ලබා දීම සඳහා නිර්මාණය කර ඇති නමුත් ඉතා ඉක්මණින් මාරු වන පරිපථ විස්තර කරන්නේ කෙසේද? ඔබේ අයිස්ක්‍රීම් ප්‍රතිසම දිගටම කරගෙන යාමට: මම අයිස්ක්‍රීම් වලට බොහෝ සෙයින් කැමතියි> ළමයා A1 මම කැමතියි> ළමා බී 1 අයිස්ක්‍රීම්> ළමා සී 1 මෙතරම්
acarlon

මම මෙය මුලින්ම දුටුවේ: s1l3n0.blogspot.com/2013/04/… .
ෆ්‍රෑන්ක් එච්බී

ඔව්, මම මගේ පෞද්ගලික බ්ලොග් සටහනක මගේ පිළිතුර ටිකක් පිරිපහදු කළෙමි. ;)
s1l3n0

6

සමගාමීභාවය යනු සමාන්තරකරණයේ සාමාන්‍යකරණය වූ ස්වරූපයයි. උදාහරණයක් ලෙස සමාන්තර වැඩසටහන සමගාමී ලෙසද හැඳින්විය හැකි නමුත් ආපසු හැරවීම සත්‍ය නොවේ.

  1. තනි ප්‍රොසෙසරයකින් සමගාමීව ක්‍රියාත්මක කළ හැකිය (බහු නූල්, උපලේඛන හෝ නූල් තටාකය මගින් කළමනාකරණය වේ)

  2. සමාන්තරව ක්‍රියාත්මක කිරීම තනි ප්‍රොසෙසරයක් මත නොව බහු ප්‍රොසෙසරයකින් කළ නොහැක. (සකසනයකට එක් ක්‍රියාවලියක්)

  3. බෙදා හරින ලද පරිගණකකරණය ද ආශ්‍රිත මාතෘකාවක් වන අතර එය සමගාමී පරිගණනය ලෙසද හැඳින්විය හැකි නමුත් සමාන්තරකරණය මෙන් ආපසු හැරවීම සත්‍ය නොවේ.

වැඩි විස්තර සඳහා මෙම පර්යේෂණ පත්‍රිකාව සමගාමී වැඩසටහන්කරණයේ සංකල්ප කියවන්න


6

මෙම ප්‍රශ්නයට පෝල් බුචර්ගේ පිළිතුරට මම ඇත්තෙන්ම කැමතියි (ඔහු සති හතක සමගාමී ආකෘති හතක ලේඛකයා ):

ඔවුන් බොහෝ විට ව්‍යාකූල වුවද, සමාන්තරකරණය සහ සහසම්බන්ධය වෙනස් දේ වේ. සමගාමීභාවය යනු ගැටළු සහිත වසමේ අංගයකි - ඔබේ කේතයට එකවර (හෝ එකවර ආසන්න) සිදුවීම් කිහිපයක් හැසිරවිය යුතුය. සමාන්තරකරණය, ඊට වෙනස්ව, විසඳුම් වසමේ අංගයකි - ගැටලුවේ විවිධ කොටස් සමාන්තරව සැකසීමෙන් ඔබේ වැඩසටහන වේගයෙන් ක්‍රියාත්මක කිරීමට ඔබට අවශ්‍යය . සමහර ප්‍රවේශයන් සමගාමී මුදල් සඳහාද, සමහරක් සමාන්තරකරණයටද, සමහරක් දෙකටම අදාළ වේ. ඔබ මුහුණ දී ඇති දේ තේරුම් ගෙන කාර්යය සඳහා නිවැරදි මෙවලම තෝරන්න.


5

වෙනත් පිළිතුරකින් මෙම චිත්‍රක නිරූපණයට මම සැබවින්ම කැමතියි - ඉහත පිළිතුරු වලට වඩා එය ප්‍රශ්නයට වඩා හොඳ පිළිතුරු සපයයි

සමාන්තරකරණය එදිරිව සමගාමී මුදල් නූල් දෙකක් සමාන්තරව ධාවනය වන විට, ඒවා දෙකම එකවර ක්‍රියාත්මක වේ. උදාහරණයක් ලෙස, අපට A සහ ​​B නූල් දෙකක් තිබේ නම්, ඒවායේ සමාන්තර ක්‍රියාත්මක කිරීම මේ ආකාරයෙන් පෙනේ:

CPU 1: A ------------------------->

CPU 2: B ------------------------->

නූල් දෙකක් සමගාමීව ක්‍රියාත්මක වන විට, ඒවා ක්‍රියාත්මක කිරීම අතිච්ඡාදනය වේ. අතිච්ඡාදනය ක්‍රම දෙකෙන් එකකින් සිදුවිය හැකිය: එක්කෝ නූල් එකවර ක්‍රියාත්මක වේ (එනම් සමාන්තරව, ඉහත පරිදි), හෝ ඒවායේ ක්‍රියාත්මක කිරීම් ප්‍රොසෙසරය මත අන්තර් සම්බන්ධිත වේ, එසේ ය:

CPU 1: A -----------> B ----------> A -----------> B -------- ->

එබැවින්, අපගේ අරමුණු සඳහා, සමාන්තරකරණය සමගාමී මුදල් පිළිබඳ විශේෂ අවස්ථාවක් ලෙස සිතිය හැකිය

මූලාශ්රය: මෙහි තවත් පිළිතුරක්

උපකාරවත් වන බලාපොරොත්තුව.


3

සමගාමීව එකවර ක්‍රියාත්මක වන හෝ නොකළ යුතු කාර්යයන් ඇතුළත් විය හැකිය (ඒවා ඇත්ත වශයෙන්ම වෙනම සකසනයක / හරයක ධාවනය කළ හැකි නමුත් ඒවා "කිනිතුල්ලන්" තුළ ක්‍රියාත්මක කළ හැකිය). කුමක්ද වැදගත් සමගාමී සෑම විටම යොමු වේ එක් වැඩි කාර්ය කෑල්ලක් කරන්නේ . එබැවින් මූලික වශයෙන් එය සමහර ගණනය කිරීම්වල කොටසකි. ඔබට එකවර කළ හැකි දේ සහ නොකළ යුතු දේ සහ සමමුහුර්ත කරන්නේ කෙසේද යන්න පිළිබඳව ඔබ බුද්ධිමත් විය යුතුය.

සමාන්තරකරණය යනු ඔබ එකවර යම් යම් දේ කරන බවයි. ඔවුන් එක් ගැටලුවක් විසඳීමේ කොටසක් විය යුතු නැත. නිදසුනක් ලෙස, ඔබේ නූල් වලට එක් එක් ගැටලුව විසඳිය හැකිය. ඇත්ත වශයෙන්ම සමමුහුර්තකරණ දේවල් ද අදාළ වන නමුත් විවිධ දෘෂ්ටි කෝණයෙන්.


3

"සමගාමී" යනු බහු දේවල් තියෙනවා විට ප්රගතිය .

“සමාන්තරකරණය” යනු සමගාමී දේවල් එකවර ඉදිරියට යන විට ය .


සමාන්තරකරණයකින් තොරව සමගාමී මුදල් සඳහා උදාහරණ:

  • තනි හරයක් මත නූල් කිහිපයක්.
  • Win32 පණිවිඩ පෝලිමේ බහු පණිවිඩ.
  • MARS සම්බන්ධතාවයේ බහු SqlDataReaders .
  • බ්රවුසර පටිත්තක බහු ජාවාස්ක්‍රිප්ට් පොරොන්දු .

කෙසේ වෙතත්, සමගාමීභාවය හා සමාන්තරකරණය අතර වෙනස බොහෝ විට ඉදිරිදර්ශනයක කාරණයක් බව සලකන්න. ඉහත උදාහරණ ඔබේ කේතය ක්‍රියාත්මක කිරීමේ දෘෂ්ටි කෝණයෙන් සමාන්තර නොවේ. නමුත් එක් හරයක් තුළ වුවද උපදේශන මට්ටමේ සමාන්තරකරණය පවතී. CPU හා සමාන්තරව දේවල් කරන දෘඩාංග කැබලි ඇත. ඔබ කවුළු ක්‍රියාපටිපාටිය හෝ සිදුවීම් හසුරුවන්නා ක්‍රියාත්මක කරන අතරතුර GPU තිරයට ඇදී යා හැකිය . ඔබ පෙර ප්‍රශ්නයේ ප්‍රති results ල ලබා ගනිමින් සිටියදී ඩීබීඑම්එස් ඊළඟ විමසුම සඳහා බී-ගස් හරහා ගමන් කළ හැකිය. ඔබ Promise.resolve()ක්‍රියාත්මක කරන අතරතුර බ්‍රව්සරය පිරිසැලසුම හෝ ජාලකරණය කිරීම විය හැකිය . ආදිය ...

ඉතින් ඔන්න එතනට යන්න. ලෝකය සෑම විටම මෙන් අවුල් සහගත ය;)


3

මගේ මතය අනුව මේ දෙක තේරුම් ගැනීමේ සරලම හා අලංකාර ක්‍රමය මෙයයි. සමානාත්මතාවය ක්‍රියාත්මක කිරීම සඳහා අන්තර් සම්බන්ධතාවයට ඉඩ සලසන අතර සමාන්තරවාදයේ මිත්‍යාව ද ලබා දිය හැකිය . මෙයින් අදහස් කරන්නේ සමගාමී පද්ධතියකට ඔබේ යූ ටියුබ් වීඩියෝව වර්ඩ් හි ලේඛනයක් ලිවීමට සමගාමීව ධාවනය කළ හැකි බවයි. යටින් පවතින මෙහෙයුම් පද්ධතිය, සමගාමී පද්ධතියක් වන අතර, එම කර්තව්‍යයන්ට ඒවා ක්‍රියාත්මක කිරීමට ඉඩ සලසයි. පරිගණක ඉතා ඉක්මණින් උපදෙස් ක්‍රියාත්මක කරන නිසා, මෙය එකවර කාරණා දෙකක් කිරීමේ පෙනුම ලබා දෙයි.

එවැනි දේවල් ඇත්තටම විට අනුවර්තී වාදය යනු ඇත සමගාමීව. ඉහත උදාහරණයේ දී, වීඩියෝ සැකසුම් කේතය තනි හරයක් මත ක්‍රියාත්මක වන බව ඔබට පෙනී යනු ඇත, සහ වර්ඩ් යෙදුම තවත් එකක් මත ක්‍රියාත්මක වේ. මෙයින් අදහස් කරන්නේ සමගාමී වැඩසටහනක් සමාන්තරව විය හැකි බවයි! නූල් සහ ක්‍රියාවලි සමඟ ඔබේ යෙදුම ව්‍යුහගත කිරීමෙන් ඔබේ වැඩසටහනට යටින් පවතින දෘඩාංග සූරාකෑමට හැකි වන අතර සමාන්තරව එය කළ හැකිය.

එසේනම් සියල්ල සමාන්තර නොවන්නේ ඇයි? එක් හේතුවක් නම්, සමගාමී මුදල් යනු වැඩසටහන් ව්‍යුහගත කිරීමේ ක්‍රමයක් වන අතර එය ගැටළු වෙන් කිරීමට පහසුකම් සැලසීමේ සැලසුම් තීරණයක් වන අතර සමාන්තරකරණය බොහෝ විට කාර්ය සාධනයේ නාමයෙන් භාවිතා වේ. තවත් දෙයක් නම්, සමහර දේවල් මූලික වශයෙන් සමාන්තරව කළ නොහැකි ය. මේ සඳහා උදාහරණයක් වනුයේ පෝලිමක පිටුපසට කරුණු දෙකක් එකතු කිරීමයි - ඔබට එකවර දෙකම ඇතුළත් කළ නොහැක. යම් දෙයක් පළමුව යා යුතු අතර අනෙක එය පිටුපසින් යා යුතුය, නැතහොත් ඔබ පෝලිම අවුල් කරයි. අපට එවැනි ක්‍රියාත්මක කිරීමක් කළ හැකි වුවද (අපට සමගාමී පෝලිමක් ලැබේ), ඔබට එය සමාන්තරව තිබිය නොහැක.

මෙය උපකාරී වේ යැයි සිතමු!


3

සමගාමී ක්‍රමලේඛනය අතිච්ඡාදනය වන මෙහෙයුම් සම්බන්ධයෙන් මූලික වශයෙන් සැලකිලිමත් වන අතර නිර්ණායක නොවන පාලන ප්‍රවාහය හේතුවෙන් පැන නගින සංකීර්ණතාව කෙරෙහි අවධානය යොමු කරයි. සමගාමී වැඩසටහන් හා සම්බන්ධ ප්‍රමාණාත්මක පිරිවැය සාමාන්‍යයෙන් ප්‍රති put ල සහ ප්‍රමාද වේ. සමගාමී වැඩසටහන් බොහෝ විට IO බැඳී ඇති නමුත් සෑම විටම නොවේ, උදා: සමගාමී කසළ එකතු කරන්නන් සම්පූර්ණයෙන්ම CPU මත වේ. සමගාමී වැඩසටහනක අධ්‍යාපනික උදාහරණය වෙබ් බඩගා ය. මෙම වැඩසටහන වෙබ් පිටු සඳහා ඉල්ලීම් ආරම්භ කරන අතර බාගත කිරීම්වල ප්‍රති results ල ලබා ගත හැකි වන විට ඊට සමගාමීව ප්‍රතිචාර පිළිගනී. පාලන ප්‍රවාහය නිර්ණායක නොවන බැවින් වැඩසටහන ක්‍රියාත්මක වන සෑම අවස්ථාවකම එකම අනුපිළිවෙලින් ප්‍රතිචාර නොලැබෙන බැවිනි. මෙම ලක්ෂණය සමගාමී වැඩසටහන් නිදොස් කිරීම ඉතා අපහසු කරයි. සමහර යෙදුම් මූලික වශයෙන් සමගාමී වේ, උදා: වෙබ් සේවාදායකයන් සේවාදායක සම්බන්ධතා සමගාමීව හැසිරවිය යුතුය. ඉහළ සමගාමී වැඩසටහන්කරණය සඳහා වඩාත්ම පොරොන්දු වූ භාෂාව එර්ලැන්ග් විය හැකිය.

සමාන්තර වැඩසටහන්කරණය මඟින් ප්‍රතිදානය වැඩිදියුණු කිරීමේ නිශ්චිත ඉලක්කය සඳහා අතිච්ඡාදනය වන මෙහෙයුම් ගැන සැලකිලිමත් වේ. පාලන ප්‍රවාහ නිර්ණය කිරීම මගින් සමගාමී වැඩසටහන්කරණයේ දුෂ්කරතා මග හැරේ. සාමාන්‍යයෙන්, වැඩසටහන් සමාන්තරව ක්‍රියාත්මක වන ළමා කාර්යයන් සමූහයක් බිහි කරන අතර මව් කාර්යය දිගටම පවතින්නේ සෑම උප කාර්යයක්ම අවසන් වූ පසුව පමණි. මෙය සමාන්තර වැඩසටහන් නිදොස් කිරීමට පහසු කරයි. සමාන්තර වැඩසටහන්කරණයේ දුෂ්කර කොටස වන්නේ කැටිතිභාවය හා සන්නිවේදනය වැනි ගැටළු සම්බන්ධයෙන් කාර්ය සාධනය ප්‍රශස්තකරණය කිරීමයි. එක් හැඹිලියක සිට තවත් හැඹිලියකට දත්ත මාරු කිරීම හා සැසඳීමේදී සැලකිය යුතු පිරිවැයක් ඇති හෙයින්, දෙවැන්න තවමත් බහුකාර්යවල සන්දර්භය තුළ ගැටළුවක් වේ. Ense න අනුකෘතිය-අනුකෘති ගුණ කිරීම සමාන්තර වැඩසටහන්කරණයේ අධ්‍යාපනික උදාහරණයකි. එය ස්ට්‍රැසෙන් භාවිතා කිරීමෙන් කාර්යක්ෂමව විසඳිය හැකිය. ඇල්ගොරිතම බෙදීම සහ යටත් කර ගැනීම සහ උප ගැටළු වලට සමාන්තරව පහර දීම. හවුල් මතක පරිගණකවල (බහුකාර්ය ද ඇතුළුව) ඉහළ කාර්යසාධනයක් සහිත සමාන්තර වැඩසටහන්කරණය සඳහා වඩාත්ම විශ්වාසදායක භාෂාව සිල්ක් විය හැකිය.

මගේ පිළිතුරෙන් පිටපත් කරන ලදි: https://stackoverflow.com/a/3982782


3

(එවැනි මූලික ප්‍රශ්නයක් වසර ගණනාවක් තිස්සේ නිවැරදිව හා පිළිවෙලට විසඳා නොතිබීම ගැන මම පුදුම වෙමි ...)

කෙටියෙන් කිවහොත්, සමගාමී හා සමාන්තරකරණය යන දෙකම පරිගණකයේ ගුණාංග වේ .

වෙනස අනුව, රොබට් හාපර්ගේ පැහැදිලි කිරීම මෙන්න :

තේරුම් ගත යුතු පළමු දෙය නම් සමාන්තරකරණයට සමගාමී මුදල් සමඟ කිසිදු සම්බන්ධයක් නැත . සමගාමී මුදල් වැඩසටහන් වල (හෝ ඒවායේ සංරචක) අවිධිමත් සංයුතිය ගැන සැලකිලිමත් වේ. සමාන්තරකරණය තීරණාත්මක හැසිරීම් සහිත වැඩසටහන් වල අසමමිතික කාර්යක්ෂමතාව කෙරෙහි සැලකිලිමත් වේ. සම්මුතිය යනු පාලනය කළ නොහැකි දේ කළමනාකරණය කිරීමයි: සිදුවීම් පැමිණෙන්නේ අපගේ පාලනයෙන් ඔබ්බට ගිය හේතු නිසා වන අතර අප ඒවාට ප්‍රතිචාර දැක්විය යුතුය. පරිශීලකයෙකු මූසිකයක් ක්ලික් කළ විට, කවුළුව කළමණාකරු ප්‍රතිචාර දැක්විය යුතුය. එවැනි තත්වයන් සහජයෙන්ම නිර්විනාශක වේ, නමුත් අපි ද ප්‍රෝ ෆෝමා භාවිතා කරමුසංරචක අත්තනෝමතික අනුපිළිවෙලකට සං signal ා කරන බවත්, ඒවා පැන නගින විට අප ඒවාට ප්‍රතිචාර දැක්විය යුතු බවත් මවා පාමින් නිර්ණායක සැකසුමක nondeterminism. Nondeterministic සංයුතිය යනු ප්‍රබල වැඩසටහන් ව්‍යුහගත අදහසකි. සමාන්තරකරණය යනු අනෙක් අතට, නිර්ණායක ගණනය කිරීමක උප ගණනය කිරීම් අතර පරායත්තතාවයන් ය. ප්‍රති result ලය සැක සහිත නොවේ, නමුත් එය සාක්ෂාත් කර ගැනීම සඳහා බොහෝ ක්‍රම තිබේ, සමහර ඒවා අනෙක් ඒවාට වඩා කාර්යක්ෂම වේ. එම අවස්ථාවන් අපගේ වාසියට හරවා ගැනීමට අපි කැමැත්තෙමු.

ඒවා වැඩසටහන් වල විකලාංග ගුණාංග විය හැකිය. අමතර නිදර්ශන සඳහා මෙම බ්ලොග් සටහන කියවන්න . හා මේ එක සංරචක ගැන වෙනස මත තරමක් වැඩි සාකච්ඡා වැඩසටහන්ගත නූල් මෙන්.

නූල් දැමීම හෝ බහු කාර්යයන් යනු වඩාත් සංයුක්ත අරමුණු සඳහා සේවය කරන පරිගණක ක්‍රියාත්මක කිරීම බව සලකන්න. ඒවා සමාන්තරකරණය හා සමගාමීතාවයට සම්බන්ධ විය හැකි නමුත් අත්‍යවශ්‍ය ආකාරයකින් නොවේ. මේ අනුව ඒවා පැහැදිලි කිරීම ආරම්භ කිරීම සඳහා හොඳ ඇතුළත් කිරීම් නොවේ.

තවත් එක් විශේෂත්වයක්: (භෞතික) “කාලය” මෙහි සාකච්ඡා කර ඇති ගුණාංග සමඟ කිසිදු සම්බන්ධයක් නැත. කාලය යනු ගුණාංගවල වැදගත්කම පෙන්වීම සඳහා මිනුම් ක්‍රියාත්මක කිරීමේ ක්‍රමයක් පමණක් වන නමුත් සාරයට වඩා බොහෝ සෙයින් වෙනස් වේ. කාල සංකීර්ණතාවයේ "කාලය" හි භූමිකාව මෙන් දෙවරක් සිතන්න - එය වැඩි වශයෙන් හෝ අඩු වශයෙන් සමාන වේ, මිනුම් පවා බොහෝ විට එම අවස්ථාවේ දී වඩා වැදගත් වේ.


2

සමාන්තරකරණය: බහු නූල් තිබීම, ඒ සඳහා අවශ්‍ය දත්ත හා සම්පත් අනුව එකිනෙකාගෙන් ස්වාධීන වන සමාන කාර්යයක් කරයි. උදා: ගූගල් ක්‍රෝලර්ට නූල් දහස් ගණනක් බිහි කළ හැකි අතර සෑම නූල් එකකටම එය ස්වාධීනව කළ හැකිය.

සමගාමී: ඔබ දත්ත බෙදාගත් විට, නූල් අතර සම්පත් බෙදා ගත් විට සමගාමී මුදල් පින්තූරයට පැමිණේ. ගනුදෙනු පද්ධතියක මෙයින් අදහස් වන්නේ අගුල්, සෙමෆෝර් වැනි සමහර ශිල්පීය ක්‍රම භාවිතා කරමින් කේතයේ තීරණාත්මක කොටස සමමුහුර්ත කළ යුතු බවයි.


පද දෙකේ සාරය ග්‍රහණය කර ගන්නා බැවින් මෙය පිළිගත් පිළිතුර IMO විය යුතුය.
මිචිඩ්

2

මෙම මූලාශ්‍රයෙන් පැහැදිලි කිරීම මට ප්‍රයෝජනවත් විය:

සමගාමී මුදල් යෙදුමක් එය ක්‍රියාත්මක කරන විවිධ කාර්යයන් හසුරුවන ආකාරය හා සම්බන්ධ වේ. යෙදුමක් එකවර එක් කාර්යයක් (අනුක්‍රමිකව) සැකසීමට හෝ එකවර විවිධ කාර්යයන් සඳහා (සමගාමීව) ක්‍රියා කළ හැකිය.

අනෙක් අතට සමාන්තරකරණය, යෙදුමක් එක් එක් කාර්යය හසුරුවන ආකාරය හා සම්බන්ධ වේ. යෙදුමක් මඟින් කර්තව්‍යය ආරම්භයේ සිට අවසානය දක්වා අනුක්‍රමිකව ක්‍රියාවට නැංවිය හැකිය, නැතහොත් කාර්යය සමාන්තරව සම්පූර්ණ කළ හැකි උප කාර්යයන් වලට බෙදා ඇත.

ඔබට පෙනෙන පරිදි, යෙදුමක් සමගාමී විය හැකි නමුත් සමාන්තර නොවේ. මෙයින් අදහස් කරන්නේ එය එකවර කාර්යයන් එකකට වඩා වැඩි ප්‍රමාණයක් ක්‍රියාවට නංවන නමුත් කාර්යයන් උප කාර්යයන් වලට බෙදී නොමැති බවයි.

යෙදුමක් සමාන්තර විය හැකි නමුත් සමගාමී නොවේ. මෙයින් අදහස් කරන්නේ යෙදුම එක් වරකට එක් කාර්යයක් මත පමණක් ක්‍රියාත්මක වන අතර මෙම කාර්යය සමාන්තරව සැකසිය හැකි උප කාර්යයන් වලට බෙදා ඇත.

මීට අමතරව, යෙදුමක් සමගාමී හෝ සමාන්තර විය නොහැක. මෙයින් අදහස් කරන්නේ එය වරකට එක් කර්තව්‍යයක් මත පමණක් ක්‍රියාත්මක වන අතර, එම කාර්යය කිසි විටෙකත් සමාන්තරව ක්‍රියාත්මක කිරීම සඳහා උප කාර්යයන් ලෙස බෙදී නොයන බවයි.

අවසාන වශයෙන්, යෙදුමක් සමගාමී හා සමාන්තර විය හැකිය, එය දෙකම එකවර විවිධ කාර්යයන් මත ක්‍රියා කරන අතර සමාන්තරව ක්‍රියාත්මක කිරීම සඳහා සෑම කාර්යයක්ම උප කාර්යයන් ලෙස බිඳ දමයි. කෙසේ වෙතත්, පරිගණකයේ ඇති CPUs දැනටමත් සහසම්බන්ධය හෝ සමාන්තරකරණය සමඟ පමණක් කාර්යබහුල වී ඇති හෙයින් සමගාමී හා සමාන්තරවාදයේ සමහර ප්‍රතිලාභ මෙම තත්වය තුළ අහිමි විය හැකිය. එය ඒකාබද්ධ කිරීමෙන් සුළු කාර්ය සාධනයක් හෝ කාර්යසාධනයක් නැති වීමට ඉඩ ඇත.


මෙය දැනටමත් පවතින මෙම පිළිතුරෙහි පළ කර ඇත .
පැං

2

"සමගාමී" යනු දේවල් - ඕනෑම දෙයක් - එකවරම කිරීමයි. ඒවා වෙනස් දේවල් හෝ එකම දේ විය හැකිය. පිළිගත් පිළිතුර තිබියදීත්, එය "එකම අවස්ථාවේ පෙනී සිටීම" ගැන නොවේ. එය සැබවින්ම එකවරම ය. සමගාමී කේතය ක්‍රියාත්මක කිරීම සඳහා ඔබට එක් ධාරකයක හවුල් මතකය භාවිතා කිරීම හෝ විවිධ ධාරක මතකය බෙදා හැරීම වැනි බහු CPU හරයන් අවශ්‍ය වේ. එකවර සමගාමීව ක්‍රියාත්මක වන එකිනෙකට වෙනස් කාර්යයන් 3 ක නල මාර්ග නිදසුනකි: කාර්ය-මට්ටම -2 මඟින් කාර්ය මට්ටම -1 මගින් සම්පූර්ණ කරන ලද ඒකක සඳහා බලා සිටිය යුතු අතර, කාර්ය මට්ටම් -3 විසින් සම්පූර්ණ කරන ලද වැඩ ඒකක සඳහා බලා සිටිය යුතුය. කාර්ය මට්ටම -2. තවත් උදාහරණයක් වන්නේ 1-පාරිභෝගිකයා සමඟ 1-නිෂ්පාදකයාගේ එකඟතාවය; හෝ බොහෝ නිෂ්පාදකයින් සහ 1 පාරිභෝගිකයා; පා readers කයින් සහ ලේඛකයින්; සහ වෙනත් අය.

"සමාන්තර" යනු එකම දේ එකම වේලාවක කිරීමයි. එය සමගාමී ය, නමුත් තව දුරටත් එය එකම හැසිරීම එකම වේලාවක සිදුවන අතර බොහෝ විට විවිධ දත්ත මත ය. මැට්‍රික්ස් වීජ ගණිතය බොහෝ විට සමාන්තරගත කළ හැකිය, මන්ද ඔබට එකම මෙහෙයුම නැවත නැවතත් ක්‍රියාත්මක වන බැවිනි: නිදසුනක් ලෙස න්‍යාසයක තීරු එකතුව සියල්ලම එකම හැසිරීමක් (එකතුවක්) භාවිතා කරමින් එකම වේලාවක ගණනය කළ හැකි නමුත් විවිධ තීරු මත. ලබා ගත හැකි ප්‍රොසෙසර හරයන් අතර තීරු කොටස් කිරීම (බෙදීම) කිරීම පොදු උපාය මාර්ගයකි, එවිට ඔබට එක් එක් ප්‍රොසෙසර හරය විසින් හසුරුවනු ලබන එකම වැඩ ප්‍රමාණයට (තීරු ගණන) ආසන්න වේ. වැඩ බෙදීමට තවත් ක්‍රමයක් නම්, තම කාර්යයන් අවසන් කරන කම්කරුවන් නැවත වැඩ භාර දෙන කළමනාකරුවෙකු වෙත ගොස් සෑම දෙයක්ම සිදු වන තුරු ගතිකව වැඩි වැඩ ප්‍රමාණයක් ලබා ගැනීමයි. ටිකට් ඇල්ගොරිතම තවත් එකකි.

සංඛ්‍යාත්මක කේතය පමණක් සමාන්තරගත කළ නොහැක. ලිපිගොනු බොහෝ විට සමාන්තරව සැකසිය හැක. ස්වාභාවික භාෂා සැකසුම් යෙදුමක, ලේඛන ලිපිගොනු මිලියන ගණනක් සඳහා, ලේඛනයේ ඇති ටෝකන ගණන ගණනය කිරීමට ඔබට අවශ්‍ය විය හැකිය. මෙය සමාන්තර වේ, මන්ද ඔබ සෑම ගොනුවක් සඳහාම එකම හැසිරීම වන ටෝකන ගණන් කරන බැවිනි.

වෙනත් වචන වලින් කිවහොත්, සමාන්තරකරණය යනු එකම හැසිරීම සමගාමීව සිදු කරන විටය. සමගාමීව අදහස් කරන්නේ එකම වේලාවක, නමුත් අවශ්‍යයෙන්ම එකම හැසිරීම නොවේ. සමාන්තරය යනු එකම දෙයක් එකම වේලාවක සිදුවන විශේෂිත සහසම්බන්ධයකි.

නිදසුනක් ලෙස කොන්දේසි වලට පරමාණුක උපදෙස්, විවේචනාත්මක කොටස්, අන්‍යෝන්‍ය බැහැර කිරීම, භ්‍රමණය-බලා සිටීම, සෙමෆෝර්, මොනිටර, බාධක, පණිවිඩ යැවීම, සිතියම අඩු කිරීම, හෘද ස්පන්දනය, මුද්ද, ප්‍රවේශ පත්‍ර ඇල්ගොරිතම, නූල්, එම්පීඅයි, ඕපන් එම්පී ඇතුළත් වේ.

ග්‍රෙගරි ඇන්ඩ rew ස්ගේ කෘතිය එහි ඉහළම පෙළ පොතකි: බහු තෙරපුම්, සමාන්තර හා බෙදාහැරුණු වැඩසටහන්කරණය.


1

නියමයි, මට තේරෙන දේ පෙන්වීමට අවස්ථාවක් ලබා දෙන්න. ළමයින් තිදෙනෙක් සිටී යැයි සිතමු: ඒ, බී, සී. ඒ සහ බී කතා, සී සවන් දෙන්න. A සහ B සඳහා ඒවා සමාන්තර වේ: A: මම A. B: මම B.

නමුත් C සඳහා, ඔහුගේ මොළය A සහ ​​B වලට සවන් දීමට සමගාමී ක්‍රියාවලිය ගත යුතුය, සමහර විට: මම IA am B.


1

සමගාමී සරල යන්නෙන් අදහස් වන්නේ කාර්යයන් එකකට වඩා ක්‍රියාත්මක වන බවයි (සමාන්තරව අවශ්‍ය නොවේ). උදාහරණයක් ලෙස උපකල්පනය කරන්න අපට කාර්යයන් 3 ක් ඇති අතර ඕනෑම වේලාවක: එකකට වඩා වැඩියෙන් ක්‍රියාත්මක විය හැකිය හෝ සියල්ල එකවර ක්‍රියාත්මක විය හැකිය.

සමාන්තරකරණය යන්නෙන් අදහස් කරන්නේ ඒවා වචනාර්ථයෙන් සමාන්තරව ධාවනය වන බවයි. එබැවින් එම අවස්ථාවේ දී තිදෙනාම එකවර ධාවනය විය යුතුය.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.