Theoretical Speedup

This efficiency of the multi-domain method can be measured by the speedup coefficient. That is the ratio between the elapsed time of the original computation and the elapsed time obtained with the multi-domains method.

If the CPU cost of the main program (RAD2RAD) and time spent in communications are negligible, and that the time step and the cost per cycle of each domain are constant during the computation, an estimation of the speedup can be computed in order to determine if the use of multi-domains is relevant or not.

In the case of 2 domains, A and B, A being the domain with the smallest time step, the speedup can be obtained using the following formula: (1)
S p e e d u p = T M O N O T M U L T I = ( N e A C A + N e B C B ) N c A N e A C N A c A + N e B C B N c B MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbwvMCKf MBHbqefqvATv2CG4uz3bIuV1wyUbqedmvETj2BSbqefm0B1jxALjhi ov2DaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8 qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9 q8qqQ8frFve9Fve9Ff0dmeaacaGacmGadaWaaiqacaabaiaafaaake aacaWGtbGaamiCaiaadwgacaWGLbGaamizaiaadwhacaWGWbGaeyyp a0ZaaSaaaeaacaWGubWaaSbaaSqaaiaad2eacaWGpbGaamOtaiaad+ eaaeqaaaGcbaGaamivamaaBaaaleaacaWGnbGaamyvaiaadYeacaWG ubGaamysaaqabaaaaOGaeyypa0ZaaSaaaeaadaqadaqaaiaad6eaca WGLbWaaSbaaSqaaiaadgeaaeqaaOGaam4qamaaBaaaleaacaWGbbaa beaakiabgUcaRiaad6eacaWGLbWaaSbaaSqaaiaadkeaaeqaaOGaam 4qamaaBaaaleaacaWGcbaabeaaaOGaayjkaiaawMcaaiaad6eacaWG JbWaaSbaaSqaaiaadgeaaeqaaaGcbaGaamOtaiaadwgadaWgaaWcba GaamyqaaqabaGccaWGdbWaaSraaSqaaiaadgeaaeqaaOGaamOtaiaa dogadaWgaaWcbaGaamyqaaqabaGccqGHRaWkcaWGobGaamyzamaaBa aaleaacaWGcbaabeaakiaadoeadaWgaaWcbaGaamOqaaqabaGccaWG obGaam4yamaaBaaaleaacaWGcbaabeaaaaaaaa@686D@
Where,
Nc MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOtaiaado gaaaa@37B1@
Number of cycles for each domain
N e MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOtaiaado gaaaa@37B1@
Number of elements of each domain
C MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4qaaaa@36BE@
Average cost per element and per cycle for each domain
The formula can be rewritten as: (2)
Speedup= ξ+( 1ξ )ψ ξγ+( 1ξγ )ψ MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4uaiaadc hacaWGLbGaamyzaiaadsgacaWG1bGaamiCaiabg2da9maalaaabaGa eqOVdGNaey4kaSYaaeWaaeaacaaIXaGaeyOeI0IaeqOVdGhacaGLOa GaayzkaaGaeyyXICTaeqiYdKhabaGaeqOVdGNaeyyXICTaeq4SdCMa ey4kaSYaaeWaaeaacaaIXaGaeyOeI0IaeqOVdGNaeyyXICTaeq4SdC gacaGLOaGaayzkaaGaeyyXICTaeqiYdKhaaaaa@5CC9@
Where,
ξ = C A C B MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqOVdGNaey ypa0ZaaSaaaeaacaWGdbWaaSbaaSqaaiaadgeaaeqaaaGcbaGaam4q amaaBaaaleaacaWGcbaabeaaaaaaaa@3C4E@
Average cost per cycle ratio between domains
γ= N c A N c B = d t B d t A MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeq4SdCMaey ypa0ZaaSaaaeaacaWGobGaam4yamaaBaaaleaacaWGbbaabeaaaOqa aiaad6eacaWGJbWaaSbaaSqaaiaadkeaaeqaaaaakiabg2da9maala aabaGaamizaiaadshadaWgaaWcbaGaamOqaaqabaaakeaacaWGKbGa amiDamaaBaaaleaacaWGbbaabeaaaaaaaa@44EB@
Time step ratio
ψ = N e A N e A + N e B MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqiYdKNaey ypa0ZaaSaaaeaacaWGobGaamyzamaaBaaaleaacaWGbbaabeaaaOqa aiaad6eacaWGLbWaaSbaaSqaaiaadgeaaeqaaOGaey4kaSIaamOtai aadwgadaWgaaWcbaGaamOqaaqabaaaaaaa@41DE@
Percentage of elements in the domain with the smallest time step
If the average cost per cycle is the same in the 2 domains then the formula becomes: (3)
Speedup= 1 γ+( 1γ )ψ MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4uaiaadc hacaWGLbGaamyzaiaadsgacaWG1bGaamiCaiabg2da9maalaaabaGa aGymaaqaaiabeo7aNjabgUcaRmaabmaabaGaaGymaiabgkHiTiabeo 7aNbGaayjkaiaawMcaaiabgwSixlabeI8a5baaaaa@49B9@

Therefore, the speedup is very high when γ and ψ are close to zero, meaning that domain A is small compared to B and time step ratio is high. This is what is depicted in Figure 2.