സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ് സിസ്റ്റങ്ങളുടെ വർഗ്ഗീകരണം. വിവരങ്ങളുടെ ക്രമവും സമാന്തരവുമായ പ്രോസസ്സിംഗ്

"സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗിന്റെ ഒരു രീതിയായി സമാന്തരത"

കൊട്ടോവ്സ്ക്2010

ആമുഖം

ശാസ്ത്രത്തിന്റെ ദ്രുതഗതിയിലുള്ള വികാസവും മനുഷ്യചിന്തയുടെ എക്കാലത്തെയും പുതിയ മേഖലകളിലേക്കുള്ള കടന്നുകയറ്റവും, മുമ്പ് ഉന്നയിച്ച പ്രശ്നങ്ങളുടെ പരിഹാരത്തോടൊപ്പം, നിരന്തരം ചോദ്യങ്ങളുടെ ഒരു പ്രവാഹം സൃഷ്ടിക്കുകയും പുതിയ, സാധാരണയായി കൂടുതൽ സങ്കീർണ്ണമായ, ചുമതലകൾ ഉയർത്തുകയും ചെയ്യുന്നു. ആദ്യത്തെ കമ്പ്യൂട്ടറുകളുടെ സമയത്ത്, അവയുടെ വേഗത 100 മടങ്ങ് വർദ്ധിപ്പിക്കുന്നത് മിക്ക പ്രശ്നങ്ങളും പരിഹരിക്കുമെന്ന് തോന്നിയിരുന്നു, എന്നാൽ ഇന്നത്തെ ആധുനിക സൂപ്പർ കമ്പ്യൂട്ടറുകളുടെ ഗിഗാഫ്ലോപ്പ് പ്രകടനം പല ശാസ്ത്രജ്ഞർക്കും പര്യാപ്തമല്ല. ഇലക്ട്രിക്കൽ, ഹൈഡ്രോഡൈനാമിക്സ്, ഭൂകമ്പ പര്യവേക്ഷണം, കാലാവസ്ഥാ പ്രവചനം, രാസ സംയുക്തങ്ങളുടെ മോഡലിംഗ്, വെർച്വൽ റിയാലിറ്റി ഗവേഷണം - ഇത് ശാസ്ത്രത്തിന്റെ മേഖലകളുടെ പൂർണ്ണമായ പട്ടികയല്ല, അവരുടെ പ്രോഗ്രാമുകളുടെ നിർവ്വഹണം വേഗത്തിലാക്കാൻ ഗവേഷകർ എല്ലാ അവസരങ്ങളും ഉപയോഗിക്കുന്നു.

കമ്പ്യൂട്ടിംഗ് സിസ്റ്റങ്ങളുടെ പ്രവർത്തനത്തിൽ സമാന്തര ആശയങ്ങളുടെ വ്യാപകമായ ആമുഖമാണ് പ്രായോഗിക പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിനുള്ള വേഗത വർദ്ധിപ്പിക്കുന്നതിനുള്ള ഏറ്റവും വാഗ്ദാനവും ചലനാത്മകവുമായ ദിശ. ഇന്നുവരെ, നൂറുകണക്കിന് വ്യത്യസ്ത കമ്പ്യൂട്ടറുകൾ അവയുടെ ആർക്കിടെക്ചറിൽ ഒന്നോ അല്ലെങ്കിൽ മറ്റൊരു തരത്തിലുള്ള സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ് ഉപയോഗിച്ച് രൂപകൽപ്പന ചെയ്യുകയും പരീക്ഷിക്കുകയും ചെയ്തിട്ടുണ്ട്. ശാസ്ത്രീയ സാഹിത്യത്തിലും സാങ്കേതിക ഡോക്യുമെന്റേഷനിലും നിങ്ങൾക്ക് സമാന്തര മെഷീനുകളുടെ പ്രവർത്തനത്തിന്റെ പൊതുതത്ത്വങ്ങൾ മാത്രം ചിത്രീകരിക്കുന്ന ഒരു ഡസനിലധികം വ്യത്യസ്ത പേരുകൾ കണ്ടെത്താൻ കഴിയും: വെക്റ്റർ-പൈപ്പ്ലൈൻ, വൻതോതിൽ സമാന്തരം, വിശാലമായ കമാൻഡ് പദമുള്ള കമ്പ്യൂട്ടറുകൾ, സിസ്റ്റോളിക് അറേകൾ, ഹൈപ്പർക്യൂബുകൾ, പ്രത്യേക പ്രോസസ്സറുകൾ. കൂടാതെ മൾട്ടിപ്രോസസറുകൾ, ഹൈറാർക്കിക്കൽ, ക്ലസ്റ്റർ കമ്പ്യൂട്ടറുകൾ, ഡാറ്റാഫ്ലോ, മാട്രിക്സ് കമ്പ്യൂട്ടറുകൾ തുടങ്ങി നിരവധി. വിവരണം പൂർത്തിയാക്കാൻ, മെമ്മറിയുടെ ഓർഗനൈസേഷൻ, പ്രോസസ്സറുകൾ തമ്മിലുള്ള ആശയവിനിമയത്തിന്റെ ടോപ്പോളജി, വ്യക്തിഗത ഉപകരണങ്ങളുടെ പ്രവർത്തനത്തിന്റെ സമന്വയം, അല്ലെങ്കിൽ ഗണിത പ്രവർത്തനങ്ങൾ നടത്തുന്ന രീതി എന്നിവ പോലുള്ള പ്രധാനപ്പെട്ട പാരാമീറ്ററുകളിൽ ഞങ്ങൾ ഡാറ്റ ചേർക്കുന്നുവെങ്കിൽ, വ്യത്യസ്ത വാസ്തുവിദ്യകളുടെ എണ്ണം പൂർണ്ണമായും മനസ്സിലാക്കാൻ കഴിയാത്തതായിരിക്കും.

60-കളുടെ അവസാനത്തിൽ കമ്പ്യൂട്ടിംഗ് സിസ്റ്റങ്ങളുടെ വർഗ്ഗീകരണത്തിന്റെ ആദ്യ പതിപ്പ് എം. ഫ്‌ലിൻ പ്രസിദ്ധീകരിക്കുകയും ഇന്നും തുടർച്ചയായി തുടരുകയും ചെയ്‌തതിനുശേഷം, മുഴുവൻ വാസ്തുവിദ്യകളും ചിട്ടപ്പെടുത്താനുള്ള ശ്രമങ്ങൾ ആരംഭിച്ചു. പഠനത്തിന് കീഴിലുള്ള വിഷയ മേഖലയെക്കുറിച്ച് നന്നായി മനസ്സിലാക്കുന്നതിന് വർഗ്ഗീകരണം വളരെ പ്രധാനമാണ്, എന്നാൽ വിജയകരമായ ഒരു വർഗ്ഗീകരണം കണ്ടെത്തുന്നത് നിരവധി സുപ്രധാന പ്രത്യാഘാതങ്ങൾ ഉണ്ടാക്കും.

വർഗ്ഗീകരണത്തിന്റെ പ്രധാന ചോദ്യം - അതിന്റെ അടിസ്ഥാനം എന്തായിരിക്കണം - ഈ വർഗ്ഗീകരണം ആർക്കുവേണ്ടിയാണ് സൃഷ്ടിക്കുന്നത്, ഏത് പ്രശ്നം പരിഹരിക്കാൻ ലക്ഷ്യമിടുന്നു എന്നതിനെ ആശ്രയിച്ച് വ്യത്യസ്തമായി പരിഹരിക്കാൻ കഴിയും. അതിനാൽ, കമ്പ്യൂട്ടറുകളെ പേഴ്‌സണൽ കമ്പ്യൂട്ടറുകൾ, വർക്ക്‌സ്റ്റേഷനുകൾ, മിനികമ്പ്യൂട്ടറുകൾ, മെയിൻഫ്രെയിം കമ്പ്യൂട്ടറുകൾ, മിനിസൂപ്പർ കമ്പ്യൂട്ടറുകൾ, സൂപ്പർകമ്പ്യൂട്ടറുകൾ എന്നിങ്ങനെ വിഭജിക്കുന്നത് ഒരു കമ്പ്യൂട്ടറിന്റെ വില ഏകദേശം കണക്കാക്കാൻ അനുവദിക്കുന്നു. എന്നിരുന്നാലും, ഒരു സമാന്തര കമ്പ്യൂട്ടറിന്റെ പ്രകടനത്തിന്റെ പരിധിയിൽ പ്രവർത്തിക്കുന്ന ഒരു പ്രോഗ്രാം എഴുതാൻ ഉപയോക്താവിന് എന്താണ് ആവശ്യമെന്ന് മനസിലാക്കാൻ ഇത് ഉപയോക്താവിനെ അടുപ്പിക്കുന്നില്ല, അതായത്. എന്തിനുവേണ്ടിയാണ് അവൻ അത് ഉപയോഗിക്കാൻ തീരുമാനിച്ചത്.

ഓരോ വാസ്തുവിദ്യയും എന്താണെന്നും അവ എങ്ങനെ പരസ്പരം ബന്ധപ്പെട്ടിരിക്കുന്നുവെന്നും ശരിക്കും ഫലപ്രദമായ പ്രോഗ്രാമുകൾ എഴുതാൻ എന്താണ് കണക്കിലെടുക്കേണ്ടത്, അല്ലെങ്കിൽ ആവശ്യമായ ക്ലാസ് പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിന് ഏത് തരം ആർക്കിടെക്ചറുകൾ ടാർഗെറ്റുചെയ്യണം എന്നിവ മനസിലാക്കാൻ വർഗ്ഗീകരണം സഹായിക്കും. അതേ സമയം, ഒരു വിജയകരമായ വർഗ്ഗീകരണം കമ്പ്യൂട്ടറുകൾ മെച്ചപ്പെടുത്തുന്നതിനുള്ള സാധ്യമായ വഴികൾ നിർദ്ദേശിക്കുന്നു, ഈ അർത്ഥത്തിൽ അത് തികച്ചും അർത്ഥവത്തായതായിരിക്കണം. നിസ്സാരമല്ലാത്ത "അന്ധമായ പാടുകൾ" കണ്ടെത്തുമെന്ന് പ്രതീക്ഷിക്കുന്നത് ബുദ്ധിമുട്ടാണ്, ഉദാഹരണത്തിന്, ചെലവ് അനുസരിച്ചുള്ള വർഗ്ഗീകരണത്തിൽ, എന്നാൽ പ്രോഗ്രാമിംഗിന്റെ ലാളിത്യവും നിർമ്മാണക്ഷമതയും കണക്കിലെടുത്ത് സാധ്യമായ ടാക്സോണമിയെക്കുറിച്ച് ചിന്തിക്കുന്നത് പുതിയവ തിരയുന്നതിനുള്ള ദിശകൾ നിർണ്ണയിക്കുന്നതിന് വളരെ ഉപയോഗപ്രദമാകും. വാസ്തുവിദ്യകൾ.

1. സമാന്തര കമ്പ്യൂട്ടിംഗ് സംവിധാനങ്ങൾ

സമാന്തര കമ്പ്യൂട്ടിംഗ് സിസ്റ്റങ്ങൾ ഫിസിക്കൽ കമ്പ്യൂട്ടർ, സോഫ്റ്റ്വെയർ സിസ്റ്റങ്ങളാണ്, അത് പല കമ്പ്യൂട്ടിംഗ് നോഡുകളിലും ഒരു തരത്തിൽ അല്ലെങ്കിൽ മറ്റൊരു തരത്തിൽ സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ് നടപ്പിലാക്കുന്നു.

സമാന്തര കമ്പ്യൂട്ടിംഗ് എന്ന ആശയം, മിക്ക പ്രശ്നങ്ങളും ഒരേസമയം പരിഹരിക്കാൻ കഴിയുന്ന ചെറിയ പ്രശ്നങ്ങളായി വിഭജിക്കാം എന്ന ആശയത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. സാധാരണഗതിയിൽ, സമാന്തര കമ്പ്യൂട്ടിംഗിന് ഏകോപനം ആവശ്യമാണ്. സമാന്തര കമ്പ്യൂട്ടിംഗ് നിരവധി രൂപങ്ങളിൽ വരുന്നു: ബിറ്റ്-ലെവൽ പാരലലിസം, ഇൻസ്ട്രക്ഷൻ ലെവൽ പാരലലിസം, ഡാറ്റ പാരലലിസം, ടാസ്‌ക് പാരലലിസം. സമാന്തര കമ്പ്യൂട്ടിംഗ് പ്രധാനമായും ഉയർന്ന പ്രകടനമുള്ള കമ്പ്യൂട്ടിംഗിൽ വർഷങ്ങളായി ഉപയോഗിച്ചുവരുന്നു, എന്നാൽ അടുത്തിടെ പ്രോസസർ ക്ലോക്ക് വേഗതയുടെ വളർച്ചയ്ക്ക് ശാരീരിക നിയന്ത്രണങ്ങൾ ഉള്ളതിനാൽ അതിൽ താൽപ്പര്യം വർദ്ധിച്ചു. കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിൽ സമാന്തര കമ്പ്യൂട്ടിംഗ് ഒരു പ്രധാന മാതൃകയായി മാറിയിരിക്കുന്നു, പ്രധാനമായും മൾട്ടി-കോർ പ്രോസസറുകളുടെ രൂപത്തിൽ.

സമാന്തര സിസ്റ്റങ്ങൾക്കായി പ്രോഗ്രാമുകൾ എഴുതുന്നത് ക്രമാനുഗതമായവയേക്കാൾ ബുദ്ധിമുട്ടാണ്, കാരണം ഉറവിടങ്ങൾക്കായുള്ള മത്സരം ഒരു പുതിയ തരം സാധ്യതയുള്ള സോഫ്റ്റ്വെയർ പിശകുകൾ (ബഗുകൾ) അവതരിപ്പിക്കുന്നു, അവയിൽ റേസ് സാഹചര്യങ്ങൾ ഏറ്റവും സാധാരണമാണ്. പ്രക്രിയകൾ തമ്മിലുള്ള ആശയവിനിമയവും സമന്വയവും സമാന്തര സിസ്റ്റങ്ങളിൽ ഉയർന്ന പ്രകടനം കൈവരിക്കുന്നതിന് ഒരു പ്രധാന തടസ്സം സൃഷ്ടിക്കുന്നു. സമീപ വർഷങ്ങളിൽ, സമാന്തര കമ്പ്യൂട്ടറുകളുടെ വൈദ്യുതി ഉപഭോഗത്തിന്റെ പ്രശ്നവും പരിഗണിക്കാൻ തുടങ്ങി. സമാന്തരവൽക്കരണത്തിന്റെ ഫലമായി പ്രോഗ്രാം വേഗത വർദ്ധിക്കുന്നതിന്റെ സ്വഭാവം ആംദാലിന്റെ നിയമം വിശദീകരിക്കുന്നു.

കണക്കുകൂട്ടലിൽ ചാക്രിക (ആവർത്തിച്ചുള്ള) പ്രവർത്തനങ്ങൾ ഉൾപ്പെടുന്നില്ലെങ്കിൽ, N കമ്പ്യൂട്ടിംഗ് മൊഡ്യൂളുകൾ ഒരിക്കലും ഒരൊറ്റ കമ്പ്യൂട്ടിംഗ് മൊഡ്യൂളിനേക്കാൾ N മടങ്ങ് വേഗത്തിൽ പ്രവർത്തിക്കില്ല.

ഉദാഹരണത്തിന്, ഒരു ഡ്യുവൽ-പ്രോസസർ മെഷീനിൽ ഒരു അറേ വേഗത്തിൽ അടുക്കുന്നതിന്, നിങ്ങൾക്ക് അറേയെ പകുതിയായി വിഭജിച്ച് ഓരോ പകുതിയും പ്രത്യേക പ്രോസസ്സറിൽ അടുക്കാം. ഓരോ പകുതിയും അടുക്കുന്നതിന് വ്യത്യസ്ത സമയമെടുത്തേക്കാം, അതിനാൽ സമന്വയം ആവശ്യമാണ്.

2. സമാന്തരതയുടെ തരങ്ങൾ

2.1 ബിറ്റ്-ലെവൽ പാരലലിസം

മെഷീൻ പദത്തിന്റെ വലുപ്പം വർദ്ധിപ്പിക്കുന്നതിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണ് സമാന്തരതയുടെ ഈ രൂപം. മെഷീൻ വേഡ് സൈസ് വർദ്ധിപ്പിക്കുന്നത്, മെഷീൻ വേഡ് വലുപ്പത്തേക്കാൾ വലുപ്പമുള്ള വേരിയബിളുകളിൽ പ്രവർത്തനങ്ങൾ നടത്താൻ പ്രോസസ്സറിന് ആവശ്യമായ പ്രവർത്തനങ്ങളുടെ എണ്ണം കുറയ്ക്കുന്നു. ഉദാഹരണത്തിന്: ഒരു 8-ബിറ്റ് പ്രോസസറിൽ നിങ്ങൾ രണ്ട് 16-ബിറ്റ് പൂർണ്ണസംഖ്യകൾ ചേർക്കേണ്ടതുണ്ട്. ഇത് ചെയ്യുന്നതിന്, നിങ്ങൾ ആദ്യം അക്കങ്ങളുടെ താഴത്തെ 8 ബിറ്റുകൾ ചേർക്കേണ്ടതുണ്ട്, തുടർന്ന് മുകളിലെ 8 ബിറ്റുകൾ ചേർക്കുകയും അവയുടെ കൂട്ടിച്ചേർക്കലിന്റെ ഫലത്തിലേക്ക് ക്യാരി ഫ്ലാഗിന്റെ മൂല്യം ചേർക്കുകയും വേണം. ആകെ 3 നിർദ്ദേശങ്ങൾ. ഒരു 16-ബിറ്റ് പ്രോസസർ ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഒരു നിർദ്ദേശം ഉപയോഗിച്ച് ഈ പ്രവർത്തനം നടത്താം.

ചരിത്രപരമായി, 4-ബിറ്റ് മൈക്രോപ്രൊസസ്സറുകൾക്ക് പകരം 8-ബിറ്റ് മൈക്രോപ്രൊസസ്സറുകൾ വന്നു, തുടർന്ന് 16-ബിറ്റ്, 32-ബിറ്റ് മൈക്രോപ്രൊസസ്സറുകൾ. 32-ബിറ്റ് പ്രോസസറുകൾ ദൈനംദിന കമ്പ്യൂട്ടിംഗിൽ വളരെക്കാലമായി സ്റ്റാൻഡേർഡ് ആണ്. x86–64 സാങ്കേതികവിദ്യയുടെ വരവോടെ, ഈ ആവശ്യങ്ങൾക്കായി 64-ബിറ്റ് പ്രോസസ്സറുകൾ ഉപയോഗിക്കാൻ തുടങ്ങി.

2.2 ഇൻസ്ട്രക്ഷൻ ലെവൽ പാരലലിസം

ഒരു കമ്പ്യൂട്ടർ പ്രോഗ്രാം അടിസ്ഥാനപരമായി ഒരു പ്രോസസ്സർ നടപ്പിലാക്കുന്ന നിർദ്ദേശങ്ങളുടെ ഒരു സ്ട്രീം ആണ്. എന്നാൽ നിങ്ങൾക്ക് ഈ നിർദ്ദേശങ്ങളുടെ ക്രമം മാറ്റാൻ കഴിയും, മുഴുവൻ പ്രോഗ്രാമിന്റെയും ഫലം മാറ്റാതെ തന്നെ സമാന്തരമായി നടപ്പിലാക്കുന്ന ഗ്രൂപ്പുകളായി അവ വിതരണം ചെയ്യുക. ഈ സാങ്കേതികതയെ ഇൻസ്ട്രക്ഷൻ ലെവൽ പാരലലിസം എന്നാണ് അറിയപ്പെടുന്നത്. 1980-കളുടെ പകുതി മുതൽ 1990-കളുടെ പകുതി വരെ കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിലെ ഇൻസ്ട്രക്ഷൻ ലെവൽ പാരലലിസത്തിൽ പുരോഗതി ഉണ്ടായി.

ആധുനിക പ്രോസസ്സറുകൾക്ക് മൾട്ടി-സ്റ്റേജ് നിർദ്ദേശ പൈപ്പ്ലൈൻ ഉണ്ട്. പൈപ്പ്ലൈനിന്റെ ഓരോ ഘട്ടവും ഈ ഘട്ടത്തിൽ ഈ നിർദ്ദേശത്തിൽ പ്രോസസർ നടത്തുന്ന ഒരു നിർദ്ദിഷ്ട പ്രവർത്തനവുമായി പൊരുത്തപ്പെടുന്നു. N പൈപ്പ്‌ലൈൻ ഘട്ടങ്ങളുള്ള ഒരു പ്രോസസ്സറിന് ഒരേസമയം N വരെ വ്യത്യസ്ത നിർദ്ദേശങ്ങൾ പൂർണ്ണതയുടെ വിവിധ തലങ്ങളിൽ ഉണ്ടായിരിക്കും. പൈപ്പ്‌ലൈൻ ചെയ്‌ത പ്രോസസറിന്റെ ഒരു മികച്ച ഉദാഹരണം 5 ഘട്ടങ്ങളുള്ള ഒരു RISC പ്രോസസറാണ്: ഇൻസ്ട്രക്ഷൻ ഫെച്ച് (IF), ഇൻസ്ട്രക്ഷൻ ഡീകോഡ് (ID), ഇൻസ്ട്രക്ഷൻ എക്‌സിക്യൂട്ട് (EX), മെമ്മറി ആക്‌സസ് (MEM), രജിസ്റ്ററുകളിലേക്ക് ഫലം എഴുതുക (WB) . പെന്റിയം 4 പ്രൊസസറിന് 35 ഘട്ടങ്ങളുള്ള പൈപ്പ് ലൈൻ ഉണ്ട്.

ചില പ്രോസസ്സറുകൾക്ക്, പൈപ്പ് ലൈനുകൾ ഉപയോഗിക്കുന്നതിനു പുറമേ, ഒന്നിലധികം നിർദ്ദേശങ്ങൾ ഒരേസമയം നടപ്പിലാക്കാനുള്ള കഴിവുണ്ട്, ഇത് നിർദ്ദേശ തലത്തിൽ അധിക സമാന്തരത്വം നൽകുന്നു. സൂപ്പർ സ്‌കലാരിറ്റി ഉപയോഗിച്ച് ഈ രീതി നടപ്പിലാക്കാൻ സാധിക്കും, അവിടെ സമാന്തര നിർവ്വഹണത്തിനായി നിർദ്ദേശങ്ങൾ ഒരുമിച്ച് കൂട്ടാം (അവയ്ക്ക് ഡാറ്റ ഡിപൻഡൻസികൾ ഇല്ലെങ്കിൽ). വ്യക്തമായ നിർദ്ദേശ-തല പാരലലിസം ഉപയോഗിച്ചുള്ള നടപ്പാക്കലും സാധ്യമാണ്: VLIW, EPIC.

2.3 ഡാറ്റ പാരലലിസം

ഡാറ്റാ പാരലലിസത്തെ അടിസ്ഥാനമാക്കിയുള്ള സമീപനത്തിന്റെ പ്രധാന ആശയം, ഡാറ്റ അറേയുടെ എല്ലാ ഘടകങ്ങളിലും ഒരേസമയം ഒരു പ്രവർത്തനം നടത്തുന്നു എന്നതാണ്. അത്തരമൊരു അറേയുടെ വ്യത്യസ്ത ശകലങ്ങൾ ഒരു വെക്റ്റർ പ്രോസസറിലോ ഒരു സമാന്തര മെഷീന്റെ വ്യത്യസ്ത പ്രോസസ്സറുകളിലോ പ്രോസസ്സ് ചെയ്യുന്നു. പ്രോഗ്രാം പ്രോസസ്സറുകൾക്കിടയിൽ ഡാറ്റ വിതരണം ചെയ്യുന്നു. ഈ കേസിൽ വെക്‌ടറൈസേഷൻ അല്ലെങ്കിൽ സമാന്തരവൽക്കരണം മിക്കപ്പോഴും കംപൈലേഷൻ ഘട്ടത്തിലാണ് നടത്തുന്നത് - പ്രോഗ്രാമിന്റെ ഉറവിട വാചകം മെഷീൻ നിർദ്ദേശങ്ങളിലേക്ക് വിവർത്തനം ചെയ്യുന്നു. ഈ സാഹചര്യത്തിൽ പ്രോഗ്രാമറുടെ പങ്ക് സാധാരണയായി കമ്പൈലറിനായുള്ള വെക്റ്റർ അല്ലെങ്കിൽ പാരലൽ ഒപ്റ്റിമൈസേഷൻ ക്രമീകരണങ്ങൾ, സമാന്തര കംപൈലേഷൻ നിർദ്ദേശങ്ങൾ, സമാന്തര കമ്പ്യൂട്ടിംഗിനായി പ്രത്യേക ഭാഷകളുടെ ഉപയോഗം എന്നിവ വ്യക്തമാക്കുന്നതിലേക്ക് വരുന്നു.

2.4 ടാസ്ക് പാരലലിസം (മൾട്ടി ത്രെഡിംഗ്)

ടാസ്‌ക് പാരലലിസത്തെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു പ്രോഗ്രാമിംഗ് ശൈലി സൂചിപ്പിക്കുന്നത് ഒരു കമ്പ്യൂട്ടിംഗ് ടാസ്‌ക്കിനെ താരതമ്യേന സ്വതന്ത്രമായ നിരവധി സബ്‌ടാസ്‌ക്കുകളായി വിഭജിക്കുകയും ഓരോ പ്രോസസറും അതിന്റേതായ സബ്‌ടാസ്‌ക് ലോഡ് ചെയ്യുകയും ചെയ്യുന്നു എന്നാണ്.

2.5 വിതരണം ചെയ്ത ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ

ഒരു വിതരണം ചെയ്ത OS, പ്രോസസ്സിംഗിനായി വിവിധ സിസ്റ്റം മെഷീനുകളിലുടനീളം ചലനാത്മകമായും സ്വയമേവയും വർക്ക് വിതരണം ചെയ്യുന്നതിലൂടെ, ഒരു കൂട്ടം നെറ്റ്‌വർക്ക് മെഷീനുകൾ ഒരു വെർച്വൽ യൂണിപ്രോസസറായി പ്രവർത്തിക്കാൻ കാരണമാകുന്നു. ഒരു വിതരണം ചെയ്ത OS-ന്റെ ഉപയോക്താവിന്, പൊതുവായി പറഞ്ഞാൽ, ഏത് മെഷീനിലാണ് തന്റെ ജോലി നിർവഹിക്കുന്നത് എന്നതിനെക്കുറിച്ച് ഒരു വിവരവുമില്ല.

ഒരു കമ്പ്യൂട്ടർ സിസ്റ്റത്തിലുടനീളം ഒരൊറ്റ ഓപ്പറേറ്റിംഗ് സിസ്റ്റമായി ഒരു വിതരണം ചെയ്ത OS നിലവിലുണ്ട്. വിതരണം ചെയ്ത OS പ്രവർത്തിക്കുന്ന ഒരു നെറ്റ്‌വർക്കിലെ ഓരോ കമ്പ്യൂട്ടറും ഈ ആഗോള OS-ന്റെ പ്രവർത്തനങ്ങളുടെ ഒരു ഭാഗം നിർവ്വഹിക്കുന്നു. കമ്പ്യൂട്ടർ നെറ്റ്‌വർക്കിന്റെ എല്ലാ ഉറവിടങ്ങളും കാര്യക്ഷമമായി ഉപയോഗിക്കുന്നതിന് പരസ്പരം അടുത്ത സഹകരണത്തോടെ പ്രവർത്തിക്കുന്നു എന്ന അർത്ഥത്തിൽ നെറ്റ്‌വർക്കിലെ എല്ലാ കമ്പ്യൂട്ടറുകളെയും ഒരു വിതരണം ചെയ്ത OS ഒന്നിപ്പിക്കുന്നു.

സൈറ്റ് വെബ്‌സൈറ്റിലേക്ക് പ്രവൃത്തി ചേർത്തു: 2016-06-20

">പ്രഭാഷണം " xml:lang="en-US" lang="en-US">6

"> സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ്

">പല ഗണിത, ലോജിക്കൽ അല്ലെങ്കിൽ സർവീസ് ഓപ്പറേഷനുകൾ ഒരേസമയം നിർവഹിക്കാനുള്ള കഴിവാണ് സമാന്തരത. മാത്രമല്ല, പ്രവർത്തനങ്ങൾ വലിയ ബ്ലോക്കും ചെറിയ ബ്ലോക്കും ആകാം.

സമാന്തര പ്രോസസ്സിംഗ് വിവിധ തത്വങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്:

സ്പേഷ്യൽ പാരലലിസം;

താൽക്കാലിക സമാന്തരത:

  1. പൈപ്പ്ലൈനിംഗ്.
  2. "> വെക്‌ടറൈസേഷൻ.
  3. ">മാട്രിക്സ്.
  4. "> സിസ്റ്റോളിക്.
  5. ">ഡാറ്റ ഫ്ലോ പ്രോസസ്സിംഗ് ഘടനയുടെ ഓർഗനൈസേഷൻ.
  6. ">ഹൈപ്പർക്യൂബ് ഘടനയെ അടിസ്ഥാനമാക്കിയുള്ള സിസ്റ്റത്തിന്റെ ഓർഗനൈസേഷൻ.
  7. ">വിമാന ഘടനയുടെ ചലനാത്മക പുനഃക്രമീകരണം.

">ഏത് അൽഗോരിതത്തിന്റെയും വിവരണം നെസ്റ്റിംഗ് പ്രോപ്പർട്ടി അടിസ്ഥാനമാക്കിയുള്ള ശ്രേണിപരമാണ്. പ്രോഗ്രാമിംഗ് ചെയ്യുമ്പോൾ, നെസ്റ്റിംഗ് ലെവലുകൾ വേർതിരിച്ചിരിക്കുന്നു: ടാസ്‌ക്കുകൾ, ടാസ്‌ക്കുകൾ, സബ്‌ടാസ്‌ക്കുകൾ (പ്രോസസുകൾ), മാക്രോ ഓപ്പറേഷനുകൾ, പ്രവർത്തനങ്ങൾ.

">1. അൽഗോരിതത്തിന്റെ ടൈർഡ്-പാരലൽ ഫോം

">അൽഗരിതങ്ങളെ പ്രതിനിധീകരിക്കുന്നതിന്റെ ഏറ്റവും സാധാരണമായ രൂപമാണ് അൽഗോരിതത്തിന്റെ ഇൻഫർമേഷൻ കൺട്രോൾ ഗ്രാഫ്. ടാസ്‌ക് പാരലലിസത്തെ പ്രതിനിധീകരിക്കുന്നതിനുള്ള കൂടുതൽ നിർദ്ദിഷ്ട രൂപമാണ് ടയർ-പാരലൽ ഫോമിന്റെ (എൽപിഎഫ്) ഉപകരണം.

">ടയർ-പാരലൽ ഫോമിലുള്ള അൽഗോരിതം ടയറുകളുടെ രൂപത്തിൽ പ്രതിനിധീകരിക്കുന്നു, കൂടാതെ സീറോ ടയറിൽ പരസ്പരം സ്വതന്ത്രമായ ഓപ്പറേറ്റർമാരും (ശാഖകൾ) ഉൾപ്പെടുന്നു.

">ഗ്രാഫിൽ നിങ്ങൾക്ക് സംക്രമണങ്ങൾ നിയുക്തമാക്കാം, അതായത് ഒരു ടയറിൽ നിന്ന് ഒരു പ്രവർത്തനത്തിലേക്ക് ഒരു പ്രാകൃത പ്രവർത്തനം കണക്കാക്കുന്നതിന്റെ ഫലങ്ങളുടെ കൈമാറ്റം. അടുത്ത ടയറിൽ നിന്ന് ടയറുകളെ വിഭജിച്ചിരിക്കുന്നു. "ശൂന്യമായ" സംക്രമണങ്ങളും "ശൂന്യമായ" പ്രാകൃതവും ഉണ്ടാകാം. പ്രവർത്തനങ്ങൾ.

">NFP-കൾ നിർമ്മിക്കുമ്പോൾ, അവ അടിസ്ഥാനപരമായ ഒരു കൂട്ടം പ്രാകൃത പ്രവർത്തനങ്ങളെ (BNO) ആശ്രയിക്കുന്നു. ടയേർഡ്-പാരലൽ ഫോം ഇനിപ്പറയുന്ന പാരാമീറ്ററുകളാൽ സവിശേഷതയാണ്:

">1. ഗ്രാഫിന്റെ ദൈർഘ്യം (ടയറുകളുടെ എണ്ണം)" xml:lang="en-US" lang="en-US">L">.

">2. വീതി " xml:lang="en-US" lang="en-US">i">ആം നിര - " xml:lang="en-US" lang="en-US">b;vertical-align:sub" xml:lang="en-US" lang="en-US">i">.

">3. ഒരു ടയേർഡ് പാരലൽ ഗ്രാഫിന്റെ വീതി" xml:lang="en-US" lang="en-US">B">= " xml:lang="en-US" lang="en-US">പരമാവധി">(" xml:lang="en-US" lang="en-US">b;vertical-align:sub" xml:lang="en-US" lang="en-US">i">).

">4. NAP ഗ്രാഫിന്റെ ശരാശരി വീതി V;vertical-align:sub">cf "> ">.

">5. ഫിൽ ഫാക്ടർ" xml:lang="en-US" lang="en-US">i">ആം നിര " xml:lang="en-US" lang="en-US">k;vertical-align:sub" xml:lang="en-US" lang="en-US">i"> – ">.

">6. ഗ്രാഫിലെ പ്രവർത്തനങ്ങളുടെ ഡിസ്പർഷൻ കോഫിഫിഷ്യന്റ് -" xml:lang="en-US" lang="en-US">Q;vertical-align:super" xml:lang="en-US" lang="en-US">j;vertical-align:sub" xml:lang="en-US" lang="en-US">i"> – ">, " xml:lang="en-US" lang="en-US">j">BNO, എവിടെ ">- അളവ് " xml:lang="en-US" lang="en-US">j">മത്തെ തരത്തിലുള്ള പ്രവർത്തനങ്ങൾ" xml:lang="en-US" lang="en-US">i">ആം നിര.

">7. YAPF-ൽ ഈ ഗ്രാഫ് പ്രതിനിധീകരിക്കുന്ന അൽഗോരിതം നടപ്പിലാക്കാൻ ആവശ്യമായ ഏറ്റവും കുറഞ്ഞ എണ്ണം കമ്പ്യൂട്ടറുകൾ (BNO-യിൽ നിന്ന്).

">8. അൽഗോരിതത്തിന്റെ ഏറ്റവും കുറഞ്ഞ പരിഹാര സമയം (ഓരോ ടയറിനും പരമാവധി കണക്കുകൂട്ടലുകളുള്ള കമ്പ്യൂട്ടറുകളുടെ പ്രതികരണ സമയങ്ങളുടെ ആകെത്തുക) ടി;vertical-align:sub" xml:lang="en-US" lang="en-US">മിനിറ്റ്">.

">9. അൽഗോരിതത്തിന്റെ കണക്റ്റിവിറ്റി (അൽഗരിതം നടപ്പിലാക്കുമ്പോൾ സംഭരിക്കേണ്ട ഇന്റർമീഡിയറ്റ് ഫലങ്ങളുടെ എണ്ണം) സി.

">2. ഓട്ടോമാറ്റിക് കൺകറൻസി കണ്ടെത്തൽ

">ഒരു സമാന്തര അൽഗോരിതം നിർമ്മിക്കാൻ സാധ്യമായ രണ്ട് വഴികളുണ്ട്: പ്രശ്‌ന പ്രസ്താവനയിൽ നിന്ന് നേരിട്ട് അല്ലെങ്കിൽ ഒരു സീക്വൻഷ്യൽ അൽഗോരിതം രൂപാന്തരപ്പെടുത്തി.

">ഒരു സീക്വൻഷ്യലിൽ നിന്ന് ഒരു സമാന്തര അൽഗോരിതം നിർമ്മിക്കുന്നതിനുള്ള രീതികൾ, ചില നിയമങ്ങൾ അനുസരിച്ച്, സമാന്തരമായവ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്ന സീക്വൻഷ്യൽ അൽഗോരിതത്തിലെ സാധാരണ, പതിവായി സംഭവിക്കുന്ന നിർമ്മാണങ്ങളെ തിരിച്ചറിയുന്നതിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.

">ഒരു സമാന്തര അൽഗോരിതം നിർമ്മിക്കുമ്പോൾ സമാന്തരതയുടെ താഴ്ന്ന നിലവാരം കൈവരിച്ചിട്ടുണ്ടെങ്കിലും, ഈ രീതി വ്യാപകമായി ഉപയോഗിക്കപ്പെടുന്നു, കാരണം ഇത് സീക്വൻഷ്യൽ ODS-നായി വികസിപ്പിച്ച് ഡീബഗ് ചെയ്ത ചെലവേറിയ ആപ്ലിക്കേഷൻ പ്രോഗ്രാമുകൾ ഉപയോഗിക്കാനുള്ള കഴിവ് നൽകുന്നു.

">ഒരു സീക്വൻഷ്യൽ പ്രോഗ്രാമിൽ, വ്യക്തമായതും മറഞ്ഞിരിക്കുന്നതുമായ സമാന്തര പ്രോസസ്സിംഗ് തമ്മിൽ വേർതിരിക്കുന്നു.

">ഒരു പ്രോഗ്രാം വിശകലനം ചെയ്യുമ്പോൾ, ഒരു ഡാറ്റാ ഫ്ലോ ഗ്രാഫ് നിർമ്മിക്കപ്പെടുന്നു. പ്രക്രിയകളുടെ വ്യക്തമായ സമാന്തരത്വം കണ്ടെത്തുന്നതിന്, ഇൻപുട്ട് (വായന) വേരിയബിളുകളുടെ സെറ്റുകൾ വിശകലനം ചെയ്യുന്നു." xml:lang="en-US" lang="en-US">R"> കൂടാതെ ഔട്ട്പുട്ട് (എഴുതിയ) വേരിയബിളുകളും" xml:lang="en-US" lang="en-US">W"> ഓരോ പ്രക്രിയയുടെയും.

">മറഞ്ഞിരിക്കുന്ന സമാന്തര പ്രോസസ്സിംഗിന് ഒരു സീക്വൻഷ്യൽ പ്രോഗ്രാമിന് സമാന്തരമായി അത് നടപ്പിലാക്കുന്നത് സാധ്യമാക്കുന്നതിന് ചില തരത്തിലുള്ള പരിവർത്തന നടപടിക്രമങ്ങൾ ആവശ്യമാണ്. പരിവർത്തനം ഇനിപ്പറയുന്നതായിരിക്കാം:

">a) ഗണിത പദപ്രയോഗങ്ങളുടെ മരങ്ങളുടെ ഉയരം കുറയ്ക്കുന്നു (ചിത്രം 6.3);

">ബി) രേഖീയ ആവർത്തന ബന്ധങ്ങളുടെ പരിവർത്തനം;

">സി) ഓപ്പറേറ്റർമാരെ മാറ്റിസ്ഥാപിക്കൽ;

">d) സോപാധിക സംക്രമണങ്ങളുടെയും ലൂപ്പുകളുടെയും ബ്ലോക്കുകളുടെ രൂപാന്തരം കാനോനിക്കൽ രൂപത്തിലേക്ക്;

">ഇ) സൈക്കിളുകളുടെ വിതരണം.

">അൽഗരിതം എക്സിക്യൂട്ട് ചെയ്യേണ്ട കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിന്റെ സവിശേഷതകൾ സമാന്തരമായി പരിവർത്തനം ചെയ്യുകയാണെങ്കിൽ സമാന്തര ആർക്കിടെക്ചറുകൾ ഉയർന്ന പ്രകടനം കൈവരിക്കുന്നു.

">മെമ്മറി ലേഔട്ട് കണക്കിലെടുക്കുന്നതിന്റെ ഉദാഹരണമായി, ഡയഗണൽ അഡ്രസ്സിംഗിനൊപ്പം മെമ്മറി എടുക്കാം. മെട്രിക്സുകളുടെ സമാന്തര പ്രോസസ്സിംഗ് ഉറപ്പാക്കാൻ, അവയുടെ വരികളുടെയും നിരകളുടെയും ഘടകങ്ങൾ പ്രോസസർ സ്റ്റോറേജ് ഡിവൈസുകൾക്കിടയിൽ വിതരണം ചെയ്യപ്പെടണം. ഒരേസമയം വായിക്കുകയും പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യുന്നു. ഈ സാഹചര്യത്തിൽ, മാട്രിക്സ് ഷിഫ്റ്റ് ഉപയോഗിച്ച് സംഭരിക്കുന്നു (ചിത്രം 6.4).

">ഏത് അൽഗോരിതത്തിലും സീക്വൻഷ്യൽ (സ്കെലാർ) വിഭാഗങ്ങൾ അടങ്ങിയിരിക്കുന്നു. ഒരു സമാന്തര കമ്പ്യൂട്ടറിൽ അൽഗോരിതം നടപ്പിലാക്കുമ്പോൾ ഈ സ്കെയിലർ വിഭാഗങ്ങളുടെ ദൈർഘ്യം നിർണ്ണയിക്കുന്ന ഘടകമാണെന്ന് തെളിയിക്കപ്പെട്ടിട്ടുണ്ട്.

">3. സമാന്തരതയുടെ ബിരുദവും തലങ്ങളും

"> സമാന്തരതയുടെ ബിരുദം"> (" xml:lang="en-US" lang="en-US">D">) "> ടാസ്‌ക് അൽഗോരിതം നടപ്പിലാക്കുമ്പോൾ സിസ്റ്റത്തിലെ സമാന്തരമായി പ്രവർത്തിക്കുന്ന ഉപകരണങ്ങളുടെ എണ്ണത്തിന്റെ ക്രമമാണിത്, പ്രോസസ്സറുകളുടെ എണ്ണം (പ്രോസസ്സിംഗ് ഉപകരണങ്ങൾ) പരിമിതമല്ല.

">1) കുറഞ്ഞ ഡിഗ്രി: 2 മുതൽ 10 വരെ പ്രോസസ്സറുകൾ.

">2) ഇടത്തരം ഡിഗ്രി: 10 മുതൽ 100 ​​വരെ പ്രോസസ്സറുകൾ.

">3) ഉയർന്ന ബിരുദം: 100 മുതൽ 10 വരെ;vertical-align:super">4 "> പ്രോസസ്സറുകൾ.

">4) അൾട്രാ-ഹൈ ഡിഗ്രി: 10 മുതൽ;vertical-align:super">4 "> 10 വരെ ;vertical-align:super">6 "> പ്രോസസ്സറുകൾ.

">പാരാമീറ്ററിന്റെ ഗ്രാഫിക്കൽ പ്രാതിനിധ്യം" xml:lang="en-US" lang="en-US">D">(" xml:lang="en-US" lang="en-US">t">) സമയത്തിന്റെ പ്രവർത്തനമെന്ന നിലയിൽ പ്രോഗ്രാം പാരലലിസം പ്രൊഫൈൽ എന്ന് വിളിക്കുന്നു ചിത്രം 6.5 ഒരു സാധാരണ പാരലലിസം പ്രൊഫൈൽ കാണിക്കുന്നു.

">ആപ്ലിക്കേഷൻ പ്രോഗ്രാമുകളിൽ സമാന്തരത്വത്തിന്റെ വിശാലമായ ശ്രേണിയുണ്ട്. കമ്പ്യൂട്ടേഷണൽ ഇന്റൻസീവ് പ്രോഗ്രാമുകളിൽ, നിലവിലുള്ള കമ്പ്യൂട്ടിംഗ് പരിതസ്ഥിതി ഇതിന് ലഭ്യമാണെങ്കിൽ, ഓരോ സൈക്കിളിലും 500 മുതൽ 3500 വരെ ഗണിത പ്രവർത്തനങ്ങൾ സമാന്തരമായി നടത്താൻ കഴിയും. എന്നിരുന്നാലും, ശരിയായി രൂപകൽപ്പന ചെയ്ത ഒരു സൂപ്പർസ്‌കേലാർ പോലും ഓരോ സൈക്കിളിലും 2 മുതൽ 5.8 കമാൻഡുകൾ വരെ പ്രോസസറിന് പിന്തുണയ്‌ക്കാൻ കഴിയും. ആശയവിനിമയത്തിനും സിസ്റ്റം ചെലവുകൾക്കും ഈ കുറവുണ്ടായതാണ് പ്രാഥമികമായി.

സമാന്തരതയുടെ നിലവാരം കമ്പ്യൂട്ടിംഗ് പ്രകടനത്തിൽ സമാന്തരതയുടെ അളവിനേക്കാൾ ശക്തമായ സ്വാധീനം ചെലുത്തുന്നു.

സമാന്തരതയുടെ അൽഗോരിതം, സർക്യൂട്ട് ലെവലുകൾ പരിഗണിക്കുന്നു.

സമാന്തരതയുടെ ഇനിപ്പറയുന്ന അൽഗോരിതം തലങ്ങൾ വേർതിരിച്ചിരിക്കുന്നു:

1. ടാസ്ക് ലെവൽ:

a) ജോലികൾക്കിടയിൽ;

ബി) ടാസ്ക് ഘട്ടങ്ങൾക്കിടയിൽ.

2. സോഫ്റ്റ്‌വെയർ ലെവൽ:

a) പ്രോഗ്രാമിന്റെ ഭാഗങ്ങൾക്കിടയിൽ;

b) സൈക്കിളിനുള്ളിൽ.

3. കമാൻഡ് ലെവൽ (കമാൻഡ് എക്സിക്യൂഷൻ ഘട്ടങ്ങൾക്കിടയിൽ).

4. ഗണിതവും ബിറ്റ് ലെവലും:

">a) ഒരു വെക്റ്റർ പ്രവർത്തനത്തിന്റെ ഘടകങ്ങൾക്കിടയിൽ;

">b) ALU-ന്റെ ലോജിക്കൽ സർക്യൂട്ടുകൾക്കുള്ളിൽ.

">കമ്പ്യൂട്ടിംഗ് ടൂളുകളുടെ പ്രത്യേക ഘടനകൾ വികസിപ്പിച്ചതിന്റെ അടിസ്ഥാനത്തിൽ, ഓരോ ലെവലും ചില പ്രത്യേക ഗുണങ്ങളാൽ വിശേഷിപ്പിക്കപ്പെടുന്നു. പേഴ്സണൽ കമ്പ്യൂട്ടറുകൾ ഉൾപ്പെടെ ഏത് ആധുനിക കമ്പ്യൂട്ടറുകളിലും കമാൻഡ് ലെവൽ നടപ്പിലാക്കുന്നു.

">ഡാറ്റ പ്രോസസ്സിംഗിന്റെ സമാന്തരവൽക്കരണം അല്ലെങ്കിൽ സമാന്തര കണക്കുകൂട്ടലുകളുടെ ഓർഗനൈസേഷൻ നടത്തുന്ന ഒരു ഹാർഡ്‌വെയർ ലെവലാണ് സമാന്തരതയുടെ സർക്യൂട്ട് ലെവൽ.

"> സമാന്തര പ്രോസസ്സിംഗ് ഇനിപ്പറയുന്ന സർക്യൂട്ട് തലങ്ങളിൽ നടപ്പിലാക്കാം:

">1. ലോജിക് ഗേറ്റുകളുടെയും മെമ്മറി ഘടകങ്ങളുടെയും തലത്തിൽ (ചിത്രം 6.6).

">2. ലോജിക്കൽ സർക്യൂട്ടുകളുടെയും മെമ്മറിയുള്ള ലളിതമായ ഓട്ടോമാറ്റയുടെയും ലെവൽ (ചിത്രം 6.7).

">3. രജിസ്റ്ററുകളുടെയും മെമ്മറി ഇന്റഗ്രേറ്റഡ് സർക്യൂട്ടുകളുടെയും ലെവൽ (ചിത്രം 6.8).

4. പ്രാഥമിക മൈക്രോപ്രൊസസ്സറുകളുടെ നില (ചിത്രം 6.9).

">5. വലിയ പ്രവർത്തനങ്ങൾ നടപ്പിലാക്കുന്ന മാക്രോപ്രോസസറുകളുടെ നില (ചിത്രം 6.10).

6. കമ്പ്യൂട്ടറുകൾ, പ്രോസസ്സറുകൾ, പ്രോഗ്രാമുകൾ എന്നിവയുടെ ലെവൽ (ചിത്രം 6.11).

">4. സമാന്തരതയുടെ തരങ്ങൾ

">4.1. സ്വാഭാവിക സമാന്തരതയും

"> ഒന്നിലധികം വസ്തുക്കളുടെ സമാന്തരത

വിവര ഗ്രാഫിൽ, മറ്റൊരു ഉപഗ്രാഫിന്റെ പ്രാകൃത പ്രവർത്തനങ്ങൾ നടപ്പിലാക്കുമ്പോൾ ലഭിച്ച ഏതെങ്കിലും ഇന്റർമീഡിയറ്റ് ഫലങ്ങൾ പരസ്പരം ഉപയോഗിക്കാത്ത "ലംബ" സ്വതന്ത്ര സബ്ഗ്രാഫുകൾ തിരിച്ചറിയാൻ കഴിയും. ഇത്തരത്തിലുള്ള സമാന്തരതയെ സ്വതന്ത്ര ജോലികളുടെ സ്വാഭാവിക സമാന്തരത എന്ന് വിളിക്കുന്നു.

അതിന്റെ യഥാർത്ഥ രൂപീകരണത്തിൽ മൾട്ടിഡൈമൻഷണൽ വെക്റ്ററുകൾ, മൾട്ടിഡൈമൻഷണൽ മെട്രിക്സ് അല്ലെങ്കിൽ ലാറ്റിസ് ഫംഗ്ഷനുകൾ (ചിത്രം 6.12) എന്നിവയിൽ ഒരു പ്രവർത്തനമായി ചുരുക്കിയാൽ ഒരു പ്രശ്നത്തിന് സ്വാഭാവിക സമാന്തരതയുണ്ട്.

മൾട്ടിപ്പിൾ ഒബ്ജക്റ്റ് പാരലലിസം എന്നത് സ്വാഭാവിക സമാന്തരതയുടെ ഒരു പ്രത്യേക സാഹചര്യമാണ്. ഒരേ അല്ലെങ്കിൽ ഏതാണ്ട് ഒരേ പ്രോഗ്രാം (ചിത്രം 6.13) ഉപയോഗിച്ച് പ്രോസസ്സ് ചെയ്ത വ്യത്യസ്തവും എന്നാൽ സമാനവുമായ വസ്തുക്കളെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രോസസ്സ് ചെയ്യുക എന്നതാണ് ഇതിന്റെ അർത്ഥം.

">ഇവിടെ, ഇന്റഗ്രൽ ഓപ്പറേഷനുകൾ എന്ന് വിളിക്കപ്പെടുന്നവ താരതമ്യേന ചെറിയ ഭാരം ഉൾക്കൊള്ളുന്നു. ഒന്നിലധികം ഒബ്‌ജക്‌റ്റുകൾ സമാന്തരമാക്കുമ്പോൾ, വ്യത്യസ്ത ഒബ്‌ജക്റ്റുകൾക്കായി വ്യക്തിഗത വിഭാഗങ്ങളുടെ കണക്കുകൂട്ടലുകൾ വ്യത്യസ്തമായി നടത്തേണ്ട സാഹചര്യങ്ങളേക്കാൾ കൂടുതൽ തവണ സംഭവിക്കുന്നു.

">4.2. സ്വതന്ത്ര ശാഖകളുടെ സമാന്തരത്വം

സ്വതന്ത്ര ശാഖകളുടെ സമാന്തരതയുടെ സാരാംശം, ഒരു പ്രശ്നം പരിഹരിക്കുന്നതിനുള്ള പ്രോഗ്രാമിൽ, ശാഖകൾ എന്ന് വിളിക്കപ്പെടുന്ന സ്വതന്ത്ര ഭാഗങ്ങൾ വേർതിരിച്ചറിയാൻ കഴിയും എന്നതാണ്. കമ്പ്യൂട്ടറിന് ഉചിതമായ ഹാർഡ്വെയർ ഉണ്ടെങ്കിൽ, ശാഖകൾ സമാന്തരമായി നടപ്പിലാക്കാൻ കഴിയും (ചിത്രം 6.14).

">പ്രോഗ്രാം ബ്രാഞ്ച് Y, X ബ്രാഞ്ചിനെ ആശ്രയിക്കുന്നില്ല എങ്കിൽ:

"> - അവയ്ക്കിടയിൽ പ്രവർത്തനപരമായ കണക്ഷനുകളൊന്നുമില്ല, അതായത് Y ബ്രാഞ്ചിന്റെ ഇൻപുട്ട് വേരിയബിളുകളൊന്നും X ബ്രാഞ്ചിന്റെ ഔട്ട്പുട്ട് വേരിയബിളോ X-നെ ആശ്രയിക്കുന്ന ഏതെങ്കിലും ശാഖയോ അല്ല;

"> - പ്രവർത്തന മെമ്മറി ഫീൽഡുകൾ വഴി അവ തമ്മിൽ യാതൊരു ബന്ധവുമില്ല;

"> - അവ വ്യത്യസ്ത പ്രോഗ്രാമുകൾ ഉപയോഗിച്ച് നടപ്പിലാക്കണം;

"> - നിയന്ത്രണത്തിൽ സ്വതന്ത്രമാണ്, അതായത് Y ബ്രാഞ്ച് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനുള്ള വ്യവസ്ഥ, ബ്രാഞ്ച് X അല്ലെങ്കിൽ അതിനെ ആശ്രയിക്കുന്ന ശാഖയുടെ നിർവ്വഹണ വേളയിൽ ഉണ്ടാകുന്ന സ്വഭാവസവിശേഷതകളെ ആശ്രയിക്കരുത്.

">4.3. അടുത്തുള്ള പ്രവർത്തനങ്ങളുടെ സമാന്തരത അല്ലെങ്കിൽ

">പ്രാദേശിക സമാന്തരത

നിലവിലെ പ്രവർത്തനങ്ങളുടെ ഇൻപുട്ട് ഡാറ്റ കണക്കുകൂട്ടലിന്റെ ആദ്യ ഘട്ടങ്ങളിൽ ലഭിക്കുമ്പോൾ സമീപത്തെ പ്രവർത്തനങ്ങളുടെ സമാന്തരത സംഭവിക്കുന്നു, കൂടാതെ കമ്പ്യൂട്ടേഷണൽ ഉപകരണങ്ങളുടെ നിർമ്മാണം ഔട്ട്പുട്ട് ഡാറ്റയും ഫലങ്ങളും പരസ്പരം ബന്ധിപ്പിച്ചിട്ടില്ലാത്ത നിരവധി പ്രവർത്തനങ്ങളുടെ നിർവ്വഹണം സംയോജിപ്പിക്കുന്നത് സാധ്യമാക്കുന്നു.

പ്രോഗ്രാമുകളുടെ ലോക്കൽ ഒപ്റ്റിമൈസേഷനിൽ, തുടർച്ചയായി നടപ്പിലാക്കേണ്ട നിരവധി നിർദ്ദേശങ്ങൾ പരിശോധിക്കുന്നതും അവയിൽ ചിലതിന്റെ ക്രമം മാറ്റുന്നതും, അടുത്തുള്ള പ്രവർത്തനങ്ങളുടെ സാധ്യമായ പരമാവധി സമാന്തരത ഉറപ്പാക്കാൻ രജിസ്റ്ററുകളുടെയും മെമ്മറി സെല്ലുകളുടെയും എണ്ണം മാറ്റുകയും ചെയ്യുന്നു.

മിക്ക കേസുകളിലും, അടുത്തുള്ള പ്രവർത്തനങ്ങളുടെ കണക്റ്റിവിറ്റിയുടെ സൂചകം പ്രാദേശിക ഒപ്റ്റിമൈസേഷന്റെ ഗുണനിലവാരം പോലെ പ്രശ്നത്തെ ആശ്രയിച്ചിരിക്കുന്നില്ല.

">5. പ്രശ്ന മാതൃക

സമാന്തര കമ്പ്യൂട്ടറുകളുടെ ഘടനകളുടെ താരതമ്യ വിശകലനത്തിനായി പ്രശ്നത്തിന്റെ ഒരു മാതൃക നിർമ്മിച്ചിരിക്കുന്നു. അതിനാൽ, ഇത് തികച്ചും പൊതുവായ സ്വഭാവമുള്ളതായിരിക്കണം കൂടാതെ സമാന്തരതയുടെ രൂപങ്ങളുടെയും കണക്ഷനുകളുടെ തരങ്ങളുടെയും ഘടന മാത്രം വിവരിക്കണം.

ചട്ടം പോലെ, പ്രശ്നങ്ങളുടെ മാതൃകാപരമായ ക്ലാസ് വിശകലനം അടിസ്ഥാനമാക്കിയാണ് ഏത് പ്രശ്ന മോഡലും നിർമ്മിച്ചിരിക്കുന്നത്. വിശകലനത്തിന്റെ ഫലങ്ങളെ അടിസ്ഥാനമാക്കി, അൽഗോരിതങ്ങൾ ഒരു സമാന്തര രൂപത്തിലേക്ക് പരിവർത്തനം ചെയ്യപ്പെടുന്നു. പഠനത്തിന് കീഴിലുള്ള അൽഗോരിതം മൂന്ന് തരത്തിലുള്ള വിഭാഗങ്ങളുടെ ഒരു ക്രമം ഉൾക്കൊള്ളുന്ന ഒരു പ്രോഗ്രാമായി പ്രതിനിധീകരിക്കാം (ചിത്രം 6.15):

  1. സ്കെയിലർ വിഭാഗങ്ങൾ (SC);
  2. സ്വതന്ത്ര ശാഖകളുടെ (ബിടി) സമാന്തരതയുള്ള വിഭാഗങ്ങൾ;
  3. വെക്റ്റർ വിഭാഗങ്ങൾ (VC).

ഒരു സമാന്തര പ്രോഗ്രാമിനെ ചിത്രീകരിക്കുന്ന പരാമീറ്ററുകളുടെ ഒരു കൂട്ടമാണ് ടാസ്ക് മോഡൽ

ഒരു ടാസ്ക്കിന്റെ ഒരു മാതൃക നിർമ്മിക്കുമ്പോൾ, പഠനത്തിൻ കീഴിലുള്ള അൽഗോരിതം നടപ്പിലാക്കുമ്പോൾ അതിന്റെ നിർവ്വഹണത്തിന്റെ ആപേക്ഷിക സമയം നിർണ്ണയിക്കുക എന്നതാണ് പ്രധാന ലക്ഷ്യം.

ചിത്രം

" xml:lang="en-US" lang="en-US">W">സ്ക്

" xml:lang="en-US" lang="en-US">Ww

" xml:lang="en-US" lang="en-US">W">വികെ

" xml:lang="en-US" lang="en-US">m;vertical-align:sub">sk

" xml:lang="en-US" lang="en-US">m;vertical-align:sub" xml:lang="en-US" lang="en-US">tu

" xml:lang="en-US" lang="en-US">m;vertical-align:sub">vk

" xml:lang="en-US" lang="en-US">A

" xml:lang="en-US" lang="en-US">В

" xml:lang="en-US" lang="en-US">C

കണക്കുകൂട്ടലുകളുടെ അളവ്

ആപേക്ഷിക നീളം

1.2 സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ്

1.2.1 സമാന്തര പ്രോസസ്സിംഗിന്റെ അടിസ്ഥാന സാധ്യത

ഇന്നുവരെ വികസിപ്പിച്ചെടുത്ത മിക്കവാറും എല്ലാ അൽഗോരിതങ്ങളും ക്രമാനുഗതമാണ്. ഉദാഹരണത്തിന്, a + b × c എന്ന പദപ്രയോഗം വിലയിരുത്തുമ്പോൾ, നിങ്ങൾ ആദ്യം ഗുണനം ചെയ്യണം, അതിനുശേഷം മാത്രമേ കൂട്ടിച്ചേർക്കൽ നടത്തൂ. ഇലക്ട്രോണിക് കമ്പ്യൂട്ടറുകളിൽ ഒരേസമയം പ്രവർത്തിക്കാൻ കഴിയുന്ന സങ്കലന, ഗുണന നോഡുകൾ അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, ഈ സാഹചര്യത്തിൽ ഗുണന നോഡ് അതിന്റെ പ്രവർത്തനം പൂർത്തിയാകുന്നതുവരെ സങ്കലന നോഡ് നിഷ്ക്രിയമായിരിക്കും. നൽകിയിരിക്കുന്ന അൽഗോരിതം സമാന്തരമായി പ്രോസസ്സ് ചെയ്യുന്ന ഒരു യന്ത്രം നിർമ്മിക്കാൻ കഴിയുമെന്ന പ്രസ്താവന തെളിയിക്കാൻ സാധിക്കും.

ഒരേസമയം പ്രവർത്തിക്കുമ്പോൾ, കമ്പ്യൂട്ടറിന്റെ ഒരൊറ്റ ക്ലോക്ക് സൈക്കിളിൽ ആവശ്യമുള്ള ഫലം നൽകുന്ന m പ്രോസസ്സറുകൾ നിർമ്മിക്കാൻ സാധിക്കും.

അത്തരം "മൾട്ടിപ്രൊസസ്സർ" മെഷീനുകൾ ഓരോ നിർദ്ദിഷ്ട അൽഗോരിതത്തിനും വേണ്ടി സൈദ്ധാന്തികമായി നിർമ്മിക്കുകയും അൽഗരിതങ്ങളുടെ തുടർച്ചയായ സ്വഭാവം "ബൈപാസ്" ചെയ്യുകയും ചെയ്യാം. എന്നിരുന്നാലും, എല്ലാം അത്ര ലളിതമല്ല - അനന്തമായി നിരവധി നിർദ്ദിഷ്ട അൽഗോരിതങ്ങൾ ഉണ്ട്, അതിനാൽ മുകളിൽ വികസിപ്പിച്ചെടുത്ത അമൂർത്തമായ ന്യായവാദം പ്രായോഗിക പ്രാധാന്യവുമായി നേരിട്ട് ബന്ധപ്പെട്ടിട്ടില്ല. അവയുടെ വികസനം സമാന്തരവൽക്കരണത്തിന്റെ സാധ്യതയെക്കുറിച്ച് ഞങ്ങളെ ബോധ്യപ്പെടുത്തി, പരിധിയില്ലാത്ത സമാന്തരത എന്ന ആശയത്തിന്റെ അടിസ്ഥാനം രൂപപ്പെടുത്തി, കമ്പ്യൂട്ടിംഗ് പരിതസ്ഥിതികൾ എന്ന് വിളിക്കപ്പെടുന്നവ നടപ്പിലാക്കുന്നത് പൊതുവായ വീക്ഷണകോണിൽ നിന്ന് പരിഗണിക്കുന്നത് സാധ്യമാക്കി - ഒരു നിർദ്ദിഷ്ട അൽഗോരിതത്തിനായി ഡൈനാമിക് കോൺഫിഗർ ചെയ്ത മൾട്ടിപ്രൊസസ്സർ സിസ്റ്റങ്ങൾ.

1.2.2 അമൂർത്ത സമാന്തര കമ്പ്യൂട്ടിംഗ് മോഡലുകൾ

ഹാർഡ്‌വെയറും എക്‌സിക്യൂഷൻ വിശദാംശങ്ങളും സംഗ്രഹിക്കുമ്പോൾ തന്നെ വ്യത്യസ്ത പ്രോഗ്രാമുകളുടെ എക്‌സിക്യൂഷൻ സമയങ്ങളെ ചിത്രീകരിക്കുന്നതിനും താരതമ്യപ്പെടുത്തുന്നതിനും സമാന്തര കമ്പ്യൂട്ടിംഗ് മോഡൽ ഉയർന്ന തലത്തിലുള്ള സമീപനം നൽകുന്നു. ആദ്യത്തെ പ്രധാന സമാന്തര കമ്പ്യൂട്ടിംഗ് മോഡൽ പാരലൽ റാൻഡം ആക്സസ് മെഷീൻ (PRAM) ആയിരുന്നു, ഇത് ഒരു പങ്കിട്ട മെമ്മറി മെഷീന്റെ അമൂർത്തീകരണം നൽകുന്നു (RAM - റാൻഡം ആക്സസ് മെഷീൻ മോഡലിന്റെ വിപുലീകരണമാണ് PRAM). ബിഎസ്പി (ബൾക്ക് സിൻക്രണസ് പാരലൽ) മോഡൽ പങ്കിട്ടതും വിതരണം ചെയ്തതുമായ മെമ്മറി അബ്‌സ്ട്രാക്ഷനുകൾ സംയോജിപ്പിക്കുന്നു. എല്ലാ പ്രോസസറുകളും നിർദ്ദേശങ്ങൾ സമന്വയത്തോടെ നടപ്പിലാക്കുമെന്ന് അനുമാനിക്കപ്പെടുന്നു; ഒരേ നിർദ്ദേശം നടപ്പിലാക്കുന്ന സാഹചര്യത്തിൽ, PRAM ഒരു അമൂർത്തമായ SIMD മെഷീനാണ് (SIMD - സിംഗിൾ ഇൻസ്ട്രക്ഷൻ സ്ട്രീം / മൾട്ടിപ്പിൾ ഡാറ്റ സ്ട്രീം - ഒന്നിലധികം ഡാറ്റ സ്ട്രീമിനൊപ്പം ഒരൊറ്റ നിർദ്ദേശ സ്ട്രീം), എന്നിരുന്നാലും, പ്രോസസ്സറുകൾക്ക് വ്യത്യസ്ത നിർദ്ദേശങ്ങൾ നടപ്പിലാക്കാൻ കഴിയും. മെമ്മറിയിൽ നിന്ന് വായന, മെമ്മറിയിലേക്ക് എഴുത്ത്, സാധാരണ ലോജിക്കൽ, ഗണിത പ്രവർത്തനങ്ങൾ എന്നിവയാണ് പ്രധാന കമാൻഡുകൾ.

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

അടിസ്ഥാന PRAM മോഡൽ ഒരേസമയം (ഈ സന്ദർഭത്തിൽ സമാന്തരമായി) വായിക്കുകയും എഴുതുകയും ചെയ്യുന്നതിനെ പിന്തുണയ്ക്കുന്നു. നിരവധി പ്രോസസ്സറുകൾ ഒരേസമയം പങ്കിട്ട മെമ്മറി ആക്‌സസ് ചെയ്യുമ്പോൾ വൈരുദ്ധ്യ സാഹചര്യങ്ങൾ ഒഴിവാക്കുന്നതിനുള്ള നിയമങ്ങൾ കണക്കിലെടുക്കുന്ന PRAM ഉപമോഡലുകൾ അറിയപ്പെടുന്നു.

പാരലൽ റാൻഡം ആക്‌സസ് മെഷീനുകൾ (PRAMs) ഉപയോഗിച്ച് പ്രവർത്തന ഘടകങ്ങളുടെ സർക്യൂട്ടുകളെ മാതൃകയാക്കാൻ ബ്രെന്റിന്റെ സിദ്ധാന്തം നിങ്ങളെ അനുവദിക്കുന്നു. പ്രവർത്തനപരമായ ഘടകങ്ങൾ ഒന്നുകിൽ 4 അടിസ്ഥാന ഘടകങ്ങളാകാം (ലോജിക്കൽ പ്രവർത്തനങ്ങൾ നടത്തുക NOT, AND, OR, XOR - നെഗേഷൻ, ലോജിക്കൽ AND, ലോജിക്കൽ അല്ലെങ്കിൽ എക്സ്ക്ലൂസീവ് അല്ലെങ്കിൽ യഥാക്രമം), കൂടുതൽ സങ്കീർണ്ണമായ NAND, NOR (AND-NOT, OR-NOT), കൂടാതെ ഏതെങ്കിലും സങ്കീർണ്ണതയും.

ഇനിപ്പറയുന്നവയിൽ, കാലതാമസം (അതായത്, പ്രതികരണ സമയം - ഇൻപുട്ടുകളിലെ മൂല്യങ്ങൾ സ്ഥാപിച്ചതിന് ശേഷം മൂലകത്തിന്റെ ഔട്ട്‌പുട്ടിൽ ഉദ്ദേശിച്ച സിഗ്നൽ മൂല്യങ്ങൾ ദൃശ്യമാകുന്ന സമയം) ഇതിന് തുല്യമാണെന്ന് അനുമാനിക്കപ്പെടുന്നു. എല്ലാ പ്രവർത്തന ഘടകങ്ങളും.

സൈക്കിളുകൾ രൂപപ്പെടാതെ ബന്ധിപ്പിച്ചിട്ടുള്ള ഫങ്ഷണൽ എലമെന്റുകളുടെ ഒരു സർക്യൂട്ട് ഞങ്ങൾ പരിഗണിക്കുന്നു (ഫങ്ഷണൽ മൂലകങ്ങൾക്ക് എത്രയോ ഇൻപുട്ടുകളുണ്ടെന്ന് ഞങ്ങൾ അനുമാനിക്കുന്നു, പക്ഷേ കൃത്യമായി ഒരു ഔട്ട്പുട്ട് - നിരവധി ഔട്ട്പുട്ടുകളുള്ള ഒരു ഘടകം ഒരൊറ്റ ഔട്ട്പുട്ട് ഉപയോഗിച്ച് നിരവധി ഘടകങ്ങൾ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാം). ഇൻപുട്ടുകളുടെ എണ്ണം മൂലകത്തിന്റെ ഇൻപുട്ട് പവർ നിർണ്ണയിക്കുന്നു, കൂടാതെ മൂലകത്തിന്റെ ഔട്ട്പുട്ട് ബന്ധിപ്പിച്ചിരിക്കുന്ന ഇൻപുട്ടുകളുടെ എണ്ണം അതിന്റെ ഔട്ട്പുട്ട് പവർ നിർണ്ണയിക്കുന്നു. ഉപയോഗിക്കുന്ന എല്ലാ മൂലകങ്ങളുടെയും ഇൻപുട്ട് പവറുകൾ മുകളിൽ നിന്ന് പരിമിതപ്പെടുത്തിയിട്ടുണ്ടെന്ന് സാധാരണയായി അനുമാനിക്കപ്പെടുന്നു, എന്നാൽ ഔട്ട്പുട്ട് പവറുകൾ ഏതെങ്കിലും ആകാം. ഒരു സർക്യൂട്ടിന്റെ വലുപ്പം അതിലെ മൂലകങ്ങളുടെ എണ്ണത്തെ സൂചിപ്പിക്കുന്നു; സർക്യൂട്ടിന്റെ ഇൻപുട്ടുകളിൽ നിന്ന് മൂലകത്തിന്റെ ഔട്ട്പുട്ടിലേക്കുള്ള പാതകളിലെ ഏറ്റവും വലിയ മൂലകങ്ങളെ ഈ മൂലകത്തിന്റെ ആഴം എന്ന് വിളിക്കുന്നു (സർക്യൂട്ടിന്റെ ആഴം തുല്യമാണ് അതിന്റെ ഘടക ഘടകങ്ങളുടെ ആഴങ്ങളിൽ ഏറ്റവും വലുത്).

ചിത്രം 1. ഒരു പാരലൽ റാൻഡം ആക്സസ് മെഷീൻ (PRAM മെഷീൻ) ഉപയോഗിക്കുന്ന രണ്ട് പ്രൊസസറുകളുള്ള ഒരു സൈസ് 15, ഡെപ്ത് 5 സർക്യൂട്ട് സിമുലേഷൻ

ഒരു സർക്യൂട്ട് ഡെപ്‌ത് (ഓരോ ഡെപ്‌ത് ലെവലിലെയും മൂലകങ്ങളുടെ പരമാവധി എണ്ണം) d=5 പ്രോസസറുകളുടെ എണ്ണം p=2 (ഒരേസമയം അനുകരിച്ച ഘടകങ്ങൾ ചതുരാകൃതിയിലുള്ള പ്രദേശങ്ങൾ ഉപയോഗിച്ച് ഗ്രൂപ്പുകളായി സംയോജിപ്പിച്ച്, ഓരോ ഗ്രൂപ്പിനും അതിന്റെ ഘടകങ്ങൾ മാതൃകയാക്കുന്ന ഘട്ടം സൂചിപ്പിക്കുന്നു; ഓരോ ആഴത്തിലും p കഷണങ്ങൾ ഒരു സമയം, ആഴം വർദ്ധിക്കുന്ന ക്രമത്തിൽ മോഡൽ മുകളിൽ നിന്ന് താഴേക്ക് തുടർച്ചയായി സംഭവിക്കുന്നു). ബ്രെന്റിന്റെ സിദ്ധാന്തമനുസരിച്ച്, അത്തരം ഒരു സ്കീമിനെ മാതൃകയാക്കുന്നതിന് ceil(15/2+1)=9 ചുവടുകളേക്കാൾ കൂടുതൽ എടുക്കില്ല.

റഷ്യൻ ഫെഡറേഷന്റെ വിദ്യാഭ്യാസ, ശാസ്ത്ര മന്ത്രാലയം

FSBEI HPE "ബ്രയാൻസ്ക് സ്റ്റേറ്റ് എഞ്ചിനീയറിംഗ് ആൻഡ് ടെക്നോളജിക്കൽ

അക്കാദമി"

ഇൻഫർമേഷൻ ടെക്നോളജി വകുപ്പ്

വിവരങ്ങളുടെ ക്രമവും സമാന്തരവുമായ പ്രോസസ്സിംഗ്

കണക്കുകൂട്ടലും ഗ്രാഫിക് ജോലിയും നമ്പർ 1

അച്ചടക്കത്തിലൂടെ

"വിവര സംസ്കരണ സാങ്കേതികവിദ്യകൾ"

ഓപ്ഷൻ നമ്പർ 16

RGR-02068025.230400.084

ബ്രയാൻസ്ക് 2015

ആമുഖം 3

സമാന്തര വിവര പ്രോസസ്സിംഗ് 4

പങ്കിട്ട മെമ്മറി സിസ്റ്റങ്ങൾ 6

സമാന്തര SQL പ്രോസസ്സിംഗ് 7

തുടർച്ചയായ വിവര പ്രോസസ്സിംഗ് 9

10 ലളിതമായ ബാച്ച് സിസ്റ്റങ്ങൾ

പരാമർശങ്ങൾ 13

ആമുഖം

ഈ കമ്പ്യൂട്ടേഷണൽ, ഗ്രാഫിക്കൽ പഠനം തുടർച്ചയായതും സമാന്തരവുമായ വിവര പ്രോസസ്സിംഗ് പരിശോധിക്കുന്നു. അവയിൽ ഓരോന്നിനും ഉദാഹരണങ്ങൾ നൽകിയിരിക്കുന്നു.

സീക്വൻഷ്യൽ ഇൻഫർമേഷൻ പ്രോസസ്സിംഗ് എന്നത് ഇൻപുട്ടിൽ നിന്ന് ഔട്ട്‌പുട്ടിലേക്ക് ഒരു പരിവർത്തന പരമ്പരയിലൂടെ (ഘട്ടങ്ങൾ) തുടർച്ചയായി കടന്നുപോകുന്നു മുമ്പത്തെ ബ്ലോക്കിൽ നിന്ന് മാത്രമേ അതിലേക്ക് വരുന്നത്.

സമാന്തര വിവര പ്രോസസ്സിംഗ് എന്നത് വിവര പ്രോസസ്സിംഗിന്റെ ഒരു മാതൃകയാണ്, അതനുസരിച്ച് വിവരങ്ങൾ ചില ഫംഗ്ഷണൽ ബ്ലോക്കുകളിൽ പരിവർത്തനങ്ങളുടെ ഒരു പരമ്പരയ്ക്ക് വിധേയമാകുന്നു, അതിനാൽ ഏത് സമയത്തും അത് ഒരേസമയം (സമാന്തരമായി) നിരവധി ബ്ലോക്കുകളിൽ പ്രോസസ്സ് ചെയ്യുന്നു.

സമാന്തര വിവര പ്രോസസ്സിംഗ്

സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ്, നിരവധി പ്രവർത്തനങ്ങൾ ഒരേസമയം നടപ്പിലാക്കുക എന്ന ആശയം ഉൾക്കൊള്ളുന്നു, രണ്ട് തരങ്ങളുണ്ട്: പൈപ്പ്ലൈൻ, സമാന്തരത്വം.

സമാന്തര പ്രോസസ്സിംഗ്. ഒരു നിശ്ചിത ഉപകരണം ഒരു യൂണിറ്റ് സമയത്തിന് ഒരു പ്രവർത്തനം നടത്തുകയാണെങ്കിൽ, അത് ആയിരം യൂണിറ്റുകളിൽ ആയിരം പ്രവർത്തനങ്ങൾ നടത്തും. ഒരേസമയം പ്രവർത്തിക്കാൻ കഴിയുന്ന അഞ്ച് സമാന സ്വതന്ത്ര ഉപകരണങ്ങൾ ഉണ്ടെന്ന് ഞങ്ങൾ അനുമാനിക്കുകയാണെങ്കിൽ, അഞ്ച് ഉപകരണങ്ങളുടെ ഒരു സിസ്റ്റത്തിന് ഒരേ ആയിരം പ്രവർത്തനങ്ങൾ ആയിരത്തിലല്ല, ഇരുനൂറ് യൂണിറ്റുകൾക്കുള്ളിൽ ചെയ്യാൻ കഴിയും. അതുപോലെ, N ഉപകരണങ്ങളുടെ ഒരു സിസ്റ്റം 1000/N യൂണിറ്റ് സമയത്തിനുള്ളിൽ ഒരേ ജോലി നിർവഹിക്കും. ജീവിതത്തിൽ സമാനമായ സമാനതകൾ കണ്ടെത്താൻ കഴിയും: ഒരു സൈനികൻ 10 മണിക്കൂറിനുള്ളിൽ ഒരു പൂന്തോട്ടം കുഴിച്ചാൽ, ഒരേ കഴിവുള്ള അമ്പത് സൈനികരുടെ ഒരു കമ്പനി, ഒരേസമയം പ്രവർത്തിക്കുന്ന, അതേ ജോലിയെ 12 മിനിറ്റിനുള്ളിൽ നേരിടും - പ്രവർത്തനത്തിലെ സമാന്തരതയുടെ തത്വം!

കൺവെയർ പ്രോസസ്സിംഗ്. ഫ്ലോട്ടിംഗ് പോയിന്റ് രൂപത്തിൽ പ്രതിനിധീകരിക്കുന്ന രണ്ട് യഥാർത്ഥ സംഖ്യകൾ ചേർക്കാൻ എന്താണ് വേണ്ടത്? ഓർഡറുകൾ താരതമ്യം ചെയ്യുക, ഓർഡറുകൾ വിന്യസിക്കുക, മാന്റിസകൾ ചേർക്കുക, നോർമലൈസ് ചെയ്യുക തുടങ്ങിയ നിരവധി ചെറിയ പ്രവർത്തനങ്ങൾ. ആദ്യ കമ്പ്യൂട്ടറുകളുടെ പ്രോസസറുകൾ ഓരോ ജോഡി ആർഗ്യുമെന്റുകൾക്കും ഒന്നിനുപുറകെ ഒന്നായി ഈ "മൈക്രോ-ഓപ്പറേഷനുകളെല്ലാം" നടത്തി, അവ അന്തിമഫലത്തിൽ എത്തുന്നതുവരെ, അതിനുശേഷം മാത്രമേ അടുത്ത ജോഡി നിബന്ധനകൾ പ്രോസസ്സ് ചെയ്യുന്നുള്ളൂ.

പൈപ്പ്ലൈൻ പ്രോസസ്സിംഗ് എന്ന ആശയം ഒരു പൊതു പ്രവർത്തനത്തിന്റെ വ്യക്തിഗത ഘട്ടങ്ങൾ വേർതിരിച്ചെടുക്കുക എന്നതാണ്, കൂടാതെ ഓരോ ഘട്ടവും അതിന്റെ ജോലി പൂർത്തിയാക്കിയ ശേഷം അടുത്തതിലേക്ക് ഫലം കൈമാറും, അതേസമയം ഇൻപുട്ട് ഡാറ്റയുടെ ഒരു പുതിയ ഭാഗം സ്വീകരിക്കുന്നു. മുമ്പ് സ്‌പെയ്‌സ് ചെയ്‌ത പ്രവർത്തനങ്ങൾ സംയോജിപ്പിച്ച് പ്രോസസ്സിംഗ് വേഗതയിൽ ഞങ്ങൾക്ക് വ്യക്തമായ നേട്ടം ലഭിക്കും. ഒരു ഓപ്പറേഷനിൽ അഞ്ച് മൈക്രോ ഓപ്പറേഷനുകൾ ഉണ്ടെന്ന് നമുക്ക് അനുമാനിക്കാം, അവ ഓരോന്നും ഒരു യൂണിറ്റ് സമയത്തിൽ നടത്തുന്നു. ഒരു അവിഭാജ്യ സീരിയൽ ഉപകരണം ഉണ്ടെങ്കിൽ, അത് 500 യൂണിറ്റുകളിൽ 100 ​​ജോഡി ആർഗ്യുമെന്റുകൾ പ്രോസസ്സ് ചെയ്യും. ഓരോ മൈക്രോ ഓപ്പറേഷനും ഒരു കൺവെയർ ഉപകരണത്തിന്റെ ഒരു പ്രത്യേക ഘട്ടമായി (അല്ലെങ്കിൽ ഒരു ഘട്ടം എന്ന് വിളിക്കപ്പെടുന്നു) വേർതിരിക്കുകയാണെങ്കിൽ, അഞ്ചാമത്തെ യൂണിറ്റിൽ, അത്തരമൊരു ഉപകരണത്തിന്റെ പ്രോസസ്സിംഗിന്റെ വിവിധ ഘട്ടങ്ങളിൽ, ആദ്യത്തെ അഞ്ച് ജോഡി ആർഗ്യുമെന്റുകൾ സ്ഥിതിചെയ്യും. , കൂടാതെ നൂറ് ജോഡികളുടെ മുഴുവൻ സെറ്റും 5 + 99 = 104 യൂണിറ്റ് സമയത്തിനുള്ളിൽ പ്രോസസ്സ് ചെയ്യപ്പെടും - ഒരു സീരിയൽ ഉപകരണവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ത്വരണം ഏകദേശം അഞ്ച് മടങ്ങാണ് (കൺവെയർ ഘട്ടങ്ങളുടെ എണ്ണം അനുസരിച്ച്).

പൈപ്പ്‌ലൈൻ പ്രോസസ്സിംഗ് വിജയകരമായി സാധാരണ സമാന്തരത ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാൻ കഴിയുമെന്ന് തോന്നുന്നു, ഇതിനായി പൈപ്പ്ലൈനിന്റെ ഘട്ടങ്ങളുടെ എണ്ണം എത്ര തവണ വേണമെങ്കിലും ഞങ്ങൾ പ്രധാന ഉപകരണം ഡ്യൂപ്ലിക്കേറ്റ് ചെയ്യുന്നു. വാസ്തവത്തിൽ, മുമ്പത്തെ ഉദാഹരണത്തിലെ അഞ്ച് ഉപകരണങ്ങൾ 100 യൂണിറ്റ് സമയത്തിനുള്ളിൽ 100 ​​ജോഡി ആർഗ്യുമെന്റുകൾ പ്രോസസ്സ് ചെയ്യും, ഇത് കൺവെയർ ഉപകരണത്തിന്റെ പ്രവർത്തന സമയത്തേക്കാൾ വേഗതയുള്ളതാണ്! അങ്ങനെ, ഉപകരണങ്ങളുടെ എണ്ണം അഞ്ചിരട്ടി വർദ്ധിപ്പിക്കുന്നതിലൂടെ, ഞങ്ങൾ ഉപകരണങ്ങളുടെ അളവും അതിന്റെ വിലയും ഗണ്യമായി വർദ്ധിപ്പിക്കുന്നു. കാർ ഉൽപ്പാദന നിരക്ക് നിലനിർത്തിക്കൊണ്ട് അസംബ്ലി ലൈൻ നീക്കം ചെയ്യാൻ ഒരു കാർ പ്ലാന്റ് തീരുമാനിച്ചതായി സങ്കൽപ്പിക്കുക. മുമ്പ് ഒരേ സമയം അസംബ്ലി ലൈനിൽ ആയിരം കാറുകൾ ഉണ്ടായിരുന്നുവെങ്കിൽ, മുമ്പത്തെ ഉദാഹരണവുമായി സാമ്യമുള്ളതിനാൽ, ആയിരം ടീമുകളെ റിക്രൂട്ട് ചെയ്യേണ്ടത് ആവശ്യമാണ്, അവയിൽ ഓരോന്നിനും തുടക്കം മുതൽ അവസാനം വരെ കാർ പൂർണ്ണമായും കൂട്ടിച്ചേർക്കാൻ കഴിയും, നൂറുകണക്കിന് വ്യത്യസ്ത തരത്തിലുള്ള പ്രവർത്തനങ്ങൾ നടത്തുന്നു, മുമ്പ് കാർ അസംബ്ലി ലൈനിലുണ്ടായിരുന്ന അതേ സമയം തന്നെ ഇത് ചെയ്യുക.

ഇന്ന്, കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിലെ സമാന്തരത കുറച്ച് ആളുകളെ അത്ഭുതപ്പെടുത്തും. എല്ലാ ആധുനിക മൈക്രോപ്രൊസസ്സറുകളും ഏതെങ്കിലും തരത്തിലുള്ള സമാന്തര പ്രോസസ്സിംഗ് ഉപയോഗിക്കുന്നു. പെന്റിയം 4 കോറിൽ, 126 മൈക്രോ ഓപ്പറേഷനുകൾ വരെ നിർവ്വഹണത്തിന്റെ വിവിധ ഘട്ടങ്ങളിൽ ഒരേസമയം നടത്താം. അതേ സമയം, ഈ ആശയങ്ങൾ തന്നെ വളരെക്കാലം മുമ്പ് പ്രത്യക്ഷപ്പെട്ടു. തുടക്കത്തിൽ, അവ അവരുടെ കാലത്തെ ഏറ്റവും വികസിതവും അതിനാൽ ഒറ്റതുമായ കമ്പ്യൂട്ടറുകളിൽ നടപ്പിലാക്കി. പിന്നീട്, സാങ്കേതികവിദ്യയുടെ ശരിയായ വികസനത്തിനും വിലകുറഞ്ഞ ഉൽപ്പാദനത്തിനും ശേഷം, അവർ മധ്യവർഗ കമ്പ്യൂട്ടറുകളിലേക്ക് ഇറങ്ങി, ഒടുവിൽ ഇന്ന് ഇതെല്ലാം വർക്ക്സ്റ്റേഷനുകളിലും പേഴ്സണൽ കമ്പ്യൂട്ടറുകളിലും പൂർണ്ണമായും ഉൾക്കൊള്ളുന്നു.

സിംഗിൾ-പ്രോസസർ കമ്പ്യൂട്ടർ സിസ്റ്റങ്ങളിൽ പ്രവർത്തിക്കുന്ന പല ആപ്ലിക്കേഷനുകളുടെയും പ്രകടനം സമാന്തര പ്രോസസ്സിംഗ് ടൂളുകൾ ഉപയോഗിച്ച് ഗണ്യമായി മെച്ചപ്പെടുത്താൻ കഴിയും. സമാന്തര പ്രോസസ്സിംഗിന്റെയും മൾട്ടിപ്രോസസർ കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിന്റെയും അടിസ്ഥാന ആശയങ്ങൾ ഇനിപ്പറയുന്നവ അവതരിപ്പിക്കുന്നു.

ഒന്നിലധികം ആപ്ലിക്കേഷനുകൾ അവരുടെ ജോലികൾ ഒരൊറ്റ പ്രോസസർ കമ്പ്യൂട്ടറിൽ പ്രോസസ്സ് ചെയ്യാൻ അഭ്യർത്ഥിക്കുമ്പോൾ, അതിന്റെ ഒരൊറ്റ പ്രോസസർ എല്ലാ ജോലികളും ചെയ്യേണ്ടതുണ്ട്. സമാന്തര പ്രോസസ്സിംഗിന്റെ ഉദ്ദേശ്യം സാധാരണയായി ആപ്ലിക്കേഷൻ പ്രകടനം മെച്ചപ്പെടുത്തുക എന്നതാണ്. ഒരു ആപ്ലിക്കേഷൻ ഒരു മൾട്ടിപ്രൊസസർ കമ്പ്യൂട്ടറിലേക്ക് ജോലി അഭ്യർത്ഥന നൽകുമ്പോൾ, കമ്പ്യൂട്ടർ ജോലിയെ ലോജിക്കൽ സബ് ടാസ്‌ക്കുകളായി വിഭജിക്കുകയും തുടർന്ന് സമാന്തരമായി ഒന്നിലധികം പ്രോസസ്സറുകൾ ഉപയോഗിച്ച് അവയെ പ്രോസസ്സ് ചെയ്യുകയും ജോലി പൂർത്തിയാക്കാൻ എടുക്കുന്ന സമയം കുറയ്ക്കുകയും ചെയ്യുന്നു. ഒരു വലിയ ടാസ്‌ക് വിഭജിക്കുന്നതിലൂടെ ഉണ്ടാകുന്ന ഉപടാസ്കുകളുടെ എണ്ണത്തെ സമാന്തരതയുടെ അളവ് എന്ന് വിളിക്കുന്നു . ഒരു ടാസ്‌ക് പൂർത്തിയാക്കാൻ ആവശ്യമായ വിവര പ്രോസസ്സിംഗ് സമയത്തിലെ കുറവ് സമാന്തരതയുടെ അളവിന് നേരിട്ട് ആനുപാതികമാണ്. സിസ്റ്റത്തിലെ ഓരോ പ്രോസസറിന്റെയും പരമാവധി പ്രകടനം ഉറപ്പാക്കുന്ന തരത്തിൽ സമാന്തര പ്രോസസ്സിംഗ് ഉള്ള സിസ്റ്റങ്ങളുടെ പ്രകടനം വർദ്ധിപ്പിക്കാൻ അവർ ശ്രമിക്കുന്നു.

ലളിതമായ കണക്കുകൂട്ടലുകൾ കാണിക്കുന്നത് അത്തരം സിസ്റ്റങ്ങളുടെ കോൺഫിഗറേഷനുകൾക്ക് ഒരു മില്യൺ യുഎസ് ഡോളറിലധികം ചിലവാകും - വിനോദത്തിനായി, 4 ടിബി റാം മാത്രം എത്രയാണെന്ന് കണ്ടെത്തുക? നിരവധി സ്വാഭാവിക ചോദ്യങ്ങൾ ഉയർന്നുവരുന്നു: മൾട്ടിമില്യൺ ഡോളർ കമ്പ്യൂട്ടറുകൾ ആവശ്യമായി വരുന്ന പ്രധാന ജോലികൾ ഏതാണ്? അല്ലെങ്കിൽ, ഒരു നല്ല പെന്റിയം മതിയാകാത്തവിധം സങ്കീർണ്ണമായ ജോലികൾ ഏതാണ്? ഇവയ്ക്കും സമാനമായ ചോദ്യങ്ങൾക്കും ന്യായമായ ഉത്തരങ്ങൾ കണ്ടെത്താൻ ഞാൻ ആഗ്രഹിക്കുന്നു.

പ്രായോഗികമായി പരിഹരിച്ച പ്രശ്നങ്ങളുടെ സങ്കീർണ്ണത വിലയിരുത്തുന്നതിന്, നമുക്ക് ഒരു പ്രത്യേക വിഷയ മേഖല എടുക്കാം, ഉദാഹരണത്തിന്, എണ്ണ ഉൽപാദന പ്രക്രിയയുടെ ഒപ്റ്റിമൈസേഷൻ. ഞങ്ങൾക്ക് ഒരു നിശ്ചിത എണ്ണം കുഴിച്ച കിണറുകളുള്ള ഒരു ഭൂഗർഭ എണ്ണ സംഭരണി ഉണ്ട്: ഒന്ന് ഉപരിതലത്തിലേക്ക് എണ്ണ പമ്പ് ചെയ്യുന്നു, മറ്റൊന്ന് വെള്ളം തിരികെ പമ്പ് ചെയ്യുന്നു. എണ്ണ ശേഖരം കണക്കാക്കുന്നതിനോ അധിക കിണറുകളുടെ ആവശ്യകത മനസ്സിലാക്കുന്നതിനോ തന്നിരിക്കുന്ന റിസർവോയറിലെ സാഹചര്യം അനുകരിക്കേണ്ടത് ആവശ്യമാണ്.

മാതൃകാ പ്രദേശം ഒരു ക്യൂബിലേക്ക് മാപ്പ് ചെയ്യുന്ന ലളിതമായ ഒരു സ്കീം ഞങ്ങൾ അംഗീകരിക്കും; എന്നിരുന്നാലും, ആവശ്യമായ ഗണിത പ്രവർത്തനങ്ങളുടെ എണ്ണം കണക്കാക്കാൻ ഇത് മതിയാകും. 100*100*100 പോയിന്റുകളാണ് ന്യായമായ ക്യൂബ് വലുപ്പങ്ങൾ, വിശ്വസനീയമായ ഫലങ്ങൾ ലഭിക്കും. ക്യൂബിന്റെ ഓരോ പോയിന്റിലും, 5 മുതൽ 20 വരെ ഫംഗ്ഷനുകൾ കണക്കാക്കേണ്ടത് ആവശ്യമാണ്: വേഗത, മർദ്ദം, താപനില, ഘടകങ്ങളുടെ സാന്ദ്രത എന്നിവയുടെ മൂന്ന് ഘടകങ്ങൾ (വെള്ളം, വാതകം, എണ്ണ - ഇതാണ് ഏറ്റവും കുറഞ്ഞ ഘടകങ്ങളുടെ കൂട്ടം; കൂടുതൽ യഥാർത്ഥ മോഡലുകളിൽ, ഉദാഹരണത്തിന്, എണ്ണയുടെ വിവിധ ഭാഗങ്ങൾ പരിഗണിക്കപ്പെടുന്നു). കൂടാതെ, രേഖീയമല്ലാത്ത സമവാക്യങ്ങൾ പരിഹരിക്കുന്നതിലൂടെ ഫംഗ്ഷനുകളുടെ മൂല്യങ്ങൾ കണ്ടെത്തുന്നു, ഇതിന് 200 മുതൽ 1000 വരെ ഗണിത പ്രവർത്തനങ്ങൾ ആവശ്യമാണ്. അവസാനമായി, ഒരു നോൺ-സ്റ്റേഷണറി പ്രോസസ്സ് പഠിക്കുകയാണെങ്കിൽ, അതായത്. ഈ സിസ്റ്റം കൃത്യസമയത്ത് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നിങ്ങൾ മനസ്സിലാക്കേണ്ടതുണ്ട്, തുടർന്ന് 100-1000 സമയ ഘട്ടങ്ങൾ എടുക്കുന്നു. എന്ത് സംഭവിച്ചു:

10 6 (ഗ്രിഡ് പോയിന്റുകൾ)*10(പ്രവർത്തനങ്ങൾ)*500(പ്രവർത്തനങ്ങൾ)*500(സമയ ഘട്ടങ്ങൾ) = 2.5*10 12

2500 ബില്യൺഒരു കണക്കുകൂട്ടൽ നടത്താനുള്ള ഗണിത പ്രവർത്തനങ്ങൾ! മോഡൽ പാരാമീറ്ററുകൾ മാറ്റുന്നതിനെക്കുറിച്ച്? ഇൻപുട്ട് ഡാറ്റ മാറുമ്പോൾ നിലവിലെ സാഹചര്യം ട്രാക്ക് ചെയ്യുന്നതിനെക്കുറിച്ച്? അത്തരം കണക്കുകൂട്ടലുകൾ പലതവണ ചെയ്യണം, ഇത് ഉപയോഗിക്കുന്ന കമ്പ്യൂട്ടിംഗ് സിസ്റ്റങ്ങളുടെ പ്രകടനത്തിൽ വളരെ കർശനമായ ആവശ്യകതകൾ ചുമത്തുന്നു.

എണ്ണ വ്യവസായത്തിൽ മാത്രമല്ല സൂപ്പർ കമ്പ്യൂട്ടറുകളുടെ ഉപയോഗത്തിന്റെ ഉദാഹരണങ്ങൾ കണ്ടെത്താൻ കഴിയും. സൂപ്പർകമ്പ്യൂട്ടറുകളുടെ ഉപയോഗം ശരിക്കും ആവശ്യമുള്ള മനുഷ്യ പ്രവർത്തനങ്ങളുടെ ഒരു ചെറിയ ലിസ്റ്റ് ഇതാ:

  • ഓട്ടോമോട്ടീവ് വ്യവസായം
  • എണ്ണ, വാതക ഉത്പാദനം
  • ഔഷധശാസ്ത്രം
  • കാലാവസ്ഥാ പ്രവചനവും കാലാവസ്ഥാ വ്യതിയാന മോഡലിംഗും
  • ഭൂകമ്പ സർവേ
  • ഇലക്ട്രോണിക് ഉപകരണ രൂപകൽപ്പന
  • പുതിയ വസ്തുക്കളുടെ സമന്വയം
  • കൂടാതെ പലതും മറ്റു പലതും

1995-ൽ, നിസ്സാൻ മാക്‌സിമയുടെ ബോഡി ഒരു ക്രേ സൂപ്പർകമ്പ്യൂട്ടറിന്റെ ഉപയോഗത്താൽ 10% ശക്തമാക്കി (അറ്റ്ലാന്റ ജേർണൽ, മെയ് 28, 1995). അതിന്റെ സഹായത്തോടെ, ശരീരത്തിന്റെ ദുർബലമായ പോയിന്റുകൾ മാത്രമല്ല, അവ നീക്കം ചെയ്യുന്നതിനുള്ള ഏറ്റവും ഫലപ്രദമായ മാർഗ്ഗവും കണ്ടെത്തി.

മാർക്ക് മില്ലർ (ഫോർഡ് മോട്ടോർ കമ്പനി) പറയുന്നതനുസരിച്ച്, ക്രാഷ് ടെസ്റ്റുകൾ നടത്തുന്നതിന്, യഥാർത്ഥ കാറുകൾ കോൺക്രീറ്റ് ഭിത്തിയിൽ ഇടിക്കുമ്പോൾ, ഒരേസമയം ആവശ്യമായ പാരാമീറ്ററുകൾ അളക്കുകയും ചിത്രീകരിക്കുകയും ഫലങ്ങൾ പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യുമ്പോൾ, ഫോർഡിന് 10 മുതൽ 150 വരെ പുതിയ മോഡലുകളുടെ പ്രോട്ടോടൈപ്പുകൾ ആവശ്യമാണ്. മൊത്തം ചെലവ് $4 ദശലക്ഷം മുതൽ $60 ദശലക്ഷം വരെയാണ്. സൂപ്പർ കമ്പ്യൂട്ടറുകളുടെ ഉപയോഗം പ്രോട്ടോടൈപ്പുകളുടെ എണ്ണം മൂന്നിലൊന്നായി കുറച്ചു.

നൂറിലധികം രാജ്യങ്ങളിലായി 180,000 ടെർമിനലുകളുള്ള ആയിരക്കണക്കിന് ഏജൻസികൾ ഉപയോഗിക്കുന്ന ലോകത്തിലെ ഏറ്റവും വലിയ റിസർവേഷൻ സംവിധാനങ്ങളിലൊന്നായ അമേഡിയസിന്റെ വികസനം വളരെ സമീപകാല ഉദാഹരണമാണ്. 12 പ്രോസസറുകൾ വീതമുള്ള രണ്ട് Hewlett-Packard T600 സെർവറുകൾ സ്ഥാപിക്കുന്നത് പ്രതിദിനം 60 ദശലക്ഷം അഭ്യർത്ഥനകളുടെ നിലവിലെ ലോഡ് ഉപയോഗിച്ച് സെൻട്രൽ സിസ്റ്റത്തിന്റെ പ്രവർത്തന ലഭ്യത 99.85% ആയി വർദ്ധിപ്പിക്കാൻ സാധ്യമാക്കി.

കൂടാതെ സമാനമായ ഉദാഹരണങ്ങൾ എല്ലായിടത്തും കാണാം. ഒരു കാലത്ത്, ഡ്യുപോണ്ട് ഗവേഷകർ ക്ലോറോഫ്ലൂറോകാർബണിന് പകരമായി തിരയുകയായിരുന്നു. ഒരേ പോസിറ്റീവ് ഗുണങ്ങളുള്ള ഒരു മെറ്റീരിയൽ കണ്ടെത്തേണ്ടത് ആവശ്യമാണ്: തീപിടിക്കാത്തത്, നാശന പ്രതിരോധം, കുറഞ്ഞ വിഷാംശം, എന്നാൽ ഭൂമിയുടെ ഓസോൺ പാളിയിൽ ദോഷകരമായ ഫലങ്ങൾ ഇല്ലാതെ. ഒരാഴ്‌ചയ്‌ക്കുള്ളിൽ, ഏകദേശം 5 ആയിരം ഡോളർ വിലയുള്ള ഒരു സൂപ്പർ കമ്പ്യൂട്ടറിൽ ആവശ്യമായ കണക്കുകൂട്ടലുകൾ നടത്തി. DuPont വിദഗ്ധരുടെ അഭിപ്രായത്തിൽ, പരമ്പരാഗത പരീക്ഷണാത്മക ഗവേഷണ രീതികളുടെ ഉപയോഗത്തിന് ഏകദേശം മൂന്ന് മാസവും 50 ആയിരം ഡോളറും വേണ്ടിവരും, കൂടാതെ ആവശ്യമായ പദാർത്ഥത്തിന്റെ സമന്വയത്തിനും ശുദ്ധീകരണത്തിനും ആവശ്യമായ സമയം ഇത് കണക്കിലെടുക്കുന്നില്ല.

എന്ത് കാരണത്താലാണ് കമ്പ്യൂട്ടർ പ്രകടനം വർദ്ധിക്കുന്നത്?

എന്തുകൊണ്ടാണ് സൂപ്പർ കമ്പ്യൂട്ടറുകൾ ഇത്ര പെട്ടെന്ന് കണക്കുകൂട്ടുന്നത്? നിരവധി ഉത്തര ഓപ്ഷനുകൾ ഉണ്ടാകാം, അവയിൽ രണ്ടിന് വ്യക്തമായ നേട്ടമുണ്ട്: മൂലക അടിത്തറയുടെ വികസനവും കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിലെ പുതിയ പരിഹാരങ്ങളുടെ ഉപയോഗവും.

റെക്കോർഡ് പ്രകടനം കൈവരിക്കുന്നതിന് ഈ ഘടകങ്ങളിൽ ഏതാണ് നിർണ്ണായകമെന്ന് കണ്ടുപിടിക്കാൻ ശ്രമിക്കാം. അറിയപ്പെടുന്ന ചരിത്ര വസ്തുതകളിലേക്ക് നമുക്ക് തിരിയാം. ലോകത്തിലെ ആദ്യത്തെ കമ്പ്യൂട്ടറുകളിലൊന്നായ - EDSAC, 1949-ൽ കേംബ്രിഡ്ജിൽ പ്രത്യക്ഷപ്പെട്ട് 2 മൈക്രോസെക്കൻഡ് (2 * 10-6 സെക്കൻഡ്) ക്ലോക്ക് സമയം ഉണ്ടായിരുന്നു, 18 * n മില്ലിസെക്കൻഡിൽ 2 * n ഗണിത പ്രവർത്തനങ്ങൾ നടത്താൻ സാധിച്ചു. , അതായത്, സെക്കൻഡിൽ ശരാശരി 100 ഗണിത പ്രവർത്തനങ്ങൾ. ഒരു ആധുനിക ഹ്യൂലറ്റ്-പാക്കാർഡ് V2600 സൂപ്പർ കമ്പ്യൂട്ടറിന്റെ ഒരു കമ്പ്യൂട്ടിംഗ് നോഡുമായി താരതമ്യം ചെയ്യാം: ക്ലോക്ക് സമയം ഏകദേശം 1.8 നാനോ സെക്കൻഡ് (1.8 * 10-9 സെക്കൻഡ്) ആണ്, ഏറ്റവും ഉയർന്ന പ്രകടനം സെക്കൻഡിൽ 77 ബില്യൺ ഗണിത പ്രവർത്തനങ്ങളാണ്.

എന്ത് സംഭവിക്കുന്നു? അരനൂറ്റാണ്ടിനിടയിൽ, കമ്പ്യൂട്ടർ പ്രകടനം കൂടുതൽ വർദ്ധിച്ചു എഴുനൂറ് ദശലക്ഷംഒരിക്കല്. അതേ സമയം, ക്ലോക്ക് സൈക്കിൾ സമയം 2 മൈക്രോസെക്കൻഡിൽ നിന്ന് 1.8 നാനോ സെക്കൻഡായി കുറയ്ക്കുന്നതുമായി ബന്ധപ്പെട്ട പ്രകടന നേട്ടം ഏകദേശം 1000 മടങ്ങ് മാത്രമാണ്. ബാക്കിയുള്ളവ എവിടെ നിന്ന് വന്നു? ഉത്തരം വ്യക്തമാണ് - കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിലെ പുതിയ പരിഹാരങ്ങളുടെ ഉപയോഗം. അവയിൽ പ്രധാന സ്ഥാനം സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ് തത്വമാണ്, ഇത് നിരവധി പ്രവർത്തനങ്ങളുടെ ഒരേസമയം (സമാന്തര) നിർവ്വഹണം എന്ന ആശയം ഉൾക്കൊള്ളുന്നു.

ഒരു കമ്പ്യൂട്ടറിൽ സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ്

സമാന്തര ഡാറ്റ പ്രോസസ്സിംഗ്, നിരവധി പ്രവർത്തനങ്ങൾ ഒരേസമയം നടപ്പിലാക്കുക എന്ന ആശയം ഉൾക്കൊള്ളുന്നു, രണ്ട് തരങ്ങളുണ്ട്: പൈപ്പ്ലൈൻ, യഥാർത്ഥ സമാന്തരത്വം. രണ്ട് തരത്തിലുള്ള സമാന്തര പ്രോസസ്സിംഗും അവബോധജന്യമാണ്, അതിനാൽ ഞങ്ങൾ ചെറിയ വിശദീകരണങ്ങൾ മാത്രമേ നൽകൂ.

സമാന്തര പ്രോസസ്സിംഗ്. ഒരു നിശ്ചിത ഉപകരണം ഒരു യൂണിറ്റ് സമയത്തിന് ഒരു പ്രവർത്തനം നടത്തുകയാണെങ്കിൽ, അത് ആയിരം യൂണിറ്റുകളിൽ ആയിരം പ്രവർത്തനങ്ങൾ നടത്തും. ഒരേസമയം പ്രവർത്തിക്കാൻ കഴിയുന്ന അഞ്ച് സമാന സ്വതന്ത്ര ഉപകരണങ്ങൾ ഉണ്ടെന്ന് ഞങ്ങൾ അനുമാനിക്കുകയാണെങ്കിൽ, അഞ്ച് ഉപകരണങ്ങളുടെ ഒരു സിസ്റ്റത്തിന് ഒരേ ആയിരം പ്രവർത്തനങ്ങൾ ആയിരത്തിലല്ല, ഇരുനൂറ് യൂണിറ്റുകൾക്കുള്ളിൽ ചെയ്യാൻ കഴിയും. അതുപോലെ, N ഉപകരണങ്ങളുടെ ഒരു സിസ്റ്റം 1000/N യൂണിറ്റ് സമയത്തിനുള്ളിൽ ഒരേ ജോലി നിർവഹിക്കും. ജീവിതത്തിൽ സമാനമായ സാമ്യങ്ങൾ കണ്ടെത്താൻ കഴിയും: ഒരു സൈനികൻ 10 മണിക്കൂറിനുള്ളിൽ ഒരു പൂന്തോട്ടം കുഴിച്ചാൽ, ഒരേ കഴിവുള്ള അമ്പത് സൈനികരുടെ ഒരു കമ്പനി, ഒരേസമയം പ്രവർത്തിക്കുന്ന, അതേ ജോലിയെ 12 മിനിറ്റിനുള്ളിൽ നേരിടും - പ്രവർത്തനത്തിലെ സമാന്തരതയുടെ തത്വം!

വഴിയിൽ, ഡാറ്റ സ്ട്രീമുകളുടെ സമാന്തര പ്രോസസ്സിംഗിലെ പയനിയർ അക്കാദമിഷ്യൻ A.A. സമർസ്കി ആയിരുന്നു, അദ്ദേഹം 50 കളുടെ തുടക്കത്തിൽ ആണവ സ്ഫോടനങ്ങളെ അനുകരിക്കുന്നതിന് ആവശ്യമായ കണക്കുകൂട്ടലുകൾ നടത്തി. മേശകളിൽ മെഷീനുകൾ ചേർത്തുകൊണ്ട് നിരവധി ഡസൻ യുവതികളെ ഇരുത്തി സമർസ്‌കി ഈ പ്രശ്നം പരിഹരിച്ചു. യുവതികൾ വാക്കുകളിലൂടെ പരസ്പരം ഡാറ്റ കൈമാറുകയും മെഷീനുകൾ ചേർക്കുമ്പോൾ ആവശ്യമായ നമ്പറുകൾ രേഖപ്പെടുത്തുകയും ചെയ്തു. അങ്ങനെ, പ്രത്യേകിച്ച്, സ്ഫോടന തരംഗത്തിന്റെ പരിണാമം കണക്കാക്കി. ഒരുപാട് ജോലികൾ ഉണ്ടായിരുന്നു, യുവതികൾ തളർന്നു, അലക്സാണ്ടർ ആൻഡ്രീവിച്ച് അവരുടെ ഇടയിൽ നടന്ന് അവരെ പ്രോത്സാഹിപ്പിച്ചു. ഇത് ആദ്യത്തെ സമാന്തര സംവിധാനമാണെന്ന് ഒരാൾ പറഞ്ഞേക്കാം. ഹൈഡ്രജൻ ബോംബിന്റെ കണക്കുകൂട്ടലുകൾ സമർത്ഥമായി നടത്തിയെങ്കിലും, അവയുടെ കൃത്യത വളരെ കുറവായിരുന്നു, കാരണം ഉപയോഗിച്ച ഗ്രിഡിൽ കുറച്ച് നോഡുകൾ ഉണ്ടായിരുന്നു, കൂടാതെ കണക്കുകൂട്ടൽ സമയം വളരെ കൂടുതലായിരുന്നു.

കൺവെയർ പ്രോസസ്സിംഗ്. ഫ്ലോട്ടിംഗ് പോയിന്റ് രൂപത്തിൽ പ്രതിനിധീകരിക്കുന്ന രണ്ട് യഥാർത്ഥ സംഖ്യകൾ ചേർക്കാൻ എന്താണ് വേണ്ടത്? ഓർഡറുകൾ താരതമ്യം ചെയ്യുക, ഓർഡറുകൾ വിന്യസിക്കുക, മാന്റിസകൾ ചേർക്കുക, നോർമലൈസ് ചെയ്യുക തുടങ്ങിയ നിരവധി ചെറിയ പ്രവർത്തനങ്ങൾ. ആദ്യ കമ്പ്യൂട്ടറുകളുടെ പ്രോസസറുകൾ ഓരോ ജോഡി ആർഗ്യുമെന്റുകൾക്കും ഒന്നിനുപുറകെ ഒന്നായി ഈ "മൈക്രോ-ഓപ്പറേഷനുകളെല്ലാം" നടത്തി, അവ അന്തിമഫലത്തിൽ എത്തുന്നതുവരെ, അതിനുശേഷം മാത്രമേ അടുത്ത ജോഡി നിബന്ധനകൾ പ്രോസസ്സ് ചെയ്യുന്നുള്ളൂ.

പൈപ്പ്ലൈൻ പ്രോസസ്സിംഗ് എന്ന ആശയം ഒരു പൊതു പ്രവർത്തനത്തിന്റെ വ്യക്തിഗത ഘട്ടങ്ങൾ വേർതിരിച്ചെടുക്കുക എന്നതാണ്, കൂടാതെ ഓരോ ഘട്ടവും അതിന്റെ ജോലി പൂർത്തിയാക്കിയ ശേഷം അടുത്തതിലേക്ക് ഫലം കൈമാറും, അതേസമയം ഇൻപുട്ട് ഡാറ്റയുടെ ഒരു പുതിയ ഭാഗം സ്വീകരിക്കുന്നു. മുമ്പ് സ്‌പെയ്‌സ് ചെയ്‌ത പ്രവർത്തനങ്ങൾ സംയോജിപ്പിച്ച് പ്രോസസ്സിംഗ് വേഗതയിൽ ഞങ്ങൾക്ക് വ്യക്തമായ നേട്ടം ലഭിക്കും. ഒരു ഓപ്പറേഷനിൽ അഞ്ച് മൈക്രോ ഓപ്പറേഷനുകൾ ഉണ്ടെന്ന് നമുക്ക് അനുമാനിക്കാം, അവ ഓരോന്നും ഒരു യൂണിറ്റ് സമയത്തിൽ നടത്തുന്നു. ഒരു അവിഭാജ്യ സീരിയൽ ഉപകരണം ഉണ്ടെങ്കിൽ, അത് 500 യൂണിറ്റുകളിൽ 100 ​​ജോഡി ആർഗ്യുമെന്റുകൾ പ്രോസസ്സ് ചെയ്യും. ഓരോ മൈക്രോ ഓപ്പറേഷനും ഒരു കൺവെയർ ഉപകരണത്തിന്റെ ഒരു പ്രത്യേക ഘട്ടമായി (അല്ലെങ്കിൽ ഒരു ഘട്ടം എന്ന് വിളിക്കപ്പെടുന്നു) വേർതിരിക്കുകയാണെങ്കിൽ, അഞ്ചാമത്തെ യൂണിറ്റിൽ, അത്തരമൊരു ഉപകരണത്തിന്റെ പ്രോസസ്സിംഗിന്റെ വിവിധ ഘട്ടങ്ങളിൽ, ആദ്യത്തെ അഞ്ച് ജോഡി ആർഗ്യുമെന്റുകൾ സ്ഥിതിചെയ്യും. , കൂടാതെ നൂറ് ജോഡികളുടെ മുഴുവൻ സെറ്റും 5 + 99 = 104 യൂണിറ്റ് സമയത്തിനുള്ളിൽ പ്രോസസ്സ് ചെയ്യപ്പെടും - ഒരു സീരിയൽ ഉപകരണവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ത്വരണം ഏകദേശം അഞ്ച് മടങ്ങാണ് (കൺവെയർ ഘട്ടങ്ങളുടെ എണ്ണം അനുസരിച്ച്).

പൈപ്പ്‌ലൈൻ പ്രോസസ്സിംഗ് വിജയകരമായി സാധാരണ സമാന്തരത ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാൻ കഴിയുമെന്ന് തോന്നുന്നു, ഇതിനായി പൈപ്പ്ലൈനിന്റെ ഘട്ടങ്ങളുടെ എണ്ണം എത്ര തവണ വേണമെങ്കിലും ഞങ്ങൾ പ്രധാന ഉപകരണം ഡ്യൂപ്ലിക്കേറ്റ് ചെയ്യുന്നു. വാസ്തവത്തിൽ, മുമ്പത്തെ ഉദാഹരണത്തിലെ അഞ്ച് ഉപകരണങ്ങൾ 100 യൂണിറ്റ് സമയത്തിനുള്ളിൽ 100 ​​ജോഡി ആർഗ്യുമെന്റുകൾ പ്രോസസ്സ് ചെയ്യും, ഇത് കൺവെയർ ഉപകരണത്തിന്റെ പ്രവർത്തന സമയത്തേക്കാൾ വേഗതയുള്ളതാണ്! എന്താണ് കാര്യം? ഉത്തരം ലളിതമാണ്: ഉപകരണങ്ങളുടെ എണ്ണം അഞ്ചിരട്ടി വർദ്ധിപ്പിക്കുന്നതിലൂടെ, ഞങ്ങൾ ഉപകരണങ്ങളുടെ അളവും അതിന്റെ വിലയും ഗണ്യമായി വർദ്ധിപ്പിക്കുന്നു. കാർ ഉൽപ്പാദന നിരക്ക് നിലനിർത്തിക്കൊണ്ട് അസംബ്ലി ലൈൻ നീക്കം ചെയ്യാൻ ഒരു കാർ പ്ലാന്റ് തീരുമാനിച്ചതായി സങ്കൽപ്പിക്കുക. മുമ്പ് അസംബ്ലി ലൈനിൽ ഒരേ സമയം ആയിരം കാറുകൾ ഉണ്ടായിരുന്നുവെങ്കിൽ, മുമ്പത്തെ ഉദാഹരണവുമായി സാമ്യമുള്ളതിനാൽ, ആയിരം ടീമുകളെ റിക്രൂട്ട് ചെയ്യേണ്ടത് ആവശ്യമാണ്, അവയിൽ ഓരോന്നിനും (1) തുടക്കം മുതൽ കാർ പൂർണ്ണമായും കൂട്ടിച്ചേർക്കാൻ കഴിയും പൂർത്തിയാക്കുക, നൂറുകണക്കിന് വ്യത്യസ്ത തരം പ്രവർത്തനങ്ങൾ നടത്തുക, കൂടാതെ (2) കാർ മുമ്പ് അസംബ്ലി ലൈനിൽ ഉണ്ടായിരുന്ന അതേ സമയത്ത് ഇത് ചെയ്യുക. അത്തരമൊരു കാറിന്റെ വില നിങ്ങൾക്ക് ഊഹിക്കാൻ കഴിയുമോ? ഇല്ലേ? ഞാൻ സമ്മതിക്കുന്നു, ലംബോർഗിനി മനസ്സിൽ വരുന്നില്ലെങ്കിൽ ഇത് ബുദ്ധിമുട്ടാണ്, പക്ഷേ അതിനാലാണ് അസംബ്ലി ലൈൻ പ്രോസസ്സിംഗ് ഉണ്ടായത് ...

കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിലെ സമാന്തരതയുടെ ഉദയത്തിന്റെ ഒരു സംക്ഷിപ്ത ചരിത്രം

ഇന്ന്, കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിലെ സമാന്തരത കുറച്ച് ആളുകളെ അത്ഭുതപ്പെടുത്തും. എല്ലാ ആധുനിക മൈക്രോപ്രൊസസ്സറുകളും, അത് പെന്റിയം III അല്ലെങ്കിൽ PA-8700, MIPS R14000, E2K അല്ലെങ്കിൽ Power3, ഒന്നോ അല്ലെങ്കിൽ മറ്റൊരു തരത്തിലുള്ള സമാന്തര പ്രോസസ്സിംഗ് ഉപയോഗിക്കുന്നു. പെന്റിയം 4 കോറിൽ, 126 മൈക്രോ ഓപ്പറേഷനുകൾ വരെ നിർവ്വഹണത്തിന്റെ വിവിധ ഘട്ടങ്ങളിൽ ഒരേസമയം നടത്താം. പുതിയ ചിപ്പുകളുടെ അവതരണങ്ങളിലും കോർപ്പറേഷനുകളിൽ നിന്നുള്ള പ്രസ് റിലീസുകളിലും, ഇത് സാങ്കേതികവിദ്യയിലെ ഏറ്റവും പുതിയ വാക്കായും ശാസ്ത്രത്തിന്റെ അത്യാധുനിക പദമായും അവതരിപ്പിക്കപ്പെടുന്നു, ഒരൊറ്റ ചിപ്പിന്റെ ചെറിയ പരിധിയിൽ ഈ തത്വങ്ങൾ നടപ്പിലാക്കുന്നത് പരിഗണിക്കുകയാണെങ്കിൽ ഇത് തീർച്ചയായും അങ്ങനെയാണ്. .

അതേ സമയം, ഈ ആശയങ്ങൾ തന്നെ വളരെക്കാലം മുമ്പ് പ്രത്യക്ഷപ്പെട്ടു. തുടക്കത്തിൽ, അവ അവരുടെ കാലത്തെ ഏറ്റവും വികസിതവും അതിനാൽ ഒറ്റതുമായ കമ്പ്യൂട്ടറുകളിൽ നടപ്പിലാക്കി. പിന്നീട്, സാങ്കേതികവിദ്യയുടെ ശരിയായ വികസനത്തിനും വിലകുറഞ്ഞ ഉൽപ്പാദനത്തിനും ശേഷം, അവർ മധ്യവർഗ കമ്പ്യൂട്ടറുകളിലേക്ക് ഇറങ്ങി, ഒടുവിൽ ഇന്ന് ഇതെല്ലാം വർക്ക്സ്റ്റേഷനുകളിലും പേഴ്സണൽ കമ്പ്യൂട്ടറുകളിലും പൂർണ്ണമായും ഉൾക്കൊള്ളുന്നു.

ആധുനിക പ്രോസസറുകളുടെ വാസ്തുവിദ്യയിലെ എല്ലാ പ്രധാന കണ്ടുപിടുത്തങ്ങളും മൈക്രോപ്രൊസസറുകളോ സൂപ്പർ കമ്പ്യൂട്ടറുകളോ നിലവിലില്ലാത്ത കാലം മുതൽ യഥാർത്ഥത്തിൽ ഉപയോഗിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കാൻ, ആദ്യത്തെ കമ്പ്യൂട്ടറുകളുടെ ജനനം മുതൽ ചരിത്രത്തിലേക്ക് ഒരു ചെറിയ ഉല്ലാസയാത്ര നടത്താം. .

IBM 701 (1953), IBM 704 (1955): ബിറ്റ്-പാരലൽ മെമ്മറി, ബിറ്റ്-പാരലൽ ഗണിതം.
എല്ലാ ആദ്യത്തെ കമ്പ്യൂട്ടറുകൾക്കും (EDSAC, EDVAC, UNIVAC) ബിറ്റ്-സീക്വൻഷ്യൽ മെമ്മറി ഉണ്ടായിരുന്നു, അതിൽ നിന്ന് വാക്കുകൾ ബിറ്റ് ബിറ്റ് ആയി വായിച്ചു. ബിറ്റ്-പാരലൽ മെമ്മറിയും (സിആർടിയിൽ) ബിറ്റ്-പാരലൽ അങ്കഗണിതവും ഉപയോഗിച്ച് വാണിജ്യപരമായി ലഭ്യമായ ആദ്യത്തെ കമ്പ്യൂട്ടർ IBM 701 ആയിരുന്നു, ഏറ്റവും ജനപ്രിയമായ മോഡൽ IBM 704 (150 കോപ്പികൾ വിറ്റു) ആയിരുന്നു, മുകളിൽ പറഞ്ഞവ കൂടാതെ, ആദ്യത്തേത്. ഫെറൈറ്റ് മെമ്മറി ഉപയോഗിക്കുന്നതിന് കോറുകളും ഹാർഡ്‌വെയർ ഫ്ലോട്ടിംഗ് പോയിന്റ് ആംപ്ലിഫയറും.

IBM 709 (1958): സ്വതന്ത്ര I/O പ്രോസസ്സറുകൾ.
ആദ്യ കമ്പ്യൂട്ടറുകളുടെ പ്രോസസ്സറുകൾ ഇൻപുട്ട്/ഔട്ട്പുട്ട് സ്വയം കൈകാര്യം ചെയ്തു. എന്നിരുന്നാലും, ഏറ്റവും വേഗതയേറിയ ബാഹ്യ ഉപകരണത്തിന്റെ വേഗത, അക്കാലത്ത് മാഗ്നറ്റിക് ടേപ്പ് ആയിരുന്നു, അത് പ്രോസസറിന്റെ വേഗതയേക്കാൾ 1000 മടങ്ങ് കുറവായിരുന്നു, അതിനാൽ I/O ഓപ്പറേഷനുകളിൽ പ്രോസസ്സർ പ്രധാനമായും നിഷ്ക്രിയമായിരുന്നു. 1958-ൽ IBM 704 കമ്പ്യൂട്ടറിൽ 6 സ്വതന്ത്ര ഇൻപുട്ട്/ഔട്ട്‌പുട്ട് പ്രോസസറുകൾ ഘടിപ്പിച്ചിട്ടുണ്ട്, അത് കമാൻഡുകൾ സ്വീകരിച്ച ശേഷം, പ്രധാന പ്രോസസറിന് സമാന്തരമായി പ്രവർത്തിക്കാൻ കഴിയും, കൂടാതെ കമ്പ്യൂട്ടറിനെ തന്നെ IBM 709 എന്ന് പുനർനാമകരണം ചെയ്തു. ഏകദേശം 400 മുതൽ ഈ മോഡൽ അതിശയകരമാം വിധം വിജയിച്ചു. പകർപ്പുകൾ പരിഷ്‌ക്കരണങ്ങൾക്കൊപ്പം വിറ്റു, അവസാനത്തേത് 1975-ൽ ഓഫാക്കി - 20 വർഷത്തെ നിലനിൽപ്പ്!

ഐബിഎം സ്ട്രെച്ച് (1961): ലുക്ക്‌ഹെഡ്, മെമ്മറി സ്ട്രൈപ്പിംഗ്.
1956-ൽ, ലോസ് അലാമോസ് സയന്റിഫിക് ലബോറട്ടറിയുമായി IBM ഒരു കരാറിൽ ഒപ്പുവച്ചു, അതിൽ രണ്ട് അടിസ്ഥാന സവിശേഷതകളുള്ള സ്ട്രെച്ച് കമ്പ്യൂട്ടർ വികസിപ്പിച്ചെടുക്കുന്നു: നിർദ്ദേശങ്ങൾ ലഭിക്കുന്നതിനായി നോക്കുക, മെമ്മറി വീണ്ടെടുക്കൽ വേഗതയും നിർവ്വഹണ വേഗതയും കുറയ്ക്കുന്നതിന് രണ്ട് ബാങ്കുകളിലേക്ക് മെമ്മറി സ്ട്രൈപ്പിംഗ്.

അറ്റ്ലസ് (1963): കമാൻഡ് പൈപ്പ്ലൈൻ.
മാഞ്ചസ്റ്റർ സർവകലാശാലയിൽ വികസിപ്പിച്ച ATLAS മെഷീനിലാണ് കമാൻഡ് എക്സിക്യൂഷന്റെ കൺവെയർ തത്വം ആദ്യമായി ഉപയോഗിച്ചത്. കമാൻഡ് എക്സിക്യൂഷൻ 4 ഘട്ടങ്ങളായി തിരിച്ചിരിക്കുന്നു: നിർദ്ദേശങ്ങൾ ലഭ്യമാക്കൽ, ഓപ്പറാൻറ് വിലാസം കണക്കുകൂട്ടൽ, ഓപ്പറാൻറ് ലഭ്യമാക്കൽ, പ്രവർത്തന നിർവ്വഹണം. കമാൻഡ് എക്സിക്യൂഷൻ സമയം 6 μs ൽ നിന്ന് 1.6 μs ആയി കുറയ്ക്കാൻ പൈപ്പ്ലൈനിംഗ് സാധ്യമാക്കി. ഈ കമ്പ്യൂട്ടർ കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിലും സോഫ്‌റ്റ്‌വെയറിലും വലിയ സ്വാധീനം ചെലുത്തി: വെർച്വൽ മെമ്മറിയുടെയും ഒരു ഇന്ററപ്റ്റ് സിസ്റ്റത്തിന്റെയും ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഒരു മൾട്ടി-പ്രോഗ്രാം OS ആദ്യമായി ഉപയോഗിച്ചത് ഇതായിരുന്നു.

CDC 6600 (1964): സ്വതന്ത്ര പ്രവർത്തന ഉപകരണങ്ങൾ.
കൺട്രോൾ ഡാറ്റ കോർപ്പറേഷൻ (സിഡിസി), അതിന്റെ സ്ഥാപകരിലൊരാളായ സെയ്‌മോർ ആർ ക്രേയുടെ നേരിട്ടുള്ള പങ്കാളിത്തത്തോടെ, സിഡിസി-6600 കമ്പ്യൂട്ടർ നിർമ്മിക്കുന്നു - നിരവധി സ്വതന്ത്ര പ്രവർത്തന ഉപകരണങ്ങൾ ഉപയോഗിച്ച ആദ്യത്തെ കമ്പ്യൂട്ടർ. ഇന്നത്തെയുമായി താരതമ്യപ്പെടുത്തുന്നതിന്, ചില കമ്പ്യൂട്ടർ പാരാമീറ്ററുകൾ ഇതാ:

  • ക്ലോക്ക് സമയം 100 ൻസ്,
  • പ്രകടനം സെക്കൻഡിൽ 2-3 ദശലക്ഷം പ്രവർത്തനങ്ങൾ,
  • റാം 4096 60-ബിറ്റ് വാക്കുകളുടെ 32 ബാങ്കുകളായി തിരിച്ചിരിക്കുന്നു,
  • മെമ്മറി സൈക്കിൾ 1µs,
  • 10 സ്വതന്ത്ര പ്രവർത്തന യൂണിറ്റുകൾ.
ഐബിഎമ്മിൽ നിന്നുള്ള യന്ത്രങ്ങളെ സജീവമായി മാറ്റിസ്ഥാപിച്ചുകൊണ്ട് ഈ യന്ത്രം ശാസ്ത്രീയ വിപണിയിൽ വൻ വിജയമായിരുന്നു.

CDC 7600 (1969): കൺവെയർ സ്വതന്ത്ര പ്രവർത്തന ഉപകരണങ്ങൾ.
എട്ട് സ്വതന്ത്ര പൈപ്പ്ലൈൻ ഫംഗ്ഷണൽ യൂണിറ്റുകളുള്ള CDC-7600 കമ്പ്യൂട്ടർ CDC പുറത്തിറക്കുന്നു - സമാന്തരവും പൈപ്പ്ലൈനിംഗ് പ്രോസസ്സിംഗും സംയോജിപ്പിച്ച്. പ്രധാന പാരാമീറ്ററുകൾ:

  • ക്ലോക്ക് 27.5 ns,
  • 10-15 ദശലക്ഷം പ്രവർത്തനങ്ങൾ/സെക്കൻഡ്.,
  • 8 കൺവെയർ യൂണിറ്റുകൾ,
  • 2-ലെവൽ മെമ്മറി.

ILLIAC IV (1974): മാട്രിക്സ് പ്രോസസ്സറുകൾ.

പ്രോജക്റ്റ്: 256 പ്രോസസർ ഘടകങ്ങൾ (PE) = 64PE യുടെ 4 ക്വാഡ്‌റന്റുകൾ, പുനർക്രമീകരണം: 128PE യുടെ 2 ക്വാഡ്‌റന്റുകൾ അല്ലെങ്കിൽ 256PE യുടെ 1 ക്വാഡ്രന്റ്, ക്ലോക്ക് സൈക്കിൾ 40ns, പ്രകടനം 1Gflop;

1967-ൽ ജോലി ആരംഭിച്ചു, 1971 അവസാനത്തോടെ 1974-ൽ 1 ക്വാഡ്രന്റ് സംവിധാനം നിർമ്മിക്കപ്പെട്ടു. ഇത് പ്രവർത്തനക്ഷമമാക്കി, 1975 വരെ വികസനം നടത്തി;

കേന്ദ്ര ഭാഗം: നിയന്ത്രണ ഉപകരണം (CU) + 64 PE യുടെ മാട്രിക്സ്;

  • കൺട്രോൾ യൂണിറ്റ് PE മാട്രിക്സ് നിയന്ത്രിക്കുന്ന കുറഞ്ഞ പ്രകടനമുള്ള ഒരു ലളിതമായ കമ്പ്യൂട്ടറാണ്; എല്ലാ PE മെട്രിക്സുകളും സിൻക്രണസ് മോഡിൽ പ്രവർത്തിച്ചു, ഓരോ നിമിഷവും കൺട്രോൾ യൂണിറ്റിൽ നിന്ന് ലഭിച്ച അതേ കമാൻഡ് നടപ്പിലാക്കുന്നു, പക്ഷേ അവരുടെ സ്വന്തം ഡാറ്റയിൽ;
  • PE-യ്ക്ക് പൂർണ്ണമായ നിർദ്ദേശങ്ങളോടുകൂടിയ സ്വന്തം ALU ഉണ്ടായിരുന്നു, OP - 64 ബിറ്റുകളുടെ 2Kwords, മെമ്മറി സൈക്കിൾ 350ns, ഓരോ PE-യ്ക്കും അതിന്റെ OP-യിലേക്ക് മാത്രമേ നേരിട്ട് പ്രവേശനമുള്ളൂ;
  • ഡാറ്റ ഫോർവേഡിംഗ് നെറ്റ്‌വർക്ക്: അതിർത്തിയിൽ 1 തിരശ്ചീനമായ ഷിഫ്റ്റുള്ള ദ്വിമാന ടോറസ്;

പ്രോജക്റ്റുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ഫലം ഉണ്ടായിരുന്നിട്ടും: ചെലവ് 4 മടങ്ങ് കൂടുതലാണ്, 1 ക്വാഡ്രന്റ് മാത്രമാണ് നിർമ്മിച്ചിരിക്കുന്നത്, ക്ലോക്ക് സൈക്കിൾ 80ns ആണ്, യഥാർത്ഥ ഉൽപാദനക്ഷമത 50Mflop വരെയാണ് - ഈ പ്രോജക്റ്റ് നിർമ്മിച്ച തുടർന്നുള്ള മെഷീനുകളുടെ വാസ്തുവിദ്യയിൽ വലിയ സ്വാധീനം ചെലുത്തി. സമാനമായ ഒരു തത്വം, പ്രത്യേകിച്ചും: PEPE, BSP, ICL DAP.

മെമ്മറിയുടെ ശ്രേണി.
മെമ്മറി ശ്രേണി സമാന്തരതയുമായി നേരിട്ട് ബന്ധപ്പെട്ടിട്ടില്ല, എന്നിരുന്നാലും, ഇത് തീർച്ചയായും കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറിന്റെ സവിശേഷതകളെ സൂചിപ്പിക്കുന്നു, അവയുടെ പ്രകടനം വർദ്ധിപ്പിക്കുന്നതിന് വളരെ പ്രാധാന്യമുണ്ട് (പ്രോസസർ വേഗതയും മെമ്മറി ആക്സസ് സമയവും തമ്മിലുള്ള വ്യത്യാസം സുഗമമാക്കുന്നു). പ്രധാന ലെവലുകൾ: രജിസ്റ്ററുകൾ, കാഷെ മെമ്മറി, റാം, ഡിസ്ക് മെമ്മറി. ഡിസ്ക് മെമ്മറി മുതൽ രജിസ്റ്ററുകൾ വരെയുള്ള മെമ്മറി ലെവലുകൾക്കുള്ള സാമ്പിൾ സമയം കുറയുന്നു, ഒരു വാക്കിന്റെ വില (ബൈറ്റ്) വർദ്ധിക്കുന്നു. നിലവിൽ, പേഴ്സണൽ കമ്പ്യൂട്ടറുകളിൽ പോലും അത്തരമൊരു ശ്രേണി പിന്തുണയ്ക്കുന്നു.

ലോകത്ത് ഇപ്പോൾ എന്താണ് ഉപയോഗിക്കുന്നത്?

ഉയർന്ന പ്രവർത്തനക്ഷമതയുള്ള കമ്പ്യൂട്ടിംഗ് സാങ്കേതികവിദ്യയുടെ വികസനം നിലവിൽ ഏത് ദിശകളിലാണ് നടക്കുന്നത്? നാല് പ്രധാന ദിശകളുണ്ട്.

നിങ്ങളുടെ പ്രോഗ്രാമിൽ തുടർച്ചയായി എക്സിക്യൂട്ട് ചെയ്യേണ്ട പ്രവർത്തനങ്ങളുടെ അംശം f ആണെന്ന് കരുതുക, ഇവിടെ 0

പ്രോഗ്രാമിന്റെ 9/10 സമാന്തരമായി നടപ്പിലാക്കുകയും 1/10 ഇപ്പോഴും തുടർച്ചയായിരിക്കുകയും ചെയ്യുന്നുവെങ്കിൽ, കോഡിന്റെ സമാന്തര ഭാഗം നടപ്പിലാക്കുന്നതിന്റെ ഗുണനിലവാരം കണക്കിലെടുക്കാതെ, തത്വത്തിൽ 10 തവണയിൽ കൂടുതൽ വേഗത കൈവരിക്കുന്നത് അസാധ്യമാണ്. ഉപയോഗിച്ച പ്രോസസ്സറുകളുടെ എണ്ണം (സമാന്തര ഭാഗത്തിന്റെ എക്സിക്യൂഷൻ സമയം 0 ആയിരിക്കുമ്പോൾ മാത്രമേ 10 ലഭിക്കുകയുള്ളൂ എന്ന് വ്യക്തമാണ്).

മറുവശത്ത് നിന്ന് പ്രശ്നം നോക്കാം: നിർദ്ദിഷ്ട ത്വരണം ലഭിക്കുന്നതിന് കോഡിന്റെ ഏത് ഭാഗമാണ് ത്വരിതപ്പെടുത്തേണ്ടത് (അതിനാൽ പ്രാഥമികമായി പരിശോധിക്കേണ്ടത്)? ആംദാലിന്റെ നിയമത്തിന്റെ അനന്തരഫലത്തിൽ ഉത്തരം കണ്ടെത്താനാകും: ഒരു പ്രോഗ്രാമിന്റെ നിർവ്വഹണം വേഗത്തിലാക്കാൻ qവേഗത്തിലാക്കേണ്ട സമയങ്ങളിൽ കുറയാതെ qതവണയിൽ കുറയാത്തത് (1-1/ q) പ്രോഗ്രാമിന്റെ ഭാഗം. അതിനാൽ, ഒരു പ്രോഗ്രാമിനെ അതിന്റെ തുടർച്ചയായ പതിപ്പുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ 100 മടങ്ങ് വേഗത്തിലാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, കുറഞ്ഞത് 99.99% കോഡിലും നിങ്ങൾക്ക് വേഗത കുറയ്‌ക്കേണ്ടതില്ല, ഇത് എല്ലായ്പ്പോഴും പ്രോഗ്രാമിന്റെ ഒരു പ്രധാന ഭാഗമാണ്!

അതിനാൽ ആദ്യത്തെ നിഗമനം - ഒരു സമാന്തര കമ്പ്യൂട്ടറിലേക്ക് മാറുന്നതിന് കോഡ് നന്നായി പുനർനിർമ്മിക്കുന്നതിന് മുമ്പ് (ഏത് സൂപ്പർ കമ്പ്യൂട്ടറും, പ്രത്യേകിച്ച്, അങ്ങനെയാണ്), നിങ്ങൾ ശ്രദ്ധാപൂർവ്വം ചിന്തിക്കേണ്ടതുണ്ട്. പ്രോഗ്രാമിൽ ഉൾച്ചേർത്ത അൽഗോരിതം വിലയിരുത്തിയ ശേഷം, തുടർച്ചയായ പ്രവർത്തനങ്ങളുടെ അനുപാതം വലുതാണെന്ന് നിങ്ങൾ മനസ്സിലാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് കാര്യമായ ത്വരണം കണക്കാക്കാൻ കഴിയില്ല, കൂടാതെ അൽഗോരിതത്തിന്റെ വ്യക്തിഗത ഘടകങ്ങൾ മാറ്റിസ്ഥാപിക്കുന്നതിനെക്കുറിച്ച് നിങ്ങൾ ചിന്തിക്കേണ്ടതുണ്ട്.

ചില സന്ദർഭങ്ങളിൽ, അൽഗോരിതത്തിന്റെ തുടർച്ചയായ സ്വഭാവം മാറ്റുന്നത് അത്ര ബുദ്ധിമുട്ടുള്ള കാര്യമല്ല. n സംഖ്യകളുടെ ആകെത്തുക കണക്കാക്കാൻ പ്രോഗ്രാമിന് ഇനിപ്പറയുന്ന ശകലം ഉണ്ടെന്ന് പറയാം:

S = 0 Do i = 1, n s = s + a(i) EndDo (ഇത് മറ്റേത് ഭാഷയിലും ചെയ്യാം)

അതിന്റെ സ്വഭാവമനുസരിച്ച്, ഇത് കർശനമായി ക്രമാനുഗതമാണ്, കാരണം ലൂപ്പിന്റെ i-th ആവർത്തനത്തിൽ (i-1) ൽ നിന്നുള്ള ഫലം ആവശ്യമാണ് കൂടാതെ എല്ലാ ആവർത്തനങ്ങളും ഒന്നിനുപുറകെ ഒന്നായി നടപ്പിലാക്കുന്നു. ഞങ്ങൾക്ക് 100% തുടർച്ചയായ പ്രവർത്തനങ്ങളുണ്ട്, അതായത് സമാന്തര കമ്പ്യൂട്ടറുകൾ ഉപയോഗിക്കുന്നതിൽ നിന്ന് ഒരു ഫലവുമില്ല. അതേസമയം, പുറത്തേക്കുള്ള വഴി വ്യക്തമാണ്. ഒട്ടുമിക്ക യഥാർത്ഥ പ്രോഗ്രാമുകളിലും (ചോദ്യം: എന്തിനാണ് മിക്കവയിലും അല്ലാത്തത്?) അക്കങ്ങൾ ഏത് ക്രമത്തിലാണ് ചേർത്തിരിക്കുന്നത് എന്നതിൽ കാര്യമായ വ്യത്യാസമില്ല, ഞങ്ങൾ മറ്റൊരു കൂട്ടിച്ചേർക്കൽ സ്കീം തിരഞ്ഞെടുക്കും. ആദ്യം, അയൽ ഘടകങ്ങളുടെ ജോഡികളുടെ ആകെത്തുക ഞങ്ങൾ കണ്ടെത്തുന്നു: a(1)+a(2), a(3)+a(4), a(5)+a(6), മുതലായവ. ഈ സ്കീം ഉപയോഗിച്ച്, എല്ലാ ജോഡികളും ഒരേസമയം ചേർക്കാൻ കഴിയുമെന്നത് ശ്രദ്ധിക്കുക! അടുത്ത ഘട്ടങ്ങളിൽ ഞങ്ങൾ സമാന്തര അൽഗോരിതത്തിന്റെ ഒരു പതിപ്പ് നേടിക്കൊണ്ട് കൃത്യമായി അതേ രീതിയിൽ പ്രവർത്തിക്കും.

ഈ സാഹചര്യത്തിൽ എല്ലാ പ്രശ്നങ്ങളും പരിഹരിച്ചതായി തോന്നുന്നു. എന്നാൽ നിങ്ങൾക്ക് ലഭ്യമായ പ്രോസസ്സറുകൾ അവയുടെ പ്രകടനത്തിൽ വൈവിധ്യപൂർണ്ണമാണെന്ന് സങ്കൽപ്പിക്കുക. ഇതിനർത്ഥം അവരിൽ ചിലർ ഇപ്പോഴും പ്രവർത്തിക്കുമ്പോൾ ഒരു നിമിഷം ഉണ്ടാകും, മറ്റുള്ളവർ ഇതിനകം എല്ലാം ചെയ്തുകൊണ്ട് ഉപയോഗശൂന്യമായി കാത്തിരിക്കുന്നു. കമ്പ്യൂട്ടർ പ്രകടനത്തിലെ വ്യാപനം വലുതാണെങ്കിൽ, യൂണിഫോം പ്രോസസ്സർ ലോഡുള്ള മുഴുവൻ സിസ്റ്റത്തിന്റെയും കാര്യക്ഷമത വളരെ കുറവായിരിക്കും.

എന്നാൽ നമുക്ക് കൂടുതൽ മുന്നോട്ട് പോയി എല്ലാ പ്രോസസറുകളും ഒന്നുതന്നെയാണെന്ന് അനുമാനിക്കാം. പ്രശ്നങ്ങൾ തീർന്നോ? വീണ്ടും ഇല്ല! പ്രോസസ്സറുകൾ അവരുടെ ജോലി പൂർത്തിയാക്കി, പക്ഷേ സംഗ്രഹ പ്രക്രിയ തുടരുന്നതിന് ഫലം മറ്റൊന്നിലേക്ക് മാറ്റണം... കൈമാറ്റത്തിന് സമയമെടുക്കും... ഈ സമയത്ത് പ്രോസസ്സറുകൾ വീണ്ടും നിഷ്‌ക്രിയമാണ്...

ഒരു വാക്കിൽ പറഞ്ഞാൽ, ഒരു നിർദ്ദിഷ്ട പ്രോഗ്രാമിൽ പരമാവധി കാര്യക്ഷമതയോടെ ഒരു സമാന്തര കമ്പ്യൂട്ടിംഗ് സിസ്റ്റമോ സൂപ്പർകമ്പ്യൂട്ടറോ ഉണ്ടാക്കുന്നത് എളുപ്പമുള്ള കാര്യമല്ല, കാരണം സമാന്തര ആർക്കിടെക്ചറിന്റെ സവിശേഷതകളുമായി പ്രോഗ്രാമുകളുടെയും അൽഗോരിതങ്ങളുടെയും ഘടന ശ്രദ്ധാപൂർവ്വം ഏകോപിപ്പിക്കേണ്ടത് ആവശ്യമാണ്. കമ്പ്യൂട്ടിംഗ് സിസ്റ്റങ്ങൾ.

അവസാന ചോദ്യം. ഈ പ്രസ്താവന ശരിയാണെന്ന് നിങ്ങൾ കരുതുന്നുണ്ടോ: കമ്പ്യൂട്ടർ കൂടുതൽ ശക്തമാകുമ്പോൾ, തന്നിരിക്കുന്ന പ്രശ്നം വേഗത്തിൽ പരിഹരിക്കാനാകുമോ?

അന്തിമ ഉത്തരം. ഇല്ല, അത് സത്യമല്ല. ലളിതമായ ദൈനംദിന ഉദാഹരണത്തിലൂടെ ഇത് വിശദീകരിക്കാം. ഒരു കുഴിയെടുക്കുന്നയാൾ 1 മണിക്കൂറിനുള്ളിൽ 1m*1m*1m ദ്വാരം കുഴിച്ചാൽ, സമാനമായ രണ്ട് കുഴിക്കാർ 30 മിനിറ്റിനുള്ളിൽ അത് ചെയ്യും - നിങ്ങൾക്ക് വിശ്വസിക്കാം. 60 കുഴിയെടുക്കുന്നവർ ഈ ജോലി ചെയ്യാൻ എത്ര സമയമെടുക്കും? ഒരു മിനിറ്റിനുള്ളിൽ? തീർച്ചയായും ഇല്ല! ഒരു നിശ്ചിത ഘട്ടത്തിൽ നിന്ന് ആരംഭിച്ച്, അവർ പരസ്പരം ഇടപെടും, വേഗത കൂട്ടുകയല്ല, മറിച്ച് പ്രക്രിയയെ മന്ദഗതിയിലാക്കും. കമ്പ്യൂട്ടറുകളിലും ഇത് സമാനമാണ്: ടാസ്‌ക് വളരെ ചെറുതാണെങ്കിൽ, നേരിട്ട് ഉപയോഗപ്രദമായ ജോലിയേക്കാൾ കൂടുതൽ സമയം ഞങ്ങൾ ജോലി വിതരണം ചെയ്യുന്നതിനും സമന്വയിപ്പിക്കുന്ന പ്രക്രിയകൾക്കും ഫലങ്ങൾ കൂട്ടിച്ചേർക്കുന്നതിനും ചെലവഴിക്കും.

എല്ലാം അത്ര ലളിതമല്ല എന്നത് തികച്ചും വ്യക്തമാണ് ...

ലബോറട്ടറി ഓഫ് പാരലൽ ഇൻഫർമേഷൻ ടെക്നോളജീസ്, റിസർച്ച് കമ്പ്യൂട്ടിംഗ് സെന്റർ MSU