@grnsft/if 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/.devcontainer/devcontainer.json +38 -0
  2. package/.editorconfig +8 -0
  3. package/.env.example +9 -0
  4. package/.eslintignore +4 -0
  5. package/.eslintrc.json +8 -0
  6. package/.github/ISSUE_TEMPLATE/agenda.md +36 -0
  7. package/.github/ISSUE_TEMPLATE/blank-issue.md +10 -0
  8. package/.github/ISSUE_TEMPLATE/feedback.md +42 -0
  9. package/.github/ISSUE_TEMPLATE/model-plugin.md +63 -0
  10. package/.github/ISSUE_TEMPLATE/user-story.md +10 -0
  11. package/.github/PULL_REQUEST_TEMPLATE.md +21 -0
  12. package/.github/workflows/nodejs-ci.yml +34 -0
  13. package/.gitmodules +3 -0
  14. package/.prettierrc.js +3 -0
  15. package/CONTRIBUTING.md +194 -0
  16. package/LICENSE +21 -0
  17. package/Makefile +16 -0
  18. package/README.md +67 -0
  19. package/build/__mocks__/azure/index.d.ts +11 -0
  20. package/build/__mocks__/azure/index.js +132 -0
  21. package/build/__mocks__/boavizta/countries.json +138 -0
  22. package/build/__mocks__/boavizta/instance_types.json +625 -0
  23. package/build/__mocks__/boavizta/providers.json +1 -0
  24. package/build/__mocks__/fs/index.d.ts +3 -0
  25. package/build/__mocks__/fs/index.js +56 -0
  26. package/build/__mocks__/model-universe/index.d.ts +33 -0
  27. package/build/__mocks__/model-universe/index.js +68 -0
  28. package/build/__mocks__/watt-time/data.json +119 -0
  29. package/build/__tests__/integration/ompl/index.test.d.ts +1 -0
  30. package/build/__tests__/integration/ompl/index.test.js +61 -0
  31. package/build/__tests__/unit/lib/azure-importer/index.test.d.ts +1 -0
  32. package/build/__tests__/unit/lib/azure-importer/index.test.js +152 -0
  33. package/build/__tests__/unit/lib/boavizta/index.test.d.ts +1 -0
  34. package/build/__tests__/unit/lib/boavizta/index.test.js +579 -0
  35. package/build/__tests__/unit/lib/case-studies/aveva.test.d.ts +1 -0
  36. package/build/__tests__/unit/lib/case-studies/aveva.test.js +36 -0
  37. package/build/__tests__/unit/lib/case-studies/emem.test.d.ts +1 -0
  38. package/build/__tests__/unit/lib/case-studies/emem.test.js +108 -0
  39. package/build/__tests__/unit/lib/case-studies/eshoppen.test.d.ts +1 -0
  40. package/build/__tests__/unit/lib/case-studies/eshoppen.test.js +53 -0
  41. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.d.ts +1 -0
  42. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.js +23 -0
  43. package/build/__tests__/unit/lib/ccf/index.test.d.ts +1 -0
  44. package/build/__tests__/unit/lib/ccf/index.test.js +223 -0
  45. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.d.ts +1 -0
  46. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.js +73 -0
  47. package/build/__tests__/unit/lib/sci/index.test.d.ts +1 -0
  48. package/build/__tests__/unit/lib/sci/index.test.js +106 -0
  49. package/build/__tests__/unit/lib/sci-e/index.test.d.ts +1 -0
  50. package/build/__tests__/unit/lib/sci-e/index.test.js +30 -0
  51. package/build/__tests__/unit/lib/sci-m/index.test.d.ts +1 -0
  52. package/build/__tests__/unit/lib/sci-m/index.test.js +58 -0
  53. package/build/__tests__/unit/lib/sci-o/index.test.d.ts +1 -0
  54. package/build/__tests__/unit/lib/sci-o/index.test.js +42 -0
  55. package/build/__tests__/unit/lib/shell-imp/index.test.d.ts +1 -0
  56. package/build/__tests__/unit/lib/shell-imp/index.test.js +21 -0
  57. package/build/__tests__/unit/lib/tdp-finder/index.test.d.ts +1 -0
  58. package/build/__tests__/unit/lib/tdp-finder/index.test.js +62 -0
  59. package/build/__tests__/unit/lib/teads-aws/index.test.d.ts +1 -0
  60. package/build/__tests__/unit/lib/teads-aws/index.test.js +170 -0
  61. package/build/__tests__/unit/lib/teads-curve/index.test.d.ts +1 -0
  62. package/build/__tests__/unit/lib/teads-curve/index.test.js +146 -0
  63. package/build/__tests__/unit/lib/watt-time/index.test.d.ts +1 -0
  64. package/build/__tests__/unit/lib/watt-time/index.test.js +106 -0
  65. package/build/__tests__/unit/util/args.test.d.ts +1 -0
  66. package/build/__tests__/unit/util/args.test.js +92 -0
  67. package/build/__tests__/unit/util/models-universe.test.d.ts +1 -0
  68. package/build/__tests__/unit/util/models-universe.test.js +211 -0
  69. package/build/__tests__/unit/util/observatory.test.d.ts +1 -0
  70. package/build/__tests__/unit/util/observatory.test.js +91 -0
  71. package/build/__tests__/unit/util/supercomputer.test.d.ts +1 -0
  72. package/build/__tests__/unit/util/supercomputer.test.js +231 -0
  73. package/build/__tests__/unit/util/yaml.test.d.ts +1 -0
  74. package/build/__tests__/unit/util/yaml.test.js +59 -0
  75. package/build/config/config.d.ts +32 -0
  76. package/build/config/config.js +74 -0
  77. package/build/config/index.d.ts +2 -0
  78. package/build/config/index.js +8 -0
  79. package/build/config/strings.d.ts +14 -0
  80. package/build/config/strings.js +30 -0
  81. package/build/index.d.ts +1 -0
  82. package/build/index.js +46 -0
  83. package/build/lib/azure-importer/index.d.ts +55 -0
  84. package/build/lib/azure-importer/index.js +314 -0
  85. package/build/lib/boavizta/index.d.ts +53 -0
  86. package/build/lib/boavizta/index.js +254 -0
  87. package/build/lib/case-studies/aveva-model.d.ts +29 -0
  88. package/build/lib/case-studies/aveva-model.js +53 -0
  89. package/build/lib/case-studies/emem-model.d.ts +42 -0
  90. package/build/lib/case-studies/emem-model.js +93 -0
  91. package/build/lib/case-studies/eshoppen-model.d.ts +24 -0
  92. package/build/lib/case-studies/eshoppen-model.js +123 -0
  93. package/build/lib/case-studies/index.d.ts +4 -0
  94. package/build/lib/case-studies/index.js +21 -0
  95. package/build/lib/case-studies/sci-accenture-model.d.ts +10 -0
  96. package/build/lib/case-studies/sci-accenture-model.js +37 -0
  97. package/build/lib/ccf/aws-embodied.json +5591 -0
  98. package/build/lib/ccf/aws-instances.json +21116 -0
  99. package/build/lib/ccf/aws-use.json +79 -0
  100. package/build/lib/ccf/azure-embodied.json +6547 -0
  101. package/build/lib/ccf/azure-instances.json +8332 -0
  102. package/build/lib/ccf/azure-use.json +58 -0
  103. package/build/lib/ccf/gcp-embodied.json +3049 -0
  104. package/build/lib/ccf/gcp-instances.json +3880 -0
  105. package/build/lib/ccf/gcp-use.json +58 -0
  106. package/build/lib/ccf/index.d.ts +63 -0
  107. package/build/lib/ccf/index.js +338 -0
  108. package/build/lib/cloud-instance-metadata/aws-instances.json +1 -0
  109. package/build/lib/cloud-instance-metadata/azure-instances.json +1 -0
  110. package/build/lib/cloud-instance-metadata/index.d.ts +15 -0
  111. package/build/lib/cloud-instance-metadata/index.js +104 -0
  112. package/build/lib/index.d.ts +15 -0
  113. package/build/lib/index.js +32 -0
  114. package/build/lib/interfaces/ccf.d.ts +19 -0
  115. package/build/lib/interfaces/ccf.js +3 -0
  116. package/build/lib/interfaces/index.d.ts +7 -0
  117. package/build/lib/interfaces/index.js +18 -0
  118. package/build/lib/sci/index.d.ts +13 -0
  119. package/build/lib/sci/index.js +131 -0
  120. package/build/lib/sci-e/index.d.ts +38 -0
  121. package/build/lib/sci-e/index.js +85 -0
  122. package/build/lib/sci-m/index.d.ts +10 -0
  123. package/build/lib/sci-m/index.js +124 -0
  124. package/build/lib/sci-o/index.d.ts +17 -0
  125. package/build/lib/sci-o/index.js +52 -0
  126. package/build/lib/shell-imp/index.d.ts +32 -0
  127. package/build/lib/shell-imp/index.js +82 -0
  128. package/build/lib/tdp-finder/index.d.ts +19 -0
  129. package/build/lib/tdp-finder/index.js +98 -0
  130. package/build/lib/teads-aws/aws-embodied.json +1 -0
  131. package/build/lib/teads-aws/aws-instances.json +1 -0
  132. package/build/lib/teads-aws/index.d.ts +58 -0
  133. package/build/lib/teads-aws/index.js +208 -0
  134. package/build/lib/teads-curve/index.d.ts +52 -0
  135. package/build/lib/teads-curve/index.js +158 -0
  136. package/build/lib/watt-time/index.d.ts +18 -0
  137. package/build/lib/watt-time/index.js +204 -0
  138. package/build/types/azure-importer.d.ts +29 -0
  139. package/build/types/azure-importer.js +3 -0
  140. package/build/types/boavizta.d.ts +7 -0
  141. package/build/types/boavizta.js +3 -0
  142. package/build/types/common.d.ts +7 -0
  143. package/build/types/common.js +9 -0
  144. package/build/types/impl.d.ts +40 -0
  145. package/build/types/impl.js +3 -0
  146. package/build/types/models-universe.d.ts +24 -0
  147. package/build/types/models-universe.js +3 -0
  148. package/build/types/process-args.d.ts +7 -0
  149. package/build/types/process-args.js +3 -0
  150. package/build/types/supercomputer.d.ts +4 -0
  151. package/build/types/supercomputer.js +3 -0
  152. package/build/util/args.d.ts +8 -0
  153. package/build/util/args.js +48 -0
  154. package/build/util/errors.d.ts +6 -0
  155. package/build/util/errors.js +22 -0
  156. package/build/util/helpers.d.ts +4 -0
  157. package/build/util/helpers.js +18 -0
  158. package/build/util/models-universe.d.ts +28 -0
  159. package/build/util/models-universe.js +95 -0
  160. package/build/util/observatory.d.ts +20 -0
  161. package/build/util/observatory.js +31 -0
  162. package/build/util/supercomputer.d.ts +30 -0
  163. package/build/util/supercomputer.js +109 -0
  164. package/build/util/validations.d.ts +25 -0
  165. package/build/util/validations.js +52 -0
  166. package/build/util/yaml.d.ts +13 -0
  167. package/build/util/yaml.js +36 -0
  168. package/coverage/clover.xml +1172 -0
  169. package/coverage/coverage-final.json +27 -0
  170. package/coverage/lcov-report/base.css +224 -0
  171. package/coverage/lcov-report/block-navigation.js +87 -0
  172. package/coverage/lcov-report/config/config.ts.html +310 -0
  173. package/coverage/lcov-report/config/index.html +146 -0
  174. package/coverage/lcov-report/config/index.ts.html +91 -0
  175. package/coverage/lcov-report/config/strings.ts.html +118 -0
  176. package/coverage/lcov-report/favicon.png +0 -0
  177. package/coverage/lcov-report/index.html +341 -0
  178. package/coverage/lcov-report/lib/boavizta/index.html +116 -0
  179. package/coverage/lcov-report/lib/boavizta/index.ts.html +1171 -0
  180. package/coverage/lcov-report/lib/case-studies/aveva-model.ts.html +277 -0
  181. package/coverage/lcov-report/lib/case-studies/emem-model.ts.html +439 -0
  182. package/coverage/lcov-report/lib/case-studies/eshoppen-model.ts.html +550 -0
  183. package/coverage/lcov-report/lib/case-studies/index.html +176 -0
  184. package/coverage/lcov-report/lib/case-studies/index.ts.html +97 -0
  185. package/coverage/lcov-report/lib/case-studies/sci-accenture-model.ts.html +232 -0
  186. package/coverage/lcov-report/lib/ccf/index.html +116 -0
  187. package/coverage/lcov-report/lib/ccf/index.ts.html +1339 -0
  188. package/coverage/lcov-report/lib/cloud-instance-metadata/index.html +116 -0
  189. package/coverage/lcov-report/lib/cloud-instance-metadata/index.ts.html +370 -0
  190. package/coverage/lcov-report/lib/index.html +116 -0
  191. package/coverage/lcov-report/lib/index.ts.html +121 -0
  192. package/coverage/lcov-report/lib/sci/index.html +116 -0
  193. package/coverage/lcov-report/lib/sci/index.ts.html +571 -0
  194. package/coverage/lcov-report/lib/sci-e/index.html +116 -0
  195. package/coverage/lcov-report/lib/sci-e/index.ts.html +403 -0
  196. package/coverage/lcov-report/lib/sci-m/index.html +116 -0
  197. package/coverage/lcov-report/lib/sci-m/index.ts.html +487 -0
  198. package/coverage/lcov-report/lib/sci-o/index.html +116 -0
  199. package/coverage/lcov-report/lib/sci-o/index.ts.html +265 -0
  200. package/coverage/lcov-report/lib/shell-imp/index.html +116 -0
  201. package/coverage/lcov-report/lib/shell-imp/index.ts.html +376 -0
  202. package/coverage/lcov-report/lib/teads-aws/index.html +116 -0
  203. package/coverage/lcov-report/lib/teads-aws/index.ts.html +823 -0
  204. package/coverage/lcov-report/lib/teads-curve/index.html +116 -0
  205. package/coverage/lcov-report/lib/teads-curve/index.ts.html +625 -0
  206. package/coverage/lcov-report/lib/watt-time/index.html +116 -0
  207. package/coverage/lcov-report/lib/watt-time/index.ts.html +829 -0
  208. package/coverage/lcov-report/prettify.css +1 -0
  209. package/coverage/lcov-report/prettify.js +2 -0
  210. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  211. package/coverage/lcov-report/sorter.js +196 -0
  212. package/coverage/lcov-report/types/common.ts.html +109 -0
  213. package/coverage/lcov-report/types/index.html +116 -0
  214. package/coverage/lcov-report/util/args.ts.html +244 -0
  215. package/coverage/lcov-report/util/index.html +176 -0
  216. package/coverage/lcov-report/util/models-universe.ts.html +679 -0
  217. package/coverage/lcov-report/util/observatory.ts.html +229 -0
  218. package/coverage/lcov-report/util/supercomputer.ts.html +466 -0
  219. package/coverage/lcov-report/util/yaml.ts.html +193 -0
  220. package/coverage/lcov.info +2094 -0
  221. package/docs/implementations/tdp-finder.md +36 -0
  222. package/examples/impls/case-studies/accenture.yml +155 -0
  223. package/examples/impls/case-studies/aveva.yaml +48 -0
  224. package/examples/impls/case-studies/azure-yassine.yaml +67 -0
  225. package/examples/impls/case-studies/boavizta.yml +26 -0
  226. package/examples/impls/case-studies/dow_msft.yml +173 -0
  227. package/examples/impls/case-studies/farm-insights.yaml +35 -0
  228. package/examples/impls/case-studies/gsf-website.yaml +93 -0
  229. package/examples/impls/case-studies/msft-eshoppen.yaml +162 -0
  230. package/examples/impls/case-studies/msft-green-ai.yaml +58 -0
  231. package/examples/impls/case-studies/ntt-data-on-premise.yaml +201 -0
  232. package/examples/impls/tdp-finder-test.yml +19 -0
  233. package/examples/impls/test/azure.yml +26 -0
  234. package/examples/impls/test/ccf.yml +19 -0
  235. package/examples/impls/test/complex-pipeline.yml +67 -0
  236. package/examples/impls/test/if-demo.yml +51 -0
  237. package/examples/impls/test/metadata.yml +20 -0
  238. package/examples/impls/test/nesting.yml +65 -0
  239. package/examples/impls/test/sci-e.yml +21 -0
  240. package/examples/impls/test/sci-m.yml +24 -0
  241. package/examples/impls/test/sci-o.yml +28 -0
  242. package/examples/impls/test/sci.yml +27 -0
  243. package/examples/impls/test/shell.yml +18 -0
  244. package/examples/impls/test/toto.yaml +22 -0
  245. package/examples/ompls/azure.yml +145 -0
  246. package/examples/ompls/ccf.yml +27 -0
  247. package/examples/ompls/complex-pipeline.yml +105 -0
  248. package/examples/ompls/full-sci.yml +64 -0
  249. package/examples/ompls/if-demo.yml +493 -0
  250. package/examples/ompls/metadata.yml +29 -0
  251. package/examples/ompls/nesting.yml +107 -0
  252. package/examples/ompls/sci-e.yml +23 -0
  253. package/examples/ompls/sci-m.yml +33 -0
  254. package/examples/ompls/sci-o.yml +29 -0
  255. package/examples/ompls/sci.yml +36 -0
  256. package/examples/ompls/shell.yml +23 -0
  257. package/jest.config.js +14 -0
  258. package/package.json +71 -0
  259. package/scripts/impact-test.sh +12 -0
  260. package/src/__mocks__/boavizta/countries.json +138 -0
  261. package/src/__mocks__/boavizta/instance_types.json +625 -0
  262. package/src/__mocks__/boavizta/providers.json +1 -0
  263. package/src/__mocks__/watt-time/data.json +119 -0
  264. package/src/config/units.yaml +125 -0
  265. package/src/lib/ccf/aws-embodied.json +5591 -0
  266. package/src/lib/ccf/aws-instances.json +21116 -0
  267. package/src/lib/ccf/aws-use.json +79 -0
  268. package/src/lib/ccf/azure-embodied.json +6547 -0
  269. package/src/lib/ccf/azure-instances.json +8332 -0
  270. package/src/lib/ccf/azure-use.json +58 -0
  271. package/src/lib/ccf/gcp-embodied.json +3049 -0
  272. package/src/lib/ccf/gcp-instances.json +3880 -0
  273. package/src/lib/ccf/gcp-use.json +58 -0
  274. package/src/lib/cloud-instance-metadata/aws-instances.json +1 -0
  275. package/src/lib/cloud-instance-metadata/azure-instances.json +1 -0
  276. package/src/lib/shell-imp/sampler +30 -0
  277. package/src/lib/tdp-finder/README.md +7 -0
  278. package/src/lib/tdp-finder/boavizta_data.csv +1768 -0
  279. package/src/lib/tdp-finder/data.csv +4460 -0
  280. package/src/lib/tdp-finder/data2.csv +2162 -0
  281. package/src/lib/teads-aws/aws-embodied.json +1 -0
  282. package/src/lib/teads-aws/aws-instances.json +1 -0
  283. package/tsconfig.test.json +39 -0
  284. package/tsconfig.tsbuildinfo +1 -0
  285. package/yarn-error.log +5854 -0
@@ -0,0 +1,21 @@
1
+ name: sci-e-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ models:
6
+ - name: sci-e
7
+ kind: plugin
8
+ verbose: false
9
+ model: SciEModel
10
+ path: if-models
11
+ graph:
12
+ children:
13
+ child:
14
+ pipeline:
15
+ - sci-e
16
+ config:
17
+ sci-e:
18
+ inputs:
19
+ - timestamp: 2023-08-06T00:00
20
+ duration: 3600
21
+ energy-cpu: 0.001
@@ -0,0 +1,24 @@
1
+ name: sci-m
2
+ description: simple demo invoking sci-m
3
+ tags:
4
+ initialize:
5
+ models:
6
+ - name: sci-m # a model that calculates m from te, tir, el, rr and rtor
7
+ kind: builtin
8
+ verbose: false
9
+ path: ''
10
+ graph:
11
+ children:
12
+ child:
13
+ pipeline:
14
+ - sci-m # duration & config -> embodied
15
+ config:
16
+ sci-m:
17
+ total-embodied-emissions: 1533.120 # gCO2eq
18
+ time-reserved: 3600 # 1hr in seconds
19
+ expected-lifespan: 94608000 # 3 years in seconds
20
+ resources-reserved: 1
21
+ total-resources: 8
22
+ inputs:
23
+ - timestamp: 2023-07-06T00:00
24
+ duration: 3600
@@ -0,0 +1,28 @@
1
+ name: sci-o-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ models:
6
+ - name: sci-e
7
+ kind: plugin
8
+ verbose: false
9
+ model: SciEModel
10
+ path: if-models
11
+ - name: sci-o
12
+ kind: plugin
13
+ verbose: false
14
+ model: SciOModel
15
+ path: if-models
16
+ graph:
17
+ children:
18
+ child:
19
+ pipeline:
20
+ - sci-e
21
+ - sci-o
22
+ config:
23
+ sci-e:
24
+ inputs:
25
+ - timestamp: 2023-08-06T00:00
26
+ duration: 3600
27
+ energy-cpu: 0.001
28
+ grid-carbon-intensity: 800
@@ -0,0 +1,27 @@
1
+ name: sci-demo
2
+ description: example invoking sci model
3
+ tags:
4
+ initialize:
5
+ models:
6
+ - name: sci
7
+ kind: plugin
8
+ verbose: false
9
+ model: SciModel
10
+ path: if-models
11
+ graph:
12
+ children:
13
+ child:
14
+ pipeline:
15
+ - sci
16
+ config:
17
+ sci:
18
+ functional-unit-duration: 1
19
+ functional-unit-time: 'minutes'
20
+ functional-unit: requests # factor to convert per time to per f.unit
21
+ inputs:
22
+ - timestamp: 2023-07-06T00:00
23
+ duration: 3600
24
+ energy: 5
25
+ operational-carbon: 5
26
+ embodied-carbon: 0.02
27
+ requests: 100
@@ -0,0 +1,18 @@
1
+ name: ccf-demo
2
+ description: example impl invoking CCF model
3
+ tags:
4
+ initialize:
5
+ models:
6
+ - name: sampler
7
+ kind: shell
8
+ graph:
9
+ children:
10
+ child:
11
+ pipeline:
12
+ - sampler
13
+ config:
14
+ sampler:
15
+ executable: python3 /usr/local/bin/sampler
16
+ inputs:
17
+ - timestamp: '2023-11-02T10:35:31.820Z'
18
+ duration: 3600
@@ -0,0 +1,22 @@
1
+ name: ccf-demo
2
+ description: example impl invoking CCF model
3
+ initialize:
4
+ models:
5
+ - name: azure-importer
6
+ kind: builtin
7
+ graph:
8
+ children:
9
+ child:
10
+ pipeline:
11
+ - azure-importer
12
+ config:
13
+ azure-importer:
14
+ metric: Percentage CPU
15
+ interval: PT1M
16
+ aggregation: avg
17
+ observations:
18
+ - null
19
+ impacts:
20
+ - metric: Percentage CPU
21
+ interval: PT1M
22
+ aggregation: avg
@@ -0,0 +1,145 @@
1
+ name: ccf-demo
2
+ description: example impl invoking CCF model
3
+ tags: null
4
+ initialize:
5
+ models:
6
+ - name: azure-importer
7
+ path: if-models
8
+ model: AzureImporterModel
9
+ kind: plugin
10
+ graph:
11
+ children:
12
+ child:
13
+ pipeline:
14
+ - azure-importer
15
+ config:
16
+ azure-importer: null
17
+ inputs:
18
+ - timestamp: '2023-11-02T10:35:31.820Z'
19
+ duration: 3600
20
+ azure-observation-window: 5 min
21
+ azure-observation-aggregation: average
22
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
23
+ azure-resource-group: vm1_group
24
+ azure-vm-name: vm1
25
+ outputs:
26
+ - timestamp: '2023-11-02T10:35:00.000Z'
27
+ duration: 300
28
+ cloud-vendor: azure
29
+ cpu-util: '0.314'
30
+ mem-availableGB: 0.488636416
31
+ mem-usedGB: 0.5113635839999999
32
+ total-memoryGB: '1'
33
+ mem-util: 51.13635839999999
34
+ location: uksouth
35
+ cloud-instance-type: Standard_B1s
36
+ - timestamp: '2023-11-02T10:40:00.000Z'
37
+ duration: 300
38
+ cloud-vendor: azure
39
+ cpu-util: '0.314'
40
+ mem-availableGB: 0.48978984960000005
41
+ mem-usedGB: 0.5102101504
42
+ total-memoryGB: '1'
43
+ mem-util: 51.021015039999995
44
+ location: uksouth
45
+ cloud-instance-type: Standard_B1s
46
+ - timestamp: '2023-11-02T10:45:00.000Z'
47
+ duration: 300
48
+ cloud-vendor: azure
49
+ cpu-util: '0.301'
50
+ mem-availableGB: 0.490733568
51
+ mem-usedGB: 0.509266432
52
+ total-memoryGB: '1'
53
+ mem-util: 50.9266432
54
+ location: uksouth
55
+ cloud-instance-type: Standard_B1s
56
+ - timestamp: '2023-11-02T10:50:00.000Z'
57
+ duration: 300
58
+ cloud-vendor: azure
59
+ cpu-util: '0.298'
60
+ mem-availableGB: 0.490733568
61
+ mem-usedGB: 0.509266432
62
+ total-memoryGB: '1'
63
+ mem-util: 50.9266432
64
+ location: uksouth
65
+ cloud-instance-type: Standard_B1s
66
+ - timestamp: '2023-11-02T10:55:00.000Z'
67
+ duration: 300
68
+ cloud-vendor: azure
69
+ cpu-util: '0.301'
70
+ mem-availableGB: 0.49178214400000003
71
+ mem-usedGB: 0.5082178559999999
72
+ total-memoryGB: '1'
73
+ mem-util: 50.82178559999999
74
+ location: uksouth
75
+ cloud-instance-type: Standard_B1s
76
+ - timestamp: '2023-11-02T11:00:00.000Z'
77
+ duration: 300
78
+ cloud-vendor: azure
79
+ cpu-util: '0.298'
80
+ mem-availableGB: 0.49178214400000003
81
+ mem-usedGB: 0.5082178559999999
82
+ total-memoryGB: '1'
83
+ mem-util: 50.82178559999999
84
+ location: uksouth
85
+ cloud-instance-type: Standard_B1s
86
+ - timestamp: '2023-11-02T11:05:00.000Z'
87
+ duration: 300
88
+ cloud-vendor: azure
89
+ cpu-util: '0.304'
90
+ mem-availableGB: 0.492306432
91
+ mem-usedGB: 0.507693568
92
+ total-memoryGB: '1'
93
+ mem-util: 50.7693568
94
+ location: uksouth
95
+ cloud-instance-type: Standard_B1s
96
+ - timestamp: '2023-11-02T11:10:00.000Z'
97
+ duration: 300
98
+ cloud-vendor: azure
99
+ cpu-util: '0.3'
100
+ mem-availableGB: 0.49283072000000006
101
+ mem-usedGB: 0.50716928
102
+ total-memoryGB: '1'
103
+ mem-util: 50.716927999999996
104
+ location: uksouth
105
+ cloud-instance-type: Standard_B1s
106
+ - timestamp: '2023-11-02T11:15:00.000Z'
107
+ duration: 300
108
+ cloud-vendor: azure
109
+ cpu-util: '0.636'
110
+ mem-availableGB: 0.5062524928000001
111
+ mem-usedGB: 0.49374750719999994
112
+ total-memoryGB: '1'
113
+ mem-util: 49.374750719999994
114
+ location: uksouth
115
+ cloud-instance-type: Standard_B1s
116
+ - timestamp: '2023-11-02T11:20:00.000Z'
117
+ duration: 300
118
+ cloud-vendor: azure
119
+ cpu-util: '0.29500000000000004'
120
+ mem-availableGB: 0.509607936
121
+ mem-usedGB: 0.490392064
122
+ total-memoryGB: '1'
123
+ mem-util: 49.039206400000005
124
+ location: uksouth
125
+ cloud-instance-type: Standard_B1s
126
+ - timestamp: '2023-11-02T11:25:00.000Z'
127
+ duration: 300
128
+ cloud-vendor: azure
129
+ cpu-util: '0.309'
130
+ mem-availableGB: 0.5106565120000001
131
+ mem-usedGB: 0.48934348799999994
132
+ total-memoryGB: '1'
133
+ mem-util: 48.934348799999995
134
+ location: uksouth
135
+ cloud-instance-type: Standard_B1s
136
+ - timestamp: '2023-11-02T11:30:00.000Z'
137
+ duration: 300
138
+ cloud-vendor: azure
139
+ cpu-util: '0.484'
140
+ mem-availableGB: 0.5106565120000001
141
+ mem-usedGB: 0.48934348799999994
142
+ total-memoryGB: '1'
143
+ mem-util: 48.934348799999995
144
+ location: uksouth
145
+ cloud-instance-type: Standard_B1s
@@ -0,0 +1,27 @@
1
+ name: ccf-demo
2
+ description: example impl invoking CCF model
3
+ initialize:
4
+ models:
5
+ - name: ccf
6
+ kind: builtin
7
+ graph:
8
+ children:
9
+ child:
10
+ pipeline:
11
+ - ccf
12
+ config:
13
+ ccf:
14
+ vendor: aws
15
+ instance-type: m5n.large
16
+ inputs:
17
+ - timestamp: 2023-07-06T00:00
18
+ duration: 1
19
+ cpu-util: 10
20
+ outputs:
21
+ - timestamp: 2023-07-06T00:00
22
+ duration: 1
23
+ cpu-util: 10
24
+ vendor: aws
25
+ instance-type: m5n.large
26
+ energy: 5.398804976536068e-7
27
+ embodied-carbon: 0.02553890791476408
@@ -0,0 +1,105 @@
1
+ name: gsf-demo-pipeline
2
+ description: More complex pipeline example
3
+ tags:
4
+ kind: web
5
+ complexity: moderate
6
+ category: cloud
7
+ initialize:
8
+ models:
9
+ - name: teads-curve
10
+ kind: builtin
11
+ - name: sci-m
12
+ kind: builtin
13
+ - name: sci-o
14
+ kind: builtin
15
+ - name: sci-e
16
+ kind: builtin
17
+ - name: eshoppen-net
18
+ kind: builtin
19
+ - name: eshoppen-mem
20
+ kind: builtin
21
+ - name: eshoppen-cpu
22
+ kind: builtin
23
+ - name: sampler
24
+ kind: shell
25
+ graph:
26
+ children:
27
+ child:
28
+ pipeline:
29
+ - eshoppen-mem
30
+ - eshoppen-cpu
31
+ - eshoppen-net
32
+ - sci-e
33
+ - sci-o
34
+ - sampler
35
+ config:
36
+ teads-curve:
37
+ thermal-design-power: 1
38
+ sampler:
39
+ executable: python3 /usr/local/bin/sampler
40
+ inputs:
41
+ - timestamp: 2023-07-06T00:00
42
+ processor: Intel® Core™ i7-1185G7
43
+ data-in: 1
44
+ data-out: 1
45
+ net-energy: 1
46
+ n-hours: 1
47
+ n-chips: 1
48
+ tdp-mem: 1
49
+ tdp-coeff: 1
50
+ duration: 3600
51
+ thermal-design-power: 28
52
+ cpu-util: 18.392
53
+ grid-carbon-intensity: 951
54
+ - timestamp: 2023-08-06T00:00
55
+ processor: Intel® Core™ i7-1185G7
56
+ data-in: 1
57
+ data-out: 1
58
+ net-energy: 1
59
+ n-hours: 1
60
+ n-chips: 1
61
+ tdp-mem: 1
62
+ tdp-coeff: 1
63
+ duration: 3600
64
+ thermal-design-power: 20
65
+ cpu-util: 16
66
+ grid-carbon-intensity: 800
67
+ outputs:
68
+ - cpu-util: 18.392
69
+ data-in: 1
70
+ data-out: 1
71
+ duration: 3600
72
+ energy: 1
73
+ energy-cpu: 0.001
74
+ energy-memory: 0.001
75
+ energy-network: 0.002
76
+ executable: python3 /usr/local/bin/sampler
77
+ grid-carbon-intensity: 951
78
+ n-chips: 1
79
+ n-hours: 1
80
+ net-energy: 1
81
+ operational-carbon: 3.8040000000000003
82
+ processor: Intel® Core™ i7-1185G7
83
+ tdp-coeff: 1
84
+ tdp-mem: 1
85
+ thermal-design-power: 1
86
+ timestamp: 2023-07-06T00:00
87
+ - cpu-util: 16
88
+ data-in: 1
89
+ data-out: 1
90
+ duration: 3600
91
+ energy: 1
92
+ energy-cpu: 0.001
93
+ energy-memory: 0.001
94
+ energy-network: 0.002
95
+ executable: python3 /usr/local/bin/sampler
96
+ grid-carbon-intensity: 800
97
+ n-chips: 1
98
+ n-hours: 1
99
+ net-energy: 1
100
+ operational-carbon: 3.2
101
+ processor: Intel® Core™ i7-1185G7
102
+ tdp-coeff: 1
103
+ tdp-mem: 1
104
+ thermal-design-power: 1
105
+ timestamp: 2023-08-06T00:00
@@ -0,0 +1,64 @@
1
+ name: full-sci
2
+ description: example executing a full pipeline from teads --> sci
3
+ tags: null
4
+ initialize:
5
+ models:
6
+ - name: teads-curve
7
+ kind: builtin
8
+ - name: sci-m
9
+ kind: builtin
10
+ - name: sci-o
11
+ kind: builtin
12
+ - name: sci-e
13
+ kind: builtin
14
+ - name: sci
15
+ kind: builtin
16
+ graph:
17
+ children:
18
+ child:
19
+ pipeline:
20
+ - teads-curve
21
+ - sci-m
22
+ - sci-e
23
+ - sci-o
24
+ - sci
25
+ config:
26
+ teads-curve:
27
+ thermal-design-power: 55
28
+ sci-m:
29
+ total-embodied-emissions: 251000
30
+ time-reserved: 3600
31
+ expected-lifespan: 126144000
32
+ resources-reserved: 1
33
+ total-resources: 1
34
+ sci-o:
35
+ grid-carbon-intensity: 1500
36
+ sci:
37
+ functional-unit-duration: 1
38
+ functional-unit-time: minutes
39
+ functional-unit: requests
40
+ inputs:
41
+ - timestamp: 2023-07-06T00:00
42
+ duration: 1
43
+ cpu-util: 55
44
+ requests: 100
45
+ outputs:
46
+ - timestamp: 2023-07-06T00:00
47
+ duration: 1
48
+ cpu-util: 55
49
+ requests: 100
50
+ thermal-design-power: 55
51
+ total-embodied-emissions: 251000
52
+ time-reserved: 3600
53
+ expected-lifespan: 126144000
54
+ resources-reserved: 1
55
+ total-resources: 1
56
+ grid-carbon-intensity: 1500
57
+ functional-unit-duration: 1
58
+ functional-unit-time: minutes
59
+ functional-unit: requests
60
+ energy-cpu: 0.000011936544080284555
61
+ embodied-carbon: 7.16324200913242
62
+ energy: 0.000011936544080284555
63
+ operational-carbon: 0.017904816120426832
64
+ sci: 4.308688095151708