From 0c7a427052147bc374620707e8be21c580983a91 Mon Sep 17 00:00:00 2001 From: Huamin Chen Date: Thu, 26 Sep 2024 10:51:38 -0400 Subject: [PATCH] chore: load cpu architecture dependent models Signed-off-by: Huamin Chen --- pkg/bpf/kepler_bpfeb.o | Bin 15224 -> 18152 bytes pkg/bpf/kepler_bpfel.o | Bin 15224 -> 18152 bytes pkg/bpftest/test_bpfeb.o | Bin 13848 -> 16776 bytes pkg/bpftest/test_bpfel.o | Bin 13848 -> 16776 bytes pkg/config/config.go | 14 +++++++++++-- .../local/regressor/regressor_test.go | 19 +++++++++--------- pkg/model/node_component_energy.go | 2 +- pkg/model/node_platform_energy.go | 2 +- pkg/model/process_energy.go | 2 +- 9 files changed, 25 insertions(+), 14 deletions(-) diff --git a/pkg/bpf/kepler_bpfeb.o b/pkg/bpf/kepler_bpfeb.o index be2eedd1dfdb270336320a50a2f9197fc7a5fc55..0482fe515648550e8089771de5e36addd478eb83 100644 GIT binary patch literal 18152 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 literal 15224 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 P80&4sW!vZPHVpp_R`WfK literal 15224 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 D;7UwF diff --git a/pkg/bpftest/test_bpfeb.o b/pkg/bpftest/test_bpfeb.o index f190a3ab7bac5bef9e2497fb95beba4b46cd3b80..4d3fc92995b29f1ef97c957988f5fb593a0c4ca7 100644 GIT binary patch literal 16776 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 literal 13848 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 JZu`IOe*v@C&$a*n diff --git a/pkg/bpftest/test_bpfel.o b/pkg/bpftest/test_bpfel.o index 5c8972722c3cd9d16b12680db8a5487ce2871ca9..8a869941ebafb8d8d0117fd26a3b4464203923cf 100644 GIT binary patch literal 16776 zcmd^G4``j&b-$9HWXW+H*^U!cX_C)QqCCa6EZM1}GP%@|teZCVJclBSIYVVFT@b*xBZ858SZ-q@%IW@u1~q1zB!M+FOb zzu&#*zIS!>9K|bxK@Ym`-rqgvo_o(Z_s{oFzjor}v$Zuf##4>?si`1eYfR(ON;zeV zDYFxji`}k%v0d_eT%Ngj{U%E-P?m62_BXx5f!#HOwlMj|RV#O;$<7Tr~ zX8T!u+wr&58gsphUg}|2yTz&r>G$YsXaIVUoq-mAU2>%_9QRrk{Twfe{ZM0i-uZFz zyi>#hT0(&;*f7xy^)1mF$uChuvs z6~E)Ejn|WD{b0j-{GiHu@%HRCuA_;XPOE7P^s~pwW{0nc{;(hCx7+LIw0Y2KV!ype ze!P>dG9O!IK1w_$Td!F=CR^S7nrvMbyd?R8fx?tFg0c1S;QK2N^9>iqZe4arv|zb5%r z$(JQxl6*n(%aYH#{Qv1Z*8cSKf$N5G(Q(i0baAOSpSOiu%_lGSQR6@HZ8vXsH@NGO za6Zg%92ieXj1#NM`*saiwJ~?4ZHE2M;fWe|y)f~%TOW7r@qDSTiEPEh+dVc;6~5Hh zxbtP=?Ow%q_35`}Z2j%-(?9R~C*xO-G`V%!`Y()kwe_##zhT|mC>rC>H9|jSo*7H$ zqT??GW4jfVTtZHyO1bH-9oi;TS;hT zsGl;{cvntD$bW$3m0d@fF-jq=ATefBNIyd2Zo7o^A4s6>_u|L5L$Q{=B%zN@^)l8| zNTJ>jfI-_^@e}Hmxj^1JJJ64(TG}R58~KuwpOX4;d>@xO+Ralvg|vc1A50-}d=DZm zAvL){ZQp}(IKGF0h1QMFk16c$AraJm4*lW#OFP-^k0AH`g}QEM?0cMo?T_9<*X@k! z)1s^W7P@X{T)m=;*J0Icyq$4z-Ga6sz>n93q7MV>?j#sQ;UMxHa{O)UM46=d!w@F_ zkYlgoGhPoM800@Ld}OuUhe%-A9rC}o7;^;pCh`X4jaax`C(X!-@8#xzswZq_f3|+I zQf}gSFS~`c{Yk0+j>9{i0_JtspDO1!EUny^)SoUyDKMSBGlg}GA!>6%56b88I*ZXM2e91vjB>a zI#>WjNcW;I4Ak~Te~>r^+RmJbcGAr(w*_PV1z-}Yj2Rj!nK(Z7!VAY&Sx|62n0rlht1fL z$2kQ2mWPlV9XS{A$BcCyArrr4W^r(|fbk5b3#K%Y&ze`V6Xtw6HG3!_f)QgB zGD4Py2J9H);dDM2XPi9`*|?BR4`eYCjNcA=EK?d99Vvb|H?T|zmc~sfTP($|Wb?Uf zA-+%;DrIA9e5sJmWKAJ`Aui=jN5?_@oyng)Na+p~Ix>t=^kI#Y=SPPIqQ^3&@%BK0 z>&dDZG)+D*61eDS1l_be&W(<~f&gZ7+2Lec**p8Aw#-w%}&hjZUPG%aLHV}+5Z^C{=>4WG}>C<@^?qQw zcF(C3FP@@9o0{5!79Cs%`=jE}7qg>hlbX?PyKG_{*9{46l2GO2JC+|vW3FwCuN^=X z_P0Me-urC){O3;eJ%`~)z+}c2v1AA0;)S77W-t!t?7@&z3EnN6C9$GqvNo~kyj~RN zzQSF@+A~tLKE-~4r5E{`Qr>u?Gh=7z(J#aAc9GJj-WSE;yq{a61?){$6CM5HvCsCN zJQ2Te?9_?q>8R5Mn2gNm*a&B3XiP=I2C1sZ(W6n9(}IaIn#*M~B|rb-^vD3Vks_yy z(_Um;sz-*5Y8@OnzhKQtJ9)(! zw)yQYv~nXmY29{$QG{y5jb%yiN9-!)K$hvS78k*y$7DI974WjrRKxh*o{AI zVk>UhqI{~Ao0MzNX7k;wJaYPIlVwqTbq6OJHt><`c*(`t?d7GSTj0l@e+fOnfjA7^ zOfb@$JMIQ>{%$stO-BjZO|g_N4P|g?kQ*AwM)n-qye(D%CqT~^Y{X@O)1Z8|a8}Mu zdvHe?zrvf^DiK?EvhK%LV&^UotnyZwv3p~-P#7)9t`Ml^$sSw%G7u|=-4}I`&S2NI zdjW!A{o|^=!`B^`l|ktxRBqYU7E!^|(PO@f`}{yQS4yKZvJO;O=+gJIZrk4256nf| zFrGL%tS5MdRqbNs!#vf5$*^vj9F2ISjE=;Wo|8_!-6Xsz;@l0F5qcn@cW!B5c$wuJ zR5PL-&{KL&NMCOa9p0 z5P|UG7Cl<&b=Pv-B#Um#^#jMG%vP=x*6$^u0(;)_oaSmt=Q6RK&A2|aI^hytI8yn+ zsH?LR7k+MfZP>-vS((kH^F>@?*zn6lRBpbzfCrHdBOS$!7+97*f!|L; z*yCw*|Gr+Y;Hzwjsz-&Av^2jVr&t%e*!$%X@Ee=!jrYTI!1Z_6m+g9$II6dHaXg+s zk20~3(~@8xr)9xDPFDr{I7Nsr+xs{r1^YO4Dt@0))f)jYowdYIqW+}i);N<|5e@*Za z$nTx1H!A^d2j+JUwAb_31iuXVhcDHe7R<9S-kpMdys=a*-^aU0u#fj_fVnQ`1p9c; zEBJ3c?-jxH1J@;%h?V#8?nK-;{@;f^+ve&GLSDvOfqMc>e!t)a z$k)DucmbE!^?=(${ko>!6!ugzl`xU4JAMP!@Eeu=(c@m>e+B#pdh6^S&GzpC-~TIh zW=i{u^{x102K92Yb{!icrbiORu&&O-3{fgi^JX5d3 z;MM|pj@R!?kAuJO;X0F&ec>!{%R33<_o+VuuHh!M3Dt4JRG~WfTGNwO)LjFGy!)hn z4s$W2cY$l{m7J^f8uyBPzmlg^oqekjYBAS-`7@KH#AZuK_UGcc^@ z+CmiUoD1te2T&XMp;tQifygh|ekv{gOX@lIL;72(=iVApmyDCK4CzNA&%HdPgvhUY zLxuSct>TbMCzwh{kYW6sro;V`XyD* z_f;IvimHF!jvpJdkbQ53awHgR`wn|Lz>lE365uwJQxpU-Bj%Y#V)iH!&mTo;w+`~zfe+;Ql=8ea50e%>K?vW(&i6bNuafB3(pEx1|#EkFgrve-S&m)mM zf5jq)A3~Y;P$YVeMZca{X8-fTXBHuK2llYP*#MKj5Mb)Rrtn&T+1{@s-+zB#KlQc9 zMD+b%4lvs{%l!3xUJH_lIsT+fbvEO8QUQ*DPX?IseF5hD7zl71a6Z7C4_^u}=fiY> z8UITGX8hk1OfxzD1%=;N_EEw={0x~O;w?zHeYHePpA0%!ZqM~c z^6mZn@_5#<%X~kdJbyv)mleLI@C}966mH}oL0*50!byew{PprZir=U3pu*z{Pb)mD z@VvrH0j9rsO-tfYvxuPVHv@T$Vr z(7@hi4m7}#!kr4I6z)~HU*WvMQwq;0Jg4wwg_jh*s_=@!s|p+0uUXCY;`eipBgOaE zlb)Ya{9c9qdEn*qia(|BY=F5`=M`R1cv<0V3g1w8P2t91e`kL!3Ww(x`Q3`&qi}eB zQGQVI#}%Gdcvj(gg%=cFR`{C2Hxyn|*nZH8aWX#Eeog|A$4P~|74A{EPvJp@#}%Gd zcvj(gg%=cFR`{C2Hxyn|nBTmG_O>XTRJdE=9)4AX)KJe48yehB7!Y|LluVdsRppd=ctF{iji!PAlN&W=k;ke7@ha^87A8}GP16QES567R7MmFz?A1CaJ z54+k!His&kcgBaLTJo+g!JRJevN^>4N3(8e|F3>8VKbCVg>~(}As@i%=NQ~OL*g;R zI@xZ^tdx{`xnKg4Wm&FaTP~$kxyBV{?yT_begF4Ef3^Po{ojn7!=k1%IpO5%KaI7H}09dEn zulh$#s)4uP>tKA9h-Iyc;XCj4k}lWde-DkT`d`-8RcTKDQ>E|U$DbcPSL;8q$2AytSO{2&B*%Y_(IZSeG?UW?od9@hX|lZ Q2F!N+p9tT73z?w*0kw0wh5!Hn literal 13848 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 diff --git a/pkg/config/config.go b/pkg/config/config.go index 6e0cf39f27..f8d95bd4ba 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -247,8 +247,18 @@ func setModelServerReqEndpoint() string { // return local path to power model weight // e.g., /var/lib/kepler/data/model_weight/acpi_AbsPowerModel.json -func GetDefaultPowerModelURL(modelOutputType, energySource string) string { - return fmt.Sprintf(`/var/lib/kepler/data/model_weight/%s_%sModel.json`, energySource, modelOutputType) +func GetDefaultPowerModelURL(modelOutputType, energySource, cpuArch string) string { + // strip white space or new line from cpuArch + cpuArch = strings.TrimSuffix(cpuArch, "\n") + cpuArch = strings.TrimSpace(cpuArch) + fullPath := fmt.Sprintf(`/var/lib/kepler/data/%s/model_weight/%s_%sModel.json`, cpuArch, energySource, modelOutputType) + // if the model does not exist, return the default model + if _, err := os.Stat(fullPath); os.IsNotExist(err) { + klog.Warningf("model %s does not exist, using default model", fullPath) + return fmt.Sprintf(`/var/lib/kepler/data/model_weight/%s_%sModel.json`, energySource, modelOutputType) + } + // otherwise, return the full path + return fullPath } func logBoolConfigs() { diff --git a/pkg/model/estimator/local/regressor/regressor_test.go b/pkg/model/estimator/local/regressor/regressor_test.go index 8f2d24eb77..1b7facfc37 100644 --- a/pkg/model/estimator/local/regressor/regressor_test.go +++ b/pkg/model/estimator/local/regressor/regressor_test.go @@ -33,6 +33,7 @@ import ( "github.com/sustainable-computing-io/kepler/pkg/config" "github.com/sustainable-computing-io/kepler/pkg/model/types" + "github.com/sustainable-computing-io/kepler/pkg/node" "github.com/sustainable-computing-io/kepler/pkg/sensors/components/source" ) @@ -142,7 +143,7 @@ func genRegressor(outputType types.ModelOutputType, energySource, modelServerEnd func GetNodePlatformPowerFromDummyServer(handler http.HandlerFunc, trainer string) (power []uint64) { testServer := httptest.NewServer(handler) - modelWeightFilepath := config.GetDefaultPowerModelURL(types.AbsPower.String(), types.PlatformEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.AbsPower.String(), types.PlatformEnergySource, node.CPUArchitecture()) r := genRegressor(types.AbsPower, types.PlatformEnergySource, testServer.URL, "", modelWeightFilepath, trainer) err := r.Start() Expect(err).To(BeNil()) @@ -156,7 +157,7 @@ func GetNodePlatformPowerFromDummyServer(handler http.HandlerFunc, trainer strin func GetNodeComponentsPowerFromDummyServer(handler http.HandlerFunc, trainer string) (compPowers []source.NodeComponentsEnergy) { testServer := httptest.NewServer(handler) - modelWeightFilepath := config.GetDefaultPowerModelURL(types.AbsPower.String(), types.ComponentEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.AbsPower.String(), types.ComponentEnergySource, node.CPUArchitecture()) r := genRegressor(types.AbsPower, types.ComponentEnergySource, testServer.URL, "", modelWeightFilepath, trainer) err := r.Start() Expect(err).To(BeNil()) @@ -184,7 +185,7 @@ var _ = Describe("Test Regressor Weight Unit (default trainer)", func() { It("Get Process Platform Power By Default Regression Estimator with ModelServerEndpoint", func() { testServer := httptest.NewServer(DummyWeightHandler) - modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.PlatformEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.PlatformEnergySource, node.CPUArchitecture()) r := genRegressor(types.DynPower, types.PlatformEnergySource, testServer.URL, "", modelWeightFilepath, "") err := r.Start() Expect(err).To(BeNil()) @@ -205,7 +206,7 @@ var _ = Describe("Test Regressor Weight Unit (default trainer)", func() { It("Get Process Components Power By Default Regression Estimator with ModelServerEndpoint", func() { testServer := httptest.NewServer(DummyWeightHandler) - modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.ComponentEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.ComponentEnergySource, node.CPUArchitecture()) r := genRegressor(types.DynPower, types.ComponentEnergySource, testServer.URL, "", modelWeightFilepath, "") err := r.Start() Expect(err).To(BeNil()) @@ -229,7 +230,7 @@ var _ = Describe("Test Regressor Weight Unit (default trainer)", func() { Context("without model server", func() { It("Get Node Platform Power By Default Regression Estimator without ModelServerEndpoint", func() { /// Estimate Node Components Power using Linear Regression - modelWeightFilepath := config.GetDefaultPowerModelURL(types.AbsPower.String(), types.ComponentEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.AbsPower.String(), types.ComponentEnergySource, node.CPUArchitecture()) initModelURL := "https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-db/main/models/v0.6/nx12/std_v0.6/acpi/AbsPower/BPFOnly/SGDRegressorTrainer_1.json" r := genRegressor(types.AbsPower, types.PlatformEnergySource, "", initModelURL, modelWeightFilepath, "") err := r.Start() @@ -242,7 +243,7 @@ var _ = Describe("Test Regressor Weight Unit (default trainer)", func() { It("Get Node Components Power By Default Regression Estimator without ModelServerEndpoint", func() { /// Estimate Node Components Power using Linear Regression - modelWeightFilepath := config.GetDefaultPowerModelURL(types.AbsPower.String(), types.ComponentEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.AbsPower.String(), types.ComponentEnergySource, node.CPUArchitecture()) initModelURL := "https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-db/main/models/v0.6/nx12/std_v0.6/rapl/AbsPower/BPFOnly/SGDRegressorTrainer_1.json" r := genRegressor(types.AbsPower, types.ComponentEnergySource, "", initModelURL, modelWeightFilepath, "") err := r.Start() @@ -255,7 +256,7 @@ var _ = Describe("Test Regressor Weight Unit (default trainer)", func() { It("Get Process Components Power By Default Regression Estimator without ModelServerEndpoint", func() { // Estimate Process Components Power using Linear Regression - modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.ComponentEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.ComponentEnergySource, node.CPUArchitecture()) initModelURL := "https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-db/main/models/v0.6/nx12/std_v0.6/acpi/DynPower/BPFOnly/SGDRegressorTrainer_1.json" r := genRegressor(types.DynPower, types.PlatformEnergySource, "", initModelURL, modelWeightFilepath, "") err := r.Start() @@ -270,7 +271,7 @@ var _ = Describe("Test Regressor Weight Unit (default trainer)", func() { It("Get Process Components Power By Default Regression Estimator without ModelServerEndpoint", func() { // Estimate Process Components Power using Linear Regression - modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.ComponentEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.ComponentEnergySource, node.CPUArchitecture()) initModelURL := "https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-db/main/models/v0.6/nx12/std_v0.6/rapl/DynPower/BPFOnly/SGDRegressorTrainer_1.json" r := genRegressor(types.DynPower, types.ComponentEnergySource, "", initModelURL, modelWeightFilepath, "") err := r.Start() @@ -288,7 +289,7 @@ var _ = Describe("Test Regressor Weight Unit (default trainer)", func() { DescribeTable("Test core ratio computation", func(discoveredCore, modelCores int, expectedCoreRatio float64) { ModelCores = modelCores testServer := httptest.NewServer(DummyWeightHandler) - modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.PlatformEnergySource) + modelWeightFilepath := config.GetDefaultPowerModelURL(types.DynPower.String(), types.PlatformEnergySource, node.CPUArchitecture()) r := genRegressor(types.DynPower, types.PlatformEnergySource, testServer.URL, "", modelWeightFilepath, "") r.DiscoveredMachineSpec = &config.MachineSpec{ Cores: discoveredCore, diff --git a/pkg/model/node_component_energy.go b/pkg/model/node_component_energy.go index d5e78992f2..aaf1ff88f2 100644 --- a/pkg/model/node_component_energy.go +++ b/pkg/model/node_component_energy.go @@ -37,7 +37,7 @@ func createNodeComponentPowerModelConfig(nodeFeatureNames []string) *types.Model systemMetaDataFeatureValues := node.MetadataFeatureValues() modelConfig := CreatePowerModelConfig(config.NodeComponentsPowerKey()) if modelConfig.InitModelURL == "" { - modelConfig.InitModelFilepath = config.GetDefaultPowerModelURL(modelConfig.ModelOutputType.String(), types.ComponentEnergySource) + modelConfig.InitModelFilepath = config.GetDefaultPowerModelURL(modelConfig.ModelOutputType.String(), types.ComponentEnergySource, node.CPUArchitecture()) } modelConfig.NodeFeatureNames = nodeFeatureNames modelConfig.SystemMetaDataFeatureNames = systemMetaDataFeatureNames diff --git a/pkg/model/node_platform_energy.go b/pkg/model/node_platform_energy.go index 346f82266b..dc3680b84a 100644 --- a/pkg/model/node_platform_energy.go +++ b/pkg/model/node_platform_energy.go @@ -40,7 +40,7 @@ func CreateNodePlatformPoweEstimatorModel(nodeFeatureNames []string) { if !platform.IsSystemCollectionSupported() { modelConfig := CreatePowerModelConfig(config.NodePlatformPowerKey()) if modelConfig.InitModelURL == "" { - modelConfig.InitModelFilepath = config.GetDefaultPowerModelURL(modelConfig.ModelOutputType.String(), types.PlatformEnergySource) + modelConfig.InitModelFilepath = config.GetDefaultPowerModelURL(modelConfig.ModelOutputType.String(), types.PlatformEnergySource, node.CPUArchitecture()) } modelConfig.NodeFeatureNames = nodeFeatureNames modelConfig.SystemMetaDataFeatureNames = systemMetaDataFeatureNames diff --git a/pkg/model/process_energy.go b/pkg/model/process_energy.go index 32b22cfa3d..0112a77b47 100644 --- a/pkg/model/process_energy.go +++ b/pkg/model/process_energy.go @@ -44,7 +44,7 @@ func createProcessPowerModelConfig(powerSourceTarget string, processFeatureNames return nil } if modelConfig.InitModelURL == "" { - modelConfig.InitModelFilepath = config.GetDefaultPowerModelURL(modelConfig.ModelOutputType.String(), energySource) + modelConfig.InitModelFilepath = config.GetDefaultPowerModelURL(modelConfig.ModelOutputType.String(), energySource, node.CPUArchitecture()) } modelConfig.ProcessFeatureNames = processFeatureNames modelConfig.SystemMetaDataFeatureNames = systemMetaDataFeatureNames