Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement proposed reporting requirements from discussion 103 #123

Conversation

Sealjay
Copy link
Contributor

@Sealjay Sealjay commented Oct 20, 2021

Implements proposed reporting requirements from #103.

Copy link
Contributor

@jawache jawache left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Sealjay great addition! I think some of this should be moved to an appendix and we have some issues to resolve but great work.

@Sealjay
Copy link
Contributor Author

Sealjay commented Oct 20, 2021

@jawache @SaraEmilyBergman - I think I've addressed many of the previous comments - let me know what you think, and I can make further updates prior to Thursday

@YaSuenag
Copy link
Member

Should we include the time period to the SCI report?

IIUC the time period is significant parameter to calculate SCI. Methodology Summary says C is total amount of carbon the software is emitting over a time period. And also Marginal Carbon Intensity I in the report may be different from other periods.

@Sealjay
Copy link
Contributor Author

Sealjay commented Oct 21, 2021

@YaSuenag I'm torn. C is over a time period and then divided by the same number of R units in the same time period. So, theoretically, the time period shouldn't be relevant here? But at the same time, C over 1 second, is likely to be very different to C over 1 hour.

Interested in more thoughts!

Should we include the time period to the SCI report?

IIUC the time period is significant parameter to calculate SCI. Methodology Summary says C is total amount of carbon the software is emitting over a time period. And also Marginal Carbon Intensity I in the report may be different from other periods.

@YaSuenag
Copy link
Member

C is over a time period and then divided by the same number of R units in the same time period. So, theoretically, the time period shouldn't be relevant here?

According to SCI spec, related formulas are defined as following:

  • C = O + M = Total amount of carbon the software is emitting over a time period
  • O = E * I = Operational emissions based on energy consumption (E) and location-based carbon intensity measurement (I)

I (Marginal Carbon Intensity) is involved to calculate C, so I think it is important to add time period into the report (YAML). I may be different. For example, I in daytime may be bigger than I in midnight.

@SaraEmilyBergman
Copy link
Contributor

This is interesting! My two cents is that for CI (which is the only one they MUST report out of C and CI), then time does not matter (ref to what @Sealjay wrote above) and should not be required but can be provided. But if they chose to report C then I think it is reasonable to also require them to report the time period.

Summary:
Time MUST be reported if you report C and you MAY report time in all other cases.

Happy to hear what others think

@YaSuenag
Copy link
Member

SCI spec says CI = C / R. As @Sealjay said, it is over a time period and then divided by the same number of R units in the same time period.

OTOH I think we may want to compare SCI with two region.

  • Region A: SCI = 2.0 - daytime
  • Region B: SCI = 0.5 - midnight

If we can see them, we may want to migrate our workload to Region B. It is worth to accurate SCI as timeseries data in this case. In addition, we might be able to know the relation between peak season of workload and carbon intensity. It might help to schedule our workloads in long term.

So I want to suggest to add startDateTime and duration (or endDateTime) to YAML.

Comments are welcome.

@atg-abhishek
Copy link
Member

I like the phrasing that @SaraEmilyBergman has suggested and also agree with what @YaSuenag has proposed here

@atg-abhishek atg-abhishek self-requested a review October 21, 2021 11:27
@atg-abhishek atg-abhishek added high High Priority requirements-constraints Requirements and Constraints labels Oct 21, 2021
@YaSuenag
Copy link
Member

We've made it a lot clearer that this all about calculating a C per R and it doesn't matter what method you use to calculate C, you might be looking at logs over 4 days of production running and divide by a number OR you might create a piece of code that models one R and execute it on your laptop and measure energy to model a C per R.

Thanks @jawache for the explanation! Ok, I agree with @SaraEmilyBergman .

So the concept of total time in the calculation of C doesn't matter. However, the granularity of time that you used does matter. Did you use hourly carbon intensity buckets, every 5 mins, daily, yearly averages.... We've not discussed it but I think it's reasonable to ask for the granularity of data to be disclosed, did you use hourly/daily/yearly time slices in the calculation?

I think it is reasonable to duration into the report as a mandatory field.

@Sealjay
Copy link
Contributor Author

Sealjay commented Oct 21, 2021

Agreed, this makes sense!

@Sealjay Sealjay requested a review from atg-abhishek October 21, 2021 14:46
@Sealjay
Copy link
Contributor Author

Sealjay commented Oct 21, 2021

so, I can see differing views here - it started with adding a duration/granularity field, for the duration of the timeslice. e.g. hourly, monthly, etc. @SaraEmilyBergman @YaSuenag

however, on the slack, it looks like we might now be advocating for dropping any requirement / suggestion to report C @jawache @atg-abhishek

@SaraEmilyBergman

but C without a time, does that make any sense?

@jawache

For the reporting of C? No it doesn’t but I also think we should drop that requirement to report C. Esp since to calculate your SCI you will need to calculating it for all your sub components.
[..]
Therefore at the end of it, you don’t have a total C anyway since for the client you didn’t have to calculate it. And for the ones where you calculated C they were over different time periods so it doesn’t make sense to add them up to a total C.
Therefore reporting a total C doesn’t makes sense, I think we should drop the requirement to ask for it.

@jawache

Reporting of total carbon emissions altogether, I think with our updates since we wrote that it doesn’t make sense. I’ve got a few mins at the start of the call to take people through a worked example which i think will explain why.

I'll commit on this basis, and we can revert if there is not consensus.

Copy link
Member

@atg-abhishek atg-abhishek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is a pretty substantial changes with a few pieces still in flux, let us have this as the first item of discussion in the WG call in a few hours. cc @seanmcilroy29

@atg-abhishek
Copy link
Member

Deferred for discussion after alpha release

@seanmcilroy29 seanmcilroy29 added v1.0 and removed high High Priority labels Nov 9, 2021
…Foundation/dev

[SC ratified] Approved updates added from dev into Main
@atg-abhishek atg-abhishek removed the v1.0 label Nov 16, 2021
@atg-abhishek
Copy link
Member

We might take one of the case studies and then demonstrate the reporting based on that.

@Sealjay
Copy link
Contributor Author

Sealjay commented Nov 25, 2021

@atg-abhishek @jawache - I've pulled in upstream changes; there's also a reporting discussion here:
#125
@navveenb has a similar ontology project, so a good time to discuss maybe

@Henry-WattTime
Copy link
Contributor

Working group approved, create document to begin iterating on as a starting point.

@Henry-WattTime Henry-WattTime merged commit 8056e43 into Green-Software-Foundation:dev Dec 9, 2021
YaSuenag added a commit to YaSuenag/software_carbon_intensity that referenced this pull request Jul 25, 2022
We discussed about this change on Green-Software-Foundation#123 .

Add workload-start-time and calculation-period to SCI reporting elements as optional fields.
It helps us to understand the impact of start times and processing times of workloads on SCI.
seanmcilroy29 added a commit that referenced this pull request Nov 1, 2022
* Added template for case studies

* Update Software_Carbon_Intensity/case_study_template.md

Co-authored-by: Asim Hussain <[email protected]>

* Update Software_Carbon_Intensity/case_study_template.md

Co-authored-by: Asim Hussain <[email protected]>

* Update Software_Carbon_Intensity/case_study_template.md

Co-authored-by: Asim Hussain <[email protected]>

* Implement proposed reporting requirements from discussion 103 (#123)

* Add first pass of text

* Add reference to RFC4122

* Added description of valid requirements

* Added first examples

* Grammar review

* Remove JSON

* Move table structure to appendix

* Remove reporting process

* Changed software boundary reporting requirements

* Removed other references to reports

* updated URLs

* Update Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md

Co-authored-by: Asim Hussain <[email protected]>

* Update Software_Carbon_Intensity/Appendix_A_Further_Information_on_Reporting_Requirements.md

Co-authored-by: Asim Hussain <[email protected]>

* Update Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md

Co-authored-by: Asim Hussain <[email protected]>

* Changed baseline preset text

* Made software version mandatory

* Removed the requirement to report C and R baseline comment

Co-authored-by: Asim Hussain <[email protected]>
Co-authored-by: Abhishek Gupta <[email protected]>

* Market instruments and grid interconnected infrastructure discussion

* Typos

* Update Software_Carbon_Intensity_Specification.md

1. The software-boundary was not linked correctly.
2. Readability - LCA definition was defined later, moved it to the first reference.

* Update Software_Carbon_Intensity_Specification.md

1. Functional Unit was not linked properly

* Update Software_Carbon_Intensity_Specification.md

Qualifying that the elements in the SCI equation scale by the same functional unit R

* adding units to 'M' and reformatting for consistency (#231)

* Add files via upload

* Update issue templates

* adding units

- units added for embodied emissions
- moved units to the bottom of each section 
- reformatted for consistency

Co-authored-by: Abhishek Gupta <[email protected]>
Co-authored-by: Sean Mcilroy <[email protected]>
Co-authored-by: Sean Mcilroy <[email protected]>
Co-authored-by: Henry-WattTime <[email protected]>

* Eshoppen case study initial draft

* Rename eshoppen to eshoppen.md

* Added definition on how software causes emissions

* changed wording to software systems

* Update eshoppen.md

Included the changes for the Energy and Embodied emissions values for the database server.

* Update Software_Carbon_Intensity.md

Updated the Software Carbon Intensity Standard to include guidance on taking into account data center energy efficiency in the Software Boundary section

* Update Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md

Space added

Co-authored-by: Abhishek Gupta <[email protected]>

* Added context for SCI reduction for software roles

Added context for SCI reduction for software roles

* Procedure Flow Updates

1. 'scale' should be first step in the process, as it's the key measure of success
2. 'what' is a bit misleading, and is best defined as a boundary  -> 'bound' is a good verb
3. 'how' is a step that best follows the boundary step -> 'bound' is a verb

* Reverse list order

WG approved

* Text edits to introduction

* Focus on elimination/abatement (#290)

* Changed wording to highlight elimination

* Change exclusions

WG Approved

* Add space

WG approved

* Restore dev action sentence

WG Approved

Co-authored-by: Henry-WattTime <[email protected]>

* Composable SCI Scores

* Update Software_Carbon_Intensity_Specification.md

Updated as per WG feedback

* add space

WG Approved

* Spelling correction in the introduction section

* Be explicit regarding only eliminations

We've made it explicit in `I` but I believe we also need to make it explicit in `M`.

* Copywriter updates

* Update Software_Carbon_Intensity_Specification.md

* Update README.md

a few minor improvements to wording on the readme, including a typo or two...

* Update README.md

WG Approved.

Co-authored-by: Abhishek Gupta <[email protected]>

* Apply suggestions from code review

WG Approved

Co-authored-by: Abhishek Gupta <[email protected]>

* Update Software_Carbon_Intensity_Specification.md

Some suggested changes to the 'scope' section, based on my first impressions/first read...

* Update Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md

WG approved

* Update Software_Carbon_Intensity_Specification.md (#298)

* Update Software_Carbon_Intensity_Specification.md

A few relatively minor suggested updates to the Introduction

* Update Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md

WG Approved.

* Apply suggestions from code review

WG Approved

Co-authored-by: Abhishek Gupta <[email protected]>

Co-authored-by: Henry-WattTime <[email protected]>
Co-authored-by: Abhishek Gupta <[email protected]>

* Update Software_Carbon_Intensity_Specification.md (#299)

small change to the 'Software Sustainability Actions' section. I'd like to suggest we also rename 'Energy Efficiency' to 'Software Efficiency', but we should discuss that one and I can explain my thinking...

Co-authored-by: Henry-WattTime <[email protected]>

* Update Software_Carbon_Intensity_Specification.md (#300)

minor suggested tweaks to the Procedure section, that might improve readability

Co-authored-by: Henry-WattTime <[email protected]>

* Re-order formula for clarity (#304)

* Re-order formula for clarity

Reversed hierarchy from complex formula at the top and simple formula at the bottom. Now you build knowledge as you go down: SCI = C / R -> SCI = (O + M)/R -> SCI = (O formula + M formula)/R.

* Update Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md

WG removed change.

* Update Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md

WG Approved

* Update issue templates

* Update issue templates

* Update issue templates

* Refine definitions of O & M

* Removed table from the definitions section 

Removed definitions from the document and added link to the GSF dictionary where definitions for the terms used in the document are / will be stored

* Removed abbreviations section 

Removed the abbreviations section and merged it into the definitions section with a reference to the GSF dictionary for both

* Reorder Embodied Emissions Calculation

* Change Reporting Requirement in Procedure

Instead of requiring reporting (which we have not yet developed requirements for) just indicate that reporting should be done.

* Updated version note

* ISO submission editorials (#331)

* Removed Versions section

* Replace RFC2119 key words with ISO notation

* Revise Scope

* Revised/moved Introduction

* Added Terms and definitions section

* Revised sw sustainability thru location-based

* Revised Embodied Emissions & Functional unit

* Revised s/w boundary thru comparing an SCI

* Revised Code Characteristics thru end; added Bibliography

* Apply minor tweaks

* Update Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md

* Apply suggestions from code review

Co-authored-by: Rex Jaeschke <[email protected]>
Co-authored-by: Abhishek Gupta <[email protected]>

Co-authored-by: Abhishek Gupta <[email protected]>
Co-authored-by: Abhishek Gupta <[email protected]>
Co-authored-by: Asim Hussain <[email protected]>
Co-authored-by: Chris Lloyd-Jones <[email protected]>
Co-authored-by: Henry-WattTime <[email protected]>
Co-authored-by: Navveen Balani <[email protected]>
Co-authored-by: Srinivasan <[email protected]>
Co-authored-by: Will Buchanan <[email protected]>
Co-authored-by: Sean Mcilroy <[email protected]>
Co-authored-by: GadhuNTTDATA <[email protected]>
Co-authored-by: Ben Logan <[email protected]>
Co-authored-by: Rex Jaeschke <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
requirements-constraints Requirements and Constraints
Projects
None yet
Development

Successfully merging this pull request may close these issues.

What are the requirements in how people report the SCI?
7 participants