To wrap up the three weeks of work, the hackathon will end with pitches of your creations. Pitches are composed of two main parts which mostly override one another in the content but have different formats:
For the video part, you have two strict requirements:
no longer than 2 minutes max (only the first 2 min will be considered)
uploaded to Taikai platform when submitting the project
For the rest, it is up to you, but we recommend structuring the video into 4 parts: 1. the problem, 2. the solution, 3. what you accomplished and 4. finally what you are planning to do next.
So you have 2 minutes to cover 4 topics. We suggest dedicating about 30 seconds for each topic, but you are free to be more flexible. When showing off the demo, we recommend you not doing a walkthrough and focusing on the 2-3 features that help the user the most.
The link to the video will have to be submitted alongside to your project page on Taikai by midnight 4th November.
Composed of answer to 7 questions that you should prepare in advance before submitting to Taikai:
In today’s world, different tasks are powered by different sources of energy, both renewable and non-renewable.
For the purposes of our project, clean energy is defined as that generated by renewable resources such as wind, solar, or hydroelectric power. Dirty energy is defined as that generated by non-renewable resources such as coal and natural gas.
In an ideal world, we would use 100% clean energy, but since that is not yet currently possible, we use a hybrid of clean and dirty energy sources based on availability.
Our aim is to minimize carbon emissions generated by the execution of tasks by these energy sources. To this end, we would like to do comparatively more ‘work’ (execution of tasks) when the available energy source is clean, and less when it is dirty.
2. Describe what your project does exactly in layperson's terms
We would like to execute a stream of incoming tasks, optimizing for reduced carbon emissions as much as possible. We divide the tasks into low- and high-priority tasks, and execute them on the clean- and dirty-energy-based servers according to certain use cases, outlined in a table below.
3. Describe how it uses the API/SDK
We have predominantly used the “emissions/forecast/current” API endpoint for our solution.
We used this endpoint for the following scenarios:
To calculate the median of all emission values for each location to set a base threshold. This threshold would then be used to decide if a location (like uksouth or eastus) can be considered a clean server or a dirty server.
To calculate the median of a all the task emissions in a 30-minute interval in order to decide whether it is a clean energy cycle or a dirty energy cycle
4. Describe how impactful it might be in terms of CO2 reductions and user reach (an example of low reduction but high reach would be targeting website requests, where a solution could make a very small reduction in CO2 emissions per request, but with millions of requests the impact could be significant. And example of high reduction and low reach would be a chlorine factory, where you might only reach one plant, but that would be enough to cut as many emissions as a few million web requests above.
During clean time intervals, we maximize efficiency by running the tasks concurrently.
During dirty time intervals, we chose not to use concurrent execution due to excessive amounts of resource consumption. Instead, we opted for sequential execution of tasks.
Low priority tasks run on the away server during clean energy cycles because we can afford the latency.
High priority tasks are run on the two on-premise servers because they need to be executed as soon as possible.
Load balancing is a technique we implemented to reduce the load on servers, whenever possible, to further optimize the process.
5.Describe how feasible it is for you to get to a production ready state with a bit of time or prize money; how feasible it would be for others to implement, and how likely it is that they would choose to use your tool if made available
The project is a working prototype of a task scheduler running on hybrid sources of energy. For specific applications of our program, real-world tasks can be fed into the scheduler, and the real-world variations in availability of clean and dirty energy can be accommodated.
Future works (potentially including more time/funding) can:
Implement preemptive scheduling algorithms to schedule high-priority tasks during the dirty time period.
Deploy the project over multiple nodes to test the network, perhaps using AWS or Microsoft Azure. This can help factor in latency quantitatively.
6.Describe what is your vision for how the solution you have started to build in this hackathon could make a difference to the world.
Most companies today are hesitant to enforce carbon-aware practices into software development due to latency concerns. Our solution focuses on reducing latency as much as possible for high priority tasks, while still being carbon-efficient. This approach makes our solution a suitable tool for most organizations to utilize.
7.The URL to the prototype app and/or code (e.g. Github + e.g. example.com/Carb22solution)
https://github.com/gonemad97/carbonHack22
Under the resource tab, you can download a GSF templated ppt that you can utilize for your pitch. This needs to be submitted, alongside the video by Midnight on Friday 4th November.
If you have any questions, feel free to contact us on the Discord channels.