Vad är Sun-Ni-lagen?
Sun-Ni-lagen är en metod som används vid parallellbehandling som försöker förbättra prestandan. Det kallas också minne begränsad speedup och föreslogs av professorerna Xian-He Sun och Lionel M. Ni. Denna lag skalar upp problemstorleken och försöker hitta en lösning som endast är begränsad av mängden tillgängligt minne. Det är en generalisering av två andra tillvägagångssätt som används i parallell databehandling, kallad Amdahls lag och Gustafsons lag.
En av utmaningarna i parallell databehandling är att ta reda på hur systemets prestanda förbättras när det skalas upp. Eftersom detta kan vara svårt att mäta, är en av de mest kända skalbarhetsmätningarna som studerats speedup. Speedup relaterar exekveringen av parallella program som körs på ett visst antal processorer och den körningstiden som det tar för det snabbaste sekventiella programmet att lösa problemet. En typ av speedup-strategi är att hålla problemstorleken konstant, så att antalet processorer som arbetar med problemet kan ökas. Detta kallas Amdahls lag och är känd som snabbstart i fast storlek.
Amadhls lag försöker därmed minska exekveringstiden med mer parallella processorer och fixar beräkningens arbetsbelastning som en konstant. Den försöker i huvudsak lösa problemet på mindre och mindre tid. Däremot försöker Gustafsons lag, även känd som fast-tid-speedup, att få ett resultat inom en fast tid och skala upp problemstorleken, genomföra fler åtgärder för att få en exakt lösning. Detta tillämpas på problem där det finns en tidsbegränsning, men det är inte viktigt att lösa dem på kortast möjliga tid.
Det minnesbegränsade speedup-tillvägagångssättet, eller Sun-Ni-lagen, handlar om minnesstorlek och hur det påverkar prestanda. Problemstorleken som kan hanteras påverkas av mängden tillgängligt minne. Ett begränsat fysiskt minne innebär att mer tid spenderas för att räkna ut lösningar för att lösa ett problem inom den parallella datorarkitekturen. Den metod som Sun-Ni-lagen tar är om den tidsgräns som anges av fasttidens hastighet uppnås och det finns tillräckligt med minnesutrymme, bör problemet skalas för att tillräckligt använda allt tillgängligt minne.
Detta är vad Sun-Ni-lagen gör, och formeln tar hänsyn till minnesstorlek och relaterar den till prestanda. Varje processor i en parallell datorarkitektur har ett fast minne, och formeln relaterar problemstorleken till den totala tillgängliga minneskapaciteten. Det minnesbegränsade hastighetsuppgift som anges i Sun-Ni-lagen är i huvudsak en generalisering av både fasttid och fast storlek. Med tanke på att den totala minnesstorleken ökar när antalet processorer ökar, försöker Sun-Ni-lagen att utnyttja allt det minnesutrymmet mer effektivt.