AWS Sagemaker Hyperpod-ൽ ഉയർന്ന പ്രകടനമുള്ള GPU മെമ്മറി കൈമാറ്റം

3200 Gbps-ലേക്കുള്ള യാത്ര

രചയിതാക്കൾPerplexity Research

ആധുനിക ഡീപ് ലേണിംഗ് ഇൻഫ്രാസ്ട്രക്ചറിന് പലപ്പോഴും മെഷീനുകളിലുടനീളമുള്ള GPU-കൾക്കിടയിൽ വലിയ അളവിലുള്ള ഡാറ്റ കൈമാറേണ്ടതുണ്ട്. Perplexity-ൽ, ഞങ്ങൾ ഒരു സവിശേഷ സാങ്കേതിക വെല്ലുവിളിയാണ് നേരിട്ടത്: മെഷീനുകൾക്കിടയിൽ തുടർച്ചയല്ലാത്ത GPU മെമ്മറി മേഖലകൾ സാധ്യമായ ഏറ്റവും ഉയർന്ന വേഗതയിൽ കാര്യക്ഷമമായി കൈമാറുക. ഞങ്ങളുടെ ടാർഗെറ്റ് പ്ലാറ്റ്‌ഫോമായ AWS p5 ഇൻസ്റ്റൻസുകൾ, 32 നെറ്റ്‌വർക്ക് കാർഡുകൾ വഴി 3200 Gbps നെറ്റ്‌വർക്ക് ബാൻഡ്‌വിഡ്ത്ത് നൽകുന്നു. ഈ ലേഖനം ഈ സൈദ്ധാന്തിക ബാൻഡ്‌വിഡ്ത്തിന്റെ 97.1% കൈവരിക്കുന്ന ഒരു കസ്റ്റം ഹൈ-പെർഫോമൻസ് നെറ്റ്‌വർക്കിംഗ് സൊല്യൂഷൻ നിർമ്മിച്ച ഞങ്ങളുടെ യാത്ര പങ്കിടുന്നു.

സാങ്കേതിക വെല്ലുവിളി

ഞങ്ങളുടെ ഉപയോഗ കേസ് നിരവധി പ്രധാന സാങ്കേതിക ആവശ്യകതകൾ അവതരിപ്പിച്ചു:

  • തുടർച്ചയല്ലാത്ത മെമ്മറി ഭാഗങ്ങളുടെ റിമോട്ട് GPU-കൾ തമ്മിലുള്ള ഉയർന്ന ബാൻഡ്‌വിഡ്ത്ത് കൈമാറ്റം
  • നടന്നുകൊണ്ടിരിക്കുന്ന പ്രവർത്തനങ്ങളെ തടസ്സപ്പെടുത്താതെ കുബർനെറ്റസ് ഡിപ്ലോയ്മെന്റുകളിൽ നിന്ന് നോഡുകൾ ഡൈനാമിക് ആയി ചേർക്കാനോ നീക്കംചെയ്യാനോ ഉള്ള കഴിവ്
  • പീർ-ടു-പീർ കമ്മ്യൂണിക്കേഷൻ പാറ്റേണുകൾക്കുള്ള പിന്തുണ

വിതരണം ചെയ്ത ഡീപ് ലേണിംഗിന്റെ ഡി ഫാക്ടോ സ്റ്റാൻഡേർഡാണ് NVIDIA-യുടെ NCCL ലൈബ്രറിയെങ്കിലും, ഇത് ഞങ്ങളുടെ ഉപയോഗ കേസിന് അനുയോജ്യമായിരുന്നില്ല:

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

ആധുനിക ഉയർന്ന പ്രകടനമുള്ള നെറ്റ്‌വർക്കുകൾ

ഞങ്ങളുടെ പരിഹാരം മനസ്സിലാക്കാൻ, ആധുനിക ഉയർന്ന പ്രകടനമുള്ള നെറ്റ്‌വർക്കുകൾ പരമ്പരാഗത നെറ്റ്‌വർക്കിംഗിൽ നിന്ന് എങ്ങനെ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു എന്ന് നമുക്ക് ആദ്യം പര്യവേക്ഷണം ചെയ്യാം.

ഞങ്ങൾ ദിവസേന ഉപയോഗിക്കുന്ന മിക്ക നെറ്റ്‌വർക്കുകളും TCP/IP പ്രോട്ടോക്കോളുകളെ ആശ്രയിക്കുന്നു, അവിടെ ആപ്ലിക്കേഷനുകൾ സോക്കറ്റുകൾ ഉപയോഗിച്ച് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കേർണൽ വഴി നെറ്റ്‌വർക്ക് കാർഡുമായി ആശയവിനിമയം നടത്തുന്നു. എന്നിരുന്നാലും, ഉയർന്ന പ്രകടനമുള്ള നെറ്റ്‌വർക്കുകൾ RDMA (Remote Direct Memory Access) ഉപയോഗിക്കുന്നു - CPU ഉൾപ്പെടുത്താതെ തന്നെ മെഷീനുകൾക്കിടയിൽ നേരിട്ട് മെമ്മറി ആക്സസ് പ്രാപ്തമാക്കുന്ന തികച്ചും വ്യത്യസ്തമായ ഹാർഡ്‌വെയറും സോഫ്റ്റ്‌വെയർ സ്റ്റാക്കും.

AWS Elastic Fabric Adapter (EFA) നൽകുന്നു, ഇത് Amazon-ന്റെ Scalable Reliable Datagram (SRD) എന്ന് വിളിക്കുന്ന കസ്റ്റം പ്രോട്ടോക്കോൾ നടപ്പിലാക്കുന്ന ഒരു കസ്റ്റം നെറ്റ്‌വർക്ക് ഇന്റർഫേസ് ആണ്. ഉപയോക്തൃ സ്‌പേസ്, കേർണൽ സ്‌പേസ്, നെറ്റ്‌വർക്ക് ബഫറുകൾ എന്നിവയ്‌ക്കിടയിൽ ഡാറ്റ ഒന്നിലധികം തവണ പകർത്തേണ്ട പരമ്പരാഗത TCP/IP നെറ്റ്‌വർക്കിംഗിൽ നിന്ന് വ്യത്യസ്തമായി, RDMA ഉള്ള EFA, CPU-നെ പൂർണ്ണമായും ഒഴിവാക്കിക്കൊണ്ട് GPU മെമ്മറിയും നെറ്റ്‌വർക്ക് കാർഡും തമ്മിലുള്ള നേരിട്ടുള്ള ഡാറ്റ കൈമാറ്റം അനുവദിക്കുന്നു.

ഉയർന്ന പ്രകടനമുള്ള നെറ്റ്‌വർക്ക് രൂപകൽപ്പനയുടെ തത്ത്വചിന്ത

ഉയർന്ന പ്രകടനമുള്ള നെറ്റ്‌വർക്കിംഗ് സിസ്റ്റങ്ങൾ നിർമ്മിക്കുന്നതിന് നിരവധി അടിസ്ഥാന അനുമാനങ്ങൾ പുനർവിചിന്തനം ചെയ്യേണ്ടതുണ്ട്:

  1. ബഫർ ഉടമസ്ഥാവകാശം: കേർണൽ നെറ്റ്‌വർക്ക് ബഫറുകൾ നിയന്ത്രിക്കുകയും ഉപയോക്തൃ സ്‌പേസും കേർണൽ സ്‌പേസും തമ്മിൽ പകർത്തൽ ആവശ്യമായി വരികയും ചെയ്യുന്ന പരമ്പരാഗത സോക്കറ്റുകളിൽ നിന്ന് വ്യത്യസ്തമായി, ആപ്ലിക്കേഷനുകൾ അവയുടെ സ്വന്തം ബഫറുകൾ കൈകാര്യം ചെയ്യാൻ RDMA ആവശ്യപ്പെടുന്നു. ഒരു ആപ്ലിക്കേഷൻ ഒരു നെറ്റ്‌വർക്ക് പ്രവർത്തനം ആരംഭിക്കുമ്പോൾ, അത് പ്രവർത്തനം പൂർത്തിയാകുന്നതുവരെ നെറ്റ്‌വർക്ക് കാർഡിലേക്ക് ബഫർ ഉടമസ്ഥാവകാശം കൈമാറുന്നു, ഡാറ്റ പകർത്തേണ്ടതിന്റെ ആവശ്യകത ഇല്ലാതാക്കുന്നു.
  2. മെമ്മറി രജിസ്ട്രേഷൻ: ആപ്ലിക്കേഷനുകൾ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കേർണലിൽ മെമ്മറി മേഖലകൾ രജിസ്റ്റർ ചെയ്യണം. CPU, GPU-കൾ, നെറ്റ്‌വർക്ക് കാർഡുകൾ എന്നിവയ്‌ക്കെല്ലാം ഒരേ വെർച്വൽ വിലാസങ്ങൾ മനസ്സിലാക്കാൻ അനുവദിക്കുന്ന വെർച്വൽ വിലാസ മാപ്പിംഗുകൾ കേർണൽ സജ്ജീകരിക്കുന്നു. ഈ രജിസ്ട്രേഷൻ തുടർന്നുള്ള സീറോ-കോപ്പി ഡാറ്റാ കൈമാറ്റം സാധ്യമാക്കുന്ന ഒരു ഒറ്റപ്പെട്ട പ്രവർത്തനമാണ്.
  3. കൺട്രോൾ പ്ലേൻ vs ഡാറ്റ പ്ലേൻ: ഉയർന്ന പ്രകടനമുള്ള നെറ്റ്‌വർക്കുകൾ പ്രവർത്തനങ്ങളെ രണ്ട് വിഭാഗങ്ങളായി തിരിക്കുന്നു:
    1. സുരക്ഷ ഉറപ്പാക്കാൻ കൺട്രോൾ പ്ലേൻ പ്രവർത്തനങ്ങൾ (കണക്ഷൻ സജ്ജീകരണവും മെമ്മറി രജിസ്ട്രേഷനും പോലെ) കേർണലിലൂടെ കടന്നുപോകുന്നു
    2. ഡാറ്റ പ്ലേൻ പ്രവർത്തനങ്ങൾ (യഥാർത്ഥ ഡാറ്റ കൈമാറ്റം) പരമാവധി പ്രകടനത്തിനായി കേർണലിനെ മറികടക്കുന്നു
  4. ട്രാൻസ്മിഷന് മുമ്പുള്ള സ്വീകരണം: കേർണൽ നിയന്ത്രിത ബഫറുകൾ ഇല്ലാതെ, ഇൻകമിംഗ് ഡാറ്റ എവിടെയാണ് സ്ഥാപിക്കേണ്ടതെന്ന് വ്യക്തമാക്കി ആപ്ലിക്കേഷനുകൾ റിസീവ് ഓപ്പറേഷനുകൾ മുൻകൂട്ടി പോസ്റ്റ് ചെയ്യണം. ആപ്ലിക്കേഷനുകൾക്ക് എതുസമയത്തും ഡാറ്റ സ്വീകരിക്കാൻ കഴിയുന്ന സോക്കറ്റ് മാതൃകയിൽ നിന്നുള്ള അടിസ്ഥാനപരമായ മാറ്റമാണിത്.
  5. പോൾ-ബേസ്ഡ് കംപ്ലീഷൻ: epoll പോലുള്ള സംവിധാനങ്ങളിലൂടെ കേർണൽ അറിയിപ്പുകൾക്കായി കാത്തിരിക്കുന്നതിന് പകരം, ആപ്ലിക്കേഷനുകൾ ഹാർഡ്‌വെയർ കംപ്ലീഷൻ ക്യൂകൾ നേരിട്ട് പോൾ ചെയ്യുന്നു. ഇത് സിസ്റ്റം കോൾ ഓവർഹെഡ് ഇല്ലാതാക്കുകയും പൂർത്തിയായ പ്രവർത്തനങ്ങളോട് ഉടനടി പ്രതികരിക്കാൻ അനുവദിക്കുകയും ചെയ്യുന്നു.
  6. ഹാർഡ്‌വെയർ ടോപ്പോളജി അവയർനസ്സ്: പരമാവധി പ്രകടനം കൈവരിക്കുന്നതിന് ഹാർഡ്‌വെയർ ടോപ്പോളജി മനസ്സിലാക്കുകയും ഒപ്റ്റിമൈസ് ചെയ്യുകയും ചെയ്യുന്നത് നിർണായകമാണ്.

ഹാർഡ്‌വെയർ ടോപ്പോളജി മനസ്സിലാക്കൽ

AWS p5 ഇൻസ്റ്റൻസുകൾക്ക് പരിഷ്കൃതമായ ഒരു ആന്തരിക ആർക്കിടെക്ചർ ഉണ്ട്. താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഓരോ ഇൻസ്റ്റൻസിലും രണ്ട് NUMA നോഡുകൾ രൂപീകരിക്കുന്ന രണ്ട് CPU സോക്കറ്റുകൾ അടങ്ങിയിരിക്കുന്നു, ഓരോ NUMA നോഡും നാല് PCIe സ്വിച്ചുകളിലേക്ക് കണക്റ്റുചെയ്യുന്നു:

രണ്ട് NUMA നോഡുകൾ, എട്ട് GPUകൾ, 32 EFA ഇന്റർഫേസുകൾ എന്നിവയുള്ള സിസ്റ്റം ടോപോളജി.

ഓരോ PCIe സ്വിച്ചിന്റെയും കീഴിൽ, നമ്മൾ കണ്ടെത്തുന്നത്:

  • നാല് 100 Gbps EFA നെറ്റ്‌വർക്ക് കാർഡുകൾ
  • ഒരു NVIDIA H100 GPU
  • ഒരു NVMe SSD

TCP/IP, RDMA കൈമാറ്റങ്ങൾക്കായുള്ള ഡാറ്റ പാതകൾ അവയുടെ സമീപനങ്ങളിലെ അടിസ്ഥാനപരമായ വ്യത്യാസങ്ങൾ പ്രകടമാക്കുന്നു:

GPUകൾ, യൂസർസ്പേസ് ആപ്ലിക്കേഷനുകൾ, Linux കേർണലുകൾ, നെറ്റ്‌വർക്ക് ഇന്റർഫേസുകൾ എന്നിവയ്ക്കിടയിലെ TCP, GPUDirect RDMA ഡാറ്റാ-ട്രാൻസ്ഫർ പാതകൾ.

TCP/IP ഉപയോഗിച്ച് (ഇടതുവശത്ത്), ഡാറ്റ ഒന്നിലധികം തവണ പകർത്തണം:

  1. GPU മെമ്മറിയിൽ നിന്ന് ഉപയോക്തൃ സ്‌പേസിലെ ആപ്ലിക്കേഷൻ ബഫറിലേക്ക്
  2. ഉപയോക്തൃ സ്‌പേസ് ബഫറിൽ നിന്ന് കേർണൽ ബഫറിലേക്ക്
  3. കേർണൽ ബഫറിൽ നിന്ന് നെറ്റ്‌വർക്ക് കാർഡിലേക്ക്
  4. സ്വീകരിക്കുന്ന വശത്ത് വിപരീത പ്രക്രിയ സംഭവിക്കുന്നു

ഓരോ കോപ്പി പ്രവർത്തനവും CPU സൈക്കിളുകളും മെമ്മറി ബാൻഡ്‌വിഡ്ത്തും ഉപയോഗിക്കുന്നു. ഓരോ നെറ്റ്‌വർക്ക് പ്രവർത്തനത്തിനും ആപ്ലിക്കേഷൻ യൂസർ സ്‌പേസിനും കേർണൽ സ്‌പേസിനും ഇടയിൽ കോൺടെക്‌സ്‌റ്റ് സ്വിച്ച് ചെയ്യുകയും വേണം.

ഇതിന് വിപരീതമായി, RDMA (വലതുവശത്ത്) യഥാർത്ഥ സീറോ-കോപ്പി ഡാറ്റ കൈമാറ്റം നൽകുന്നു:

  1. നെറ്റ്‌വർക്ക് കാർഡ് GPU മെമ്മറിയിൽ നിന്ന് നേരിട്ട് വായിക്കുന്നു
  2. ഡാറ്റ റിമോട്ട് നെറ്റ്‌വർക്ക് കാർഡിലേക്ക് നേരിട്ട് യാത്ര ചെയ്യുന്നു
  3. റിമോട്ട് നെറ്റ്‌വർക്ക് കാർഡ് ലക്ഷ്യസ്ഥാന GPU മെമ്മറിയിലേക്ക് നേരിട്ട് എഴുതുന്നു
  4. കൈമാറ്റം എപ്പോഴാണ് പൂർത്തിയായതെന്ന് അറിയാൻ ആപ്ലിക്കേഷന് ഉപയോക്തൃ സ്‌പേസിലെ ഒരു കംപ്ലീഷൻ ക്യൂ (CQ) പരിശോധിച്ചാൽ മാത്രം മതി

RDMA-യും ശരിയായ ഹാർഡ്‌വെയർ ജോടിയാക്കലും ഉപയോഗിച്ച്, രണ്ട് GPU-കൾക്കിടയിൽ ഡാറ്റ കൈമാറുന്നതിന് ലോക്കൽ PCIe സ്വിച്ചും നെറ്റ്‌വർക്കും മാത്രമാണ് മറികടക്കേണ്ടത്:

PCIe Gen5 x16-നും നാല് 100Gbps EFA ലിങ്കുകൾക്കും വഴി ബന്ധിപ്പിച്ച ജോഡികളായ ലോക്കൽ, റിമോട്ട് GPUകൾ.

ഇതിന് വിപരീതമായി, TCP/IP കൈമാറ്റങ്ങൾ മെയിൻ മെമ്മറിയിലൂടെ ഡാറ്റ പലതവണ പകർത്തണം, ഇത് കാര്യമായ PCIe ബസ് തിരക്കിന് കാരണമാകുന്നു:

മെയിൻ മെമ്മറി, CPU, നാല് PCIe സ്വിച്ചുകൾ, നാല് GPUകൾ എന്നിവയ്ക്കിടയിലെ TCP ട്രാൻസ്ഫറുകളിൽ നിന്നുള്ള സിസ്റ്റം ബസ് തിരക്ക്.

libfabric ഉപയോഗിച്ച് നിർമ്മിക്കുന്നു

ഞങ്ങൾ libfabric ഉപയോഗിച്ചു - ഫാബ്രിക് സേവനങ്ങൾക്കായി ജനറിക് ഇന്റർഫേസ് നൽകുന്ന ഒരു ഫ്രെയിംവർക്ക്. ഞങ്ങളുടെ നടപ്പാക്കൽ രണ്ട് തരം RDMA പ്രവർത്തനങ്ങൾ ഉപയോഗിക്കുന്നു:

  • മെമ്മറി മേഖലകളെക്കുറിച്ചുള്ള മെറ്റാഡാറ്റ (ഉദാ., ഓഫ്‌സെറ്റുകളും വലുപ്പങ്ങളും) വഹിക്കുന്ന നിയന്ത്രണ സന്ദേശങ്ങൾക്കായി ഇരുവശങ്ങളുള്ള RDMA (SEND/RECV).
  • യഥാർത്ഥ ഡാറ്റ കൈമാറ്റത്തിനായി ഒരു വശത്തുള്ള RDMA WRITE, ഇവിടെ ഓരോ WRITE പ്രവർത്തനവും തുടർച്ചയായ ഒരു മെമ്മറി ഭാഗം കൈകാര്യം ചെയ്യുന്നു.

ഉച്ചസ്ഥായിയിലുള്ള പ്രകടനത്തിലേക്കുള്ള യാത്ര

ഞങ്ങളുടെ വികസനം നിരവധി ഘട്ടങ്ങളിലൂടെ പുരോഗമിച്ചു:

  1. SEND/RECV ഉപയോഗിച്ച് അടിസ്ഥാന യൂണിഡയറക്ഷണൽ സന്ദേശ കൈമാറ്റം നടപ്പിലാക്കി
  2. ദ്വിദിശ ആശയവിനിമയത്തിലേക്ക് നീട്ടി
  3. നേരിട്ടുള്ള GPU-GPU കൈമാറ്റത്തിനായി GPUDirect RDMA WRITE ചേർത്തു
  4. ഒന്നിലധികം ഒരേസമയം കൈമാറ്റങ്ങൾ കൈകാര്യം ചെയ്യാൻ വിപുലീകരിച്ചു
  5. ദൃഢതയ്ക്കായി പ്രവർത്തന ക്യൂയിംഗ് അവതരിപ്പിച്ചു
  6. ఒక একক നെറ്റ്‌വർക്ക് കാർഡിൽ 97.4% ബാൻഡ്‌വിഡ്ത്ത് ഉപയോഗം കൈവരിച്ചു

32 നെറ്റ്‌വർക്ക് കാർഡുകളിലേക്ക് സ്കെയിൽ ചെയ്യുമ്പോൾ, ഞങ്ങൾ നിരവധി നിർണ്ണായക ഒപ്റ്റിമൈസേഷനുകൾ നടപ്പിലാക്കി:

  1. പ്രവർത്തന ക്യൂയിംഗ്: നെറ്റ്‌വർക്ക് കാർഡുകളിലേക്ക് നേരിട്ട് പ്രവർത്തനങ്ങൾ സമർപ്പിക്കുന്നതിന് പകരം, ഞങ്ങൾ ഒരു ആപ്ലിക്കേഷൻ തലത്തിലുള്ള ക്യൂ പരിപാലിക്കുന്നു. ഇത് നെറ്റ്‌വർക്ക് തിരക്കിനെതിരെ ദൃഢത നൽകുകയും പ്രോഗ്രാമിംഗ് മാതൃക ലളിതമാക്കുകയും ചെയ്യുന്നു.
  2. നെറ്റ്‌വർക്ക് വാർമപ്പ്: കണക്ഷനുകൾ മുൻകൂട്ടി സ്ഥാപിക്കുന്നത് സ്റ്റാർട്ടപ്പ് പ്രകടനം മെച്ചപ്പെടുത്തി.
  3. മൾട്ടി-ത്രെഡിംഗ്: ഓരോ GPU-ന്റെയും നെറ്റ്‌വർക്ക് പ്രവർത്തനങ്ങൾക്കായി സമർപ്പിച്ചിരിക്കുന്ന ത്രെഡുകൾ.
  4. CPU കോർ പിന്നിംഗ്: NUMA ഇഫക്റ്റുകളും കാഷെ മിസ്സുകളും ഒഴിവാക്കാൻ പ്രത്യേക CPU കോറുകളിലേക്ക് ത്രെഡുകൾ ബന്ധിപ്പിക്കുന്നു.
  5. സ്റ്റേറ്റ് ഷാർഡിംഗ്: ത്രെഡുകൾ തമ്മിലുള്ള തർക്കം കുറയ്ക്കുന്നു.
  6. പ്രവർത്തന ബാച്ചിംഗ്: ഒന്നിലധികം പ്രവർത്തനങ്ങൾ ഒരുമിച്ച് സമർപ്പിക്കുന്നു.
  7. ലസി ഓപ്പറേഷൻ പോസ്റ്റിംഗ്: പ്രവർത്തനങ്ങൾ ആദ്യം ആപ്ലിക്കേഷനിൽ ക്യൂ ചെയ്യുന്നു. കംപ്ലീഷൻ ക്യൂ പോൾ ചെയ്ത ശേഷം, നെറ്റ്‌വർക്ക് വിഭവങ്ങളുടെ കാര്യക്ഷമമായ ഉപയോഗം ഉറപ്പാക്കിക്കൊണ്ട്, തീർച്ചപ്പെടുത്തിയിരിക്കുന്ന പ്രവർത്തനങ്ങൾ നെറ്റ്‌വർക്ക് കാർഡിലേക്ക് സമർപ്പിക്കാൻ ഞങ്ങൾ ശ്രമിക്കുന്നു.
  8. NUMA-അവെയർ റിസോഴ്‌സ് അലോക്കേഷൻ: മെമ്മറി ആക്സസ് ലേറ്റൻസി കുറയ്ക്കുന്നതിന് ശരിയായ NUMA നോഡിൽ കംപ്ലീഷൻ ക്യൂകൾ പോലുള്ള libfabric വിഭവങ്ങൾ അനുവദിക്കുക.

ഈ ഒപ്റ്റിമൈസേഷനുകളിലൂടെ, ഞങ്ങൾ 3,108 Gbps എന്ന അന്തിമ പ്രകടനം കൈവരിച്ചു - സൈദ്ധാന്തിക പരമാവധി ബാൻഡ്‌വിഡ്ത്തിന്റെ 97.1%.

താഴെയുള്ള വീഡിയോ ഞങ്ങളുടെ കമാൻഡ്-ലൈൻ പ്രോഗ്രാം പ്രവർത്തിക്കുന്നതായി കാണിക്കുന്നു. ഇത് GPU മെമ്മറിയുടെ തുടർച്ചയല്ലാത്ത ഭാഗങ്ങൾ ഒരു റിമോട്ട് നോഡിലേക്ക് മാറ്റുന്നു, 3108.283 Gbps ട്രാൻസ്മിഷൻ വേഗത കൈവരിക്കുന്നു - നെറ്റ്‌വർക്ക് ഇൻഫ്രാസ്ട്രക്ചറിന്റെ സൈദ്ധാന്തിക ബാൻഡ്‌വിഡ്ത്ത് ഉപയോഗം പ്രകടമാക്കുന്നു:

ഉപസംഹാരം

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

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

നടപ്പാക്കൽ വിശദാംശങ്ങളും കോഡ് ഉദാഹരണങ്ങളും ഉൾപ്പെടെ ഈ യാത്രയുടെ പൂർണ്ണമായ സാങ്കേതിക ആഴത്തിലുള്ള വിശകലനം ഞങ്ങളുടെ ഓപ്പൺ സോഴ്സ് ശേഖരത്തിൽ ലഭ്യമാണ്.

ഉദ്ധരണി

BibTeX
@online{perplexity2025HighPerformanceGpuMemoryTransferOnAwsSagemakerHyperpod,
  author = {{Perplexity} and Lequn Chen and Phi Hoang},
  title = {{High-performance GPU memory transfer on AWS Sagemaker Hyperpod}},
  date = {2025-02-10},
  url = {https://www.perplexity.ai/hub/blog/high-performance-gpu-memory-transfer-on-aws-sagemaker-hyperpod}
}