സമാന്തര കംപ്യൂട്ടിങ്ങ്

(Parallel computing എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)

ഒന്നിലേറെ ഗണിതക്രിയകൾ ഒരേസമയം ചെയ്തുകൊണ്ട് നടത്തുന്ന കംപ്യൂട്ടിങ്ങ് രീതിയാണ്‌ സമാന്തര കമ്പ്യൂട്ടിങ്ങ്[1]. നിർദ്ധാരണം ചെയ്യേണ്ട പ്രശ്നത്തെ കുറെയേറെ ചെറുപ്രശ്നങ്ങളായി വിഭജിക്കുകയും ഇവയ്ക്ക് സമാന്തരമായി നിർദ്ധാരണം കാണുകയും ചെയ്തുകൊണ്ടാണ്‌ സമാന്തര കമ്പ്യൂട്ടിങ്ങ് പ്രവർത്തിക്കുന്നത്. പ്രശ്നനിർദ്ധാരണത്തിന്റെ വേഗം വർദ്ധിപ്പിക്കാൻ ഇത് സഹായിക്കുന്നു. ബിറ്റ് ലെവൽ സമാന്തരത്വം, ഇൻസ്ട്രക്ഷൻ ലെവൽ സമാന്തരത്വം, ഡാറ്റ ലെവൽ സമാന്തരത്വം, ടാസ്ക് സമാന്തരത്വം എന്നിങ്ങനെ സമാന്തര കംപ്യൂട്ടിങ്ങിന്‌ വിവിധ രൂപങ്ങളുണ്ട്.

വർഷങ്ങളായി സമാന്തര കംപ്യൂട്ടിങ്ങ് ഉപയോഗത്തിലുണ്ടെങ്കിലും പ്രോസസ്സർ ക്ലോക്ക് ആവൃത്തി വർദ്ധിപ്പിക്കുന്നതിലുള്ള പ്രായോഗികപരിമിതികൾ മൂലം സമാന്തര കംപ്യൂട്ടിങ്ങിന്‌ പ്രാധാന്യം വർദ്ധിച്ചുവരുന്നു[2]. ഉയർന്ന ക്ലോക്ക് ആവൃത്തിയുള്ള പ്രോസസ്സറുകൾ വളരെയധികം ഊർജ്ജം ആവശ്യപ്പെടുന്നതിനാൽ മൾട്ടികോർ പ്രോസസ്സറുകളുടെ ഉപയോഗമുൾപ്പെടെയുള്ള സമാന്തര കമ്പ്യൂട്ടിങ്ങ് രീതികൾക്ക് പ്രചാരം വർദ്ധിച്ചുവരുന്നുണ്ട്. [3]

ഹാർഡ്‌വെയർ സമാന്തര കമ്പ്യൂട്ടിങ്ങ് സാധ്യമാക്കുന്നത് ഏത് തലത്തിലാണ്‌ എന്നതിനനുസരിച്ച് സമാന്തര കംപ്യൂട്ടറുകളെ തരംതിരിക്കാം. മൾട്ടികോർ കംപ്യൂട്ടറുകളിലും മൾട്ടിപ്രോസസ്സർ കംപ്യൂട്ടറുകളിലും ഒര്‌ കംപ്യൂട്ടറിൽ തന്നെ ഒന്നിലധികം പ്രോസസ്സറുകളുണ്ടാകും. ഇവയാണ്‌ സമാന്തര കംപ്യൂട്ടിങ്ങ് സാധ്യമാക്കുന്നത്. എന്നാൽ ക്ലസ്റ്ററുകൾ, മാസ്സീവ് പാരലൽ പ്രോസസ്സറുകൾ (MPP), ഗ്രിഡുകൾ എന്നിവയിൽ എന്നിവയിൽ ഒന്നിലധികം കംപ്യൂട്ടറുകൾ ഒരേ പ്രശ്നത്തിന്‌ നിർദ്ധാരണം കാണാൻ സമാന്തരമായി ഉപയോഗിക്കുന്നു. ചില പാരലൽ ടാസ്കുകൾ ചെയ്യുന്ന വേഗം വർദ്ധിപ്പിക്കാനായി പ്രത്യേക പാരലൽ ആർക്കിടെച്ചറുകൾ സാധാരണ പ്രോസസ്സറുകളോടൊപ്പം ഉപയോഗിക്കുകയും ചെയ്യുന്നു.

പാരലൽ അൽഗൊരിതങ്ങൾ നിർമ്മിക്കുകയെന്നത് സാധാരണ സീക്വെൻഷ്യൽ അൽഗൊരിതങ്ങൾ നിർമ്മിക്കുന്നതിനെക്കാൾ വിഷമകരമാണ്‌[4]. സാധാരണ അൽഗൊരിതങ്ങളിൽ കാണാത്ത തരം ബഗ്ഗുകളും പാരലൽ അൽഗൊരിതങ്ങളിൽ കടന്നുവരാം. വിവിധ പ്രോസസ്സിങ്ങ് യൂണിറ്റുകൾ തമ്മിലുള്ള ആശയവിനിമയം, സിങ്ക്രൊണൈസേഷൻ എന്നിവ ബഗ്ഗുകളില്ലാതെ സാധ്യമാക്കുക എന്നതാണ്‌ പാരലൽ അൽഗൊരിതങ്ങൾ നിർമ്മിക്കുന്നതിലെ ഏറ്റവും വിഷമകരമായ ഘടകം.

സമാന്തര കംപ്യൂട്ടിങ്ങ് വഴി കംപ്യൂട്ടിങ്ങ് വേഗം എത്രകണ്ട് വർദ്ധിക്കുമെന്ന് കണ്ടെത്താൻ ആംഡാൽ നിയമം ഉപയോഗിക്കാം.

  1. Almasi, G.S. and A. Gottlieb (1989). Highly Parallel Computing. Benjamin-Cummings publishers, Redwood City, CA.
  2. S.V. Adve et al. (November 2008). "Parallel Computing Research at Illinois: The UPCRC Agenda" Archived 2008-12-09 at the Wayback Machine. (PDF).
  3. Asanovic, Krste et al. (December 18, 2006). "The Landscape of Parallel Computing Research: A View from Berkeley" (PDF). University of California, Berkeley. Technical Report No. UCB/EECS-2006-183.
  4. Patterson, David A. and John L. Hennessy (1998). Computer Organization and Design, Second Edition, Morgan Kaufmann Publishers, p. 715. ISBN 1-55860-428-6.