ഡിസ്ട്രിബൂട്ടഡ് കംപ്യൂട്ടിംഗ്

ഡിസ്ട്രിബൂട്ടഡ്(വിതരണം ചെയ്ത) സിസ്റ്റങ്ങളെ പഠിക്കുന്ന കമ്പ്യൂട്ടർ സയൻസിന്റെ ഒരു മേഖലയാണ് ഡിസ്ട്രിബൂട്ടഡ് കമ്പ്യൂട്ടിംഗ്. അതിന്റെ ഘടകങ്ങൾ‌ വ്യത്യസ്‌ത നെറ്റ്‌വർ‌ക്ക് കമ്പ്യൂട്ടറുകളിൽ‌ സ്ഥിതിചെയ്യുന്ന ഒരു സിസ്റ്റമാണ് ഡിസ്ട്രിബ്യൂട്ട് സിസ്റ്റം, അവ പരസ്പരം സന്ദേശങ്ങൾ കൈമാറുന്നതിലൂടെ ആശയവിനിമയം നടത്തുകയും ഏകോപിപ്പിക്കുകയും ചെയ്യുന്നു.[1]ഒരു പൊതു ലക്ഷ്യം നേടുന്നതിന് ഘടകങ്ങൾ പരസ്പരം സംവദിക്കുന്നു. വിതരണം ചെയ്ത സിസ്റ്റങ്ങളുടെ മൂന്ന് പ്രധാന സവിശേഷതകൾ ഇവയാണ്: ഘടകങ്ങളുടെ ഏകീകരണം, ആഗോള ക്ലോക്കിന്റെ അഭാവം, ഘടകങ്ങളുടെ സ്വതന്ത്ര പരാജയം.[1] വിതരണം ചെയ്ത സിസ്റ്റങ്ങളുടെ ഉദാഹരണങ്ങൾ എസ്‌എ‌എ അടിസ്ഥാനമാക്കിയുള്ള സിസ്റ്റങ്ങൾ മുതൽ മൾട്ടിപ്ലെയർ ഓൺലൈൻ ഗെയിമുകൾ മുതൽ പിയർ-ടു-പിയർ ആപ്ലിക്കേഷനുകൾ എന്നിങ്ങനെയാണ്.

ഒരു വിതരണ സിസ്റ്റത്തിനുള്ളിൽ പ്രവർത്തിക്കുന്ന ഒരു കമ്പ്യൂട്ടർ പ്രോഗ്രാമിനെ ഡിസ്ട്രിബ്യൂട്ട് പ്രോഗ്രാം എന്ന് വിളിക്കുന്നു (കൂടാതെ വിതരണം ചെയ്ത പ്രോഗ്രാമിംഗ് അത്തരം പ്രോഗ്രാമുകൾ എഴുതുന്ന പ്രക്രിയയാണ്).[2]പ്യൂർ എച്ച്ടിടിപി, ആർ‌പി‌സി പോലുള്ള കണക്റ്ററുകൾ, സന്ദേശ ക്യൂകൾ‌ എന്നിവയുൾ‌പ്പെടെ സന്ദേശ കൈമാറൽ‌ സംവിധാനത്തിനായി നിരവധി തരം നടപ്പാക്കലുകൾ‌ ഉണ്ട്.[3]

ഡിസ്ട്രിബ്യൂട്ടഡ് കമ്പ്യൂട്ടിംഗ് എന്നത് കമ്പ്യൂട്ടേഷണൽ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിന് വിതരണ സംവിധാനങ്ങളുടെ ഉപയോഗത്തെയും സൂചിപ്പിക്കുന്നു. ഡിസ്ട്രിബ്യൂട്ടഡ് കമ്പ്യൂട്ടിംഗിൽ, ഒരു പ്രശ്നം പല ജോലികളായി തിരിച്ചിരിക്കുന്നു, അവ ഓരോന്നും ഒന്നോ അതിലധികമോ കമ്പ്യൂട്ടറുകളാൽ പരിഹരിക്കപ്പെടുന്നു, [4] സന്ദേശ കൈമാറ്റം വഴി പരസ്പരം ആശയവിനിമയം നടത്തുന്നു.[5]

"ഡിസ്ട്രിബ്യൂട്ട് സിസ്റ്റം", "ഡിസ്ട്രിബ്യൂട്ട് പ്രോഗ്രാമിംഗ്", "ഡിസ്ട്രിബ്യൂട്ട് അൽഗോരിതം" എന്നിങ്ങനെയുള്ള പദങ്ങളിൽ ഡിസ്ട്രിബ്യൂട്ടഡ് എന്ന പദം യഥാർത്ഥത്തിൽ ചില കമ്പ്യൂട്ടർ നെറ്റ്‌വർക്കുകളെയാണ് സൂചിപ്പിക്കുന്നത്.[6]ഒരേ ഫിസിക്കൽ‌ കമ്പ്യൂട്ടറിൽ‌ പ്രവർ‌ത്തിക്കുന്നതും സന്ദേശ കൈമാറ്റം വഴി പരസ്പരം ഇടപഴകുന്നതുമായ സ്വയംഭരണ പ്രക്രിയകളെ പോലും സൂചിപ്പിക്കുന്ന പദങ്ങൾ‌ ഇപ്പോൾ‌ കൂടുതൽ‌ വിശാലമായ അർ‌ത്ഥത്തിൽ‌ ഉപയോഗിക്കുന്നു.[5]

ഡിസ്ട്രിബ്യൂട്ടഡ് സിസ്റ്റത്തിന് ഒരൊറ്റ നിർവചനം ഇല്ലെങ്കിലും, [7] ഇനിപ്പറയുന്ന സവിശേഷതകളാണ് സാധാരണയായി ഉപയോഗിക്കുന്നത്:

  • സ്വയമേയുള്ള നിരവധി കമ്പ്യൂട്ടേഷണൽ എന്റിറ്റികൾ (കമ്പ്യൂട്ടറുകൾ അല്ലെങ്കിൽ നോഡുകൾ) ഉണ്ട്, അവയിൽ ഓരോന്നിനും അതിന്റേതായ ലോക്കൽ മെമ്മറി ഉണ്ട്.[8]
  • സന്ദേശ കൈമാറ്റം വഴി എന്റിറ്റികൾ പരസ്പരം ആശയവിനിമയം നടത്തുന്നു.[9]

ഒരു വലിയ കമ്പ്യുട്ടേഷണൽ പ്രശ്നം പരിഹരിക്കുന്നതുപോലുള്ള ഒരു ഡിസ്ട്രിബ്യൂട്ടഡ് സിസ്റ്റത്തിന് ഒരു പൊതു ലക്ഷ്യമായിരിക്കാം ഉള്ളത്; [10] തുടർന്ന് ഉപയോക്താവ് ഓട്ടോമോണമസ് പ്രോസസറുകളുടെ ശേഖരത്തെ ഒരു യൂണിറ്റായി കാണുന്നു. മറ്റൊരു തരത്തിൽ, ഓരോ കമ്പ്യൂട്ടറിനും വ്യക്തിഗത ആവശ്യങ്ങൾക്ക് വേണ്ടി സ്വന്തം യൂസർ ഉണ്ടായിരിക്കാം, കൂടാതെ പങ്കിട്ട വിഭവങ്ങളുടെ ഉപയോഗം ഏകോപിപ്പിക്കുകയോ ഉപയോക്താക്കൾക്ക് ആശയവിനിമയ സേവനങ്ങൾ നൽകുകയോ ചെയ്യുക എന്നതാണ് ഡിസ്ട്രിബ്യൂട്ടഡ് സിസ്റ്റത്തിന്റെ ലക്ഷ്യം.[11]

ഡിസ്ട്രിബ്യൂട്ടഡ് സിസ്റ്റങ്ങളുടെ മറ്റ് സവിശേഷതകളിൽ ഇനിപ്പറയുന്നവ ഉൾപ്പെടുന്നു:

  • വ്യക്തിഗത കമ്പ്യൂട്ടറുകളിലെ പരാജയങ്ങൾ സിസ്റ്റം ടോളറേറ്റ് ചെയ്യുന്നു.[12]
  • സിസ്റ്റത്തിന്റെ ഘടന (നെറ്റ്‌വർക്ക് ടോപ്പോളജി, നെറ്റ്‌വർക്ക് ലേറ്റൻസി, കമ്പ്യൂട്ടറുകളുടെ എണ്ണം) മുൻ‌കൂട്ടി അറിയിയാൻ സാധിക്കില്ല, സിസ്റ്റത്തിൽ വിവിധ തരം കമ്പ്യൂട്ടറുകളും നെറ്റ്‌വർക്ക് ലിങ്കുകളും അടങ്ങിയിരിക്കാം, കൂടാതെ ഒരു ഡിസ്ട്രിബ്യൂട്ടഡ് പ്രോഗ്രാം നടപ്പിലാക്കുമ്പോൾ സിസ്റ്റം മാറാം.[13]
  • ഓരോ കമ്പ്യൂട്ടറിനും സിസ്റ്റത്തിന്റെ പരിമിതവും അപൂർണ്ണവുമായ വ്യൂ മാത്രമെയുള്ളു. ഓരോ കമ്പ്യൂട്ടറിനും ഇൻപുട്ടിന്റെ ഒരു ഭാഗം മാത്രമേ അറിയാൻ സാധികക്കുകയുള്ളു.[14]

പാരലൽ ആൻഡ് ഡിസ്ട്രിബ്യൂട്ടഡ് കമ്പ്യൂട്ടിംഗ്

തിരുത്തുക
 
(a), (b): ഒരു ഡിസ്ട്രിബ്യൂട്ടഡ് സിസ്റ്റത്തിന്റെ മാതൃക.
(c): ഒരു പാരലൽ സിസ്റ്റത്തിന്റെ മാതൃക.

നെറ്റ്‌വർക്കുചെയ്‌ത കമ്പ്യൂട്ടറുകളുടെ ഗ്രൂപ്പുകളാണ് ഡിസ്ട്രിബ്യൂട്ടഡ് സംവിധാനങ്ങൾ, അത് അതിന്റെ ജോലിയുടെ പൊതു സ്വഭാവം പങ്കുവെക്കുന്നു.[15] "കൺകറന്റ് കമ്പ്യൂട്ടിംഗ്", "പാരലൽ കമ്പ്യൂട്ടിംഗ്", "ഡിസ്ട്രിബ്യൂട്ട് കമ്പ്യൂട്ടിംഗ്" എന്നീ പദങ്ങൾക്ക് വളരെയധികം ഓവർലാപ്പുകൾ(ഓവർലാപ്പ് എന്നത് ഒരു ക്രിയ ചെയ്ത് തീർക്കുന്നതിന് മുമ്പ്‌ മറ്റൊന്ന്‌ പ്രയോഗക്ഷമമാക്കുന്നതിനെയാണ്) ഉണ്ട്, അവ തമ്മിൽ വ്യക്തമായ വ്യത്യാസമില്ല.[16]പാരലൽ കമ്പ്യൂട്ടിംഗിനെ ഡിസ്ട്രിബ്യൂട്ടഡ് കമ്പ്യൂട്ടിംഗിന്റെ ഒരു പ്രത്യേക കപ്പിൾഡ് ഫോമായി കാണാവുന്നതാണ്[17]അതുമാത്രമല്ല ഡിസ്ട്രിബ്യൂട്ടഡ് കമ്പ്യൂട്ടിംഗിനെ പാരലൽ കമ്പ്യൂട്ടിംഗിന്റെ അയഞ്ഞ കപ്പിൾഡ് രൂപമായും കാണുവാൻ സാധിക്കുന്നതാണ്. എന്നിരുന്നാലും, ഇനിപ്പറയുന്ന മാനദണ്ഡങ്ങൾ ഉപയോഗിച്ച് കൺകറന്റ് സിസ്റ്റങ്ങളെ "പാരലൽ" അല്ലെങ്കിൽ "ഡിസ്ട്രിബ്യൂട്ടഡ്" എന്ന് തരംതിരിക്കാനാകും:

  1. 1.0 1.1 Tanenbaum, Andrew S.; Steen, Maarten van (2002). Distributed systems: principles and paradigms. Upper Saddle River, NJ: Pearson Prentice Hall. ISBN 0-13-088893-1. Archived from the original on 2019-12-27.
  2. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil). ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil). ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 10.
  3. Magnoni, L. (2015). "Modern Messaging for Distributed Sytems (sic)". Journal of Physics: Conference Series (in ഇംഗ്ലീഷ്). 608 (1): 012038. doi:10.1088/1742-6596/608/1/012038. ISSN 1742-6596.
  4. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil).
  5. 5.0 5.1 ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 291–292. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 5.
  6. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 1.
  7. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 10.
  8. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), pp. 8–9, 291. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 5. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 3. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. xix, 1. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. xv.
  9. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 291. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 3. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 4.
  10. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 3–4. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 1.
  11. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 4. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 2.
  12. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 4, 8. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 2–3. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 4.
  13. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 2. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 1.
  14. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 7. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. xix, 2. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 4.
  15. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 10. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil).
  16. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. xix, 1–2. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 1.
  17. ലുവ പിഴവ് ഘടകം:Footnotes-ൽ 80 വരിയിൽ : bad argument #1 to 'ipairs' (table expected, got nil), p. 1.