Green-Software-Foundation / sci

A specification that describes how to calculate a carbon intensity for software applications.
Other
254 stars 52 forks source link

Farm Insights - Raspberry Pi #241

Closed tmcclell closed 2 years ago

tmcclell commented 2 years ago

Farm Insights - Very very simple use case. .NET Core application running with temperature, humidity, sunlight, and soil moisture sensors. Running headless on a raspberry pi. I purchased a power meter and had the pi plugged into it. Ontology is device only.

Blog post located here - https://www.wonderfultinyfarm.com/wtfblog/software-carbon-intensity

Energy Efficiency

.003 kWh per day for both the PI and the application running on the PI.

Margin Location Emissions

.713kg per kWh per Henry per day.

Embodied Carbon

Discuss Raspberry PI and no such number exists. Used 55 Kg of CO2e, used for smartphone metrics.

(What) Software boundary

Boundary identified as hardware device and application only.

(Scale) Functional unit

Per Raspberry Pi

(Quantify) SCI Value Calculation

((.003 kWh/D x 365 days/year * .713 kg/kwh)) + 55 kg

(.003 x 365) = 1.095 - kilowatts to run the device/software for 1 year

.713 x 365 days/year = 260 - location based margin emissions for 1 year

1.095 * 260 = 284.7 - kilowatts to run the software for 1 year x location based margin emissions

((kilowatts to run the software for 1 year x location based margin emissions for 1 year) + embedded carbon of the device) for each instance of the device.

*((1.095 260) + 55 =339.7 CO2e per year**

tmcclell commented 2 years ago

I'll on vacation 3/13-3/18 - If possible, please wait for me to join the conversation! Now that I have a score - what does this mean? Is this good or bad - how do we set the standards for measurements in the future?

atg-abhishek commented 2 years ago

Thank you for creating this @tmcclell - yes we can discuss it once you're back! cc @seanmcilroy29 can you remember to add this one to the agenda for the week after the next? Thanks!

Henry-WattTime commented 2 years ago

Hello Tammy,

I reworked your math a little, does this make sense?

operational + embodied = total(SCI score) ((0.003 kWh/D x 365 days/year * 0.713 kg/kwh)) + (55 kg/3 year lifespan) = total 0.078 + 18.333 = 19.114 kg/year of sensor suite operation

((kilowatts to run the software for 1 year x location based margin emissions rate) + (embedded carbon of the device for one year of life) for each instance of the device. In this case, I think the function unit is a year of sensor package (sensors, pi, etc) operations.

Spreadsheet also attached if anyone wants to play with it. Farm Insights.xlsx

atg-abhishek commented 2 years ago

Thanks for clarifying this further @Henry-WattTime - looking forward to the discussion this week on it!

tmcclell commented 2 years ago

Thanks Henry - this makes sense and I've updated the blob post. I do still have a question on whether the embodied carbon is for 3-year lifespan vs lifetime. So 19.114? I feel like that's good! Anyone feel that's good? How do we know that's good? :)

Henry-WattTime commented 2 years ago

Working Group

Data stored in cloud. Add the cloud part? uses log analytics, IOt edge.
Cloud being used for analytics Marginal and embodied data is available? powerBI used to visualize data (heavy tool, in terms of resource consumption *for desktop)

Abhishek-cloud is essential -Embodied carbon for pi does not exist, pi would be on low end of smartphone -Show pie chart of where emissions came from? -Where to focus attention -these are the critical areas that contribute to the score

...now what? (Tammy). relate it to something

Navveen - Few questions, Probably boundary should include = Data , IoT Edge , Storage .. What is the functional unit being used Should the functional units be events generated ?

Natalie: a comment I had is that I would think the "R" here is based on some user value, such as each time farm analytics is produced for the user. Then optimizing the cloud services become the big part of improving the carbon emissions of your solution since you cant do much about the device hardware itself. that is like a fixed value, but you can make your software more efficient ("1 year" is not a unit of value to a user IMO) Elmar: Agree. R = 1 year is unusual at best.

8760 hours in year Change functional unit to per sensor reading: misses reducing reader frequency Gadhu: So could the score decrease if you increase the scheduled event to 1.5hrs instead of 1 hour?

Abhishek: I would imagine that would be the case, it would reduce resource consumption The question that I would have is to what point you can make those changes without losing the “value” that the application brings, i.e. whether we NEED it to be hourly or is it a NICE TO HAVE and you could do with like once every other hour

R should be the most unit that makes sense for the application/use case.

Explore emissions from different components, and how malleable these are Maybe write 'now what' part of blog on how to make more carbon efficient?

Gadhu: turtle trackers that have to be very energy efficient can take advantage of energy efficiency gains in hardware? Abhishek: Could it be written in another language to fit on other hardware? I would imagine that would be the case, it would reduce resource consumption The question that I would have is to what point you can make those changes without losing the “value” that the application brings, i.e. whether we NEED it to be hourly or is it a NICE TO HAVE and you could do with like once every other hour

Elmar: takeaway - not realistic to just look at software, look at system, placement of use. Use case is essential.

Abhishek: Software Carbon Intensity -> Software System Carbon Intensity (add to spec?)

TODO: -explore cloud component of this -add 'what now' discussion of potential actions to take.

tmcclell commented 2 years ago

Closing and marking complete for Phase I. Initial boundaries were specified as the raspberry pi and software running on it. Case study completed and will reopen another for Phase 2 ontology which includes IoTHub, Storage and Power Bi additions.