luzzattigramsci.it

  

Bästa artiklarna:

  
Main / Vad är numa noder

Vad är numa noder

NUMA-system är avancerade serverplattformar med mer än en systembuss. De kan utnyttja ett stort antal processorer i en enda systembild med överlägsna förhållanden mellan pris och prestanda. Under det senaste decenniet har processorns klockhastighet ökat dramatiskt. En processor med flera gigahertz måste dock förses med en stor mängd minnesbandbredd för att effektivt kunna använda processorkraften.

Även en enda processor som kör en minnesintensiv arbetsbelastning, till exempel en vetenskaplig datorapplikation, kan begränsas av minnesbandbredd. Detta problem förstärks på symmetriska SMP-system med multiprocessing, där många processorer måste tävla om bandbredd på samma systembuss.

Vissa avancerade system försöker ofta lösa detta problem genom att bygga en höghastighetsdatabuss. En sådan lösning är dock dyr och begränsad i skalbarhet. NUMA är ett alternativt tillvägagångssätt som länkar flera små, kostnadseffektiva noder med en högpresterande anslutning. Varje nod innehåller processorer och minne, ungefär som ett litet SMP-system. En avancerad minneskontrollant tillåter dock en nod att använda minne på alla andra noder, vilket skapar en enda systembild. När en processor får åtkomst till minne som inte ligger i sitt eget nods fjärrminne måste data överföras via NUMA-anslutningen, vilket är långsammare än åtkomst till lokalt minne.

Eftersom en NUMA-arkitektur ger en enda systemavbildning kan den ofta köra ett operativsystem utan speciella optimeringar. Det finns många nackdelar med att använda ett sådant operativsystem på en NUMA-plattform. Den höga latensen för fjärrminnesåtkomst kan göra att processorerna inte utnyttjas och ständigt väntar på att data ska överföras till den lokala noden, och NUMA-anslutningen kan bli en flaskhals för applikationer med höga minnesbandbreddskrav.

Dessutom kan prestanda på ett sådant system vara mycket varierande. Det varierar till exempel om ett program har minne lokalt på en benchmarking-körning, men en efterföljande körning råkar placera allt minnet på en fjärrnod.

Detta fenomen kan göra kapacitetsplanering svår. Slutligen kanske processorklockor inte synkroniseras mellan flera noder, så applikationer som läser klockan direkt kan fungera felaktigt. Detta stöd kräver att programutvecklare ställer in och kompilerar om sina program för optimal prestanda. Optimeringar för ett system kan inte garanteras fungera bra på nästa generation av samma system.

Andra system har gjort det möjligt för en administratör att uttryckligen bestämma vilken nod applikationen ska köras på. Även om detta kan vara acceptabelt för vissa applikationer som kräver att 100 procent av minnet är lokalt, skapar det en administrativ börda och kan leda till obalans mellan noder när arbetsbelastningen ändras.

Helst erbjuder systemprogramvaran transparent NUMA-stöd, så att applikationer kan dra nytta omedelbart utan ändringar. Systemet bör maximera användningen av lokalt minne och schemalägga program på ett intelligent sätt utan att ständigt behöva ingripa av administratören.

Slutligen måste den svara bra på förändrade förhållanden utan att äventyra rättvisa eller prestanda. Utmaningar för operativsystem. Hjälp oss att förbättra denna information. Skicka feedback till docfeedback vmware.

(с) 2019 luzzattigramsci.it