This repository provides simulation and optimization tools to analyze renewable energy and battery configurations for microgrids in data centers. It was developed for the Sustainable Supercomputing Workshop at SC25.
Two alternative approaches are supported:
- Exhaustive Search: Brute-force evaluation over the parameter space
- Hyperparameter Optimization: Efficient parameter tuning using Optuna
These methods are not meant to be run in succession, but as alternative strategies.
Install dependencies via Poetry and change into the working directory:
poetry install
cd examplesBerkeley:
poetry run python renewable_battery_analysis.py --config-name config_battery_analysis_sweep --multirunHouston:
poetry run python renewable_battery_analysis.py --config-name config_battery_analysis_sweep_houston --multirunAfter the simulation completes, convert the multirun results into a single CSV file:
poetry run python convert_results_to_df.py -d ./multirun/<date>/<time> -l berkley # or houstonYou can visualize the results using the provided Jupyter notebook emissions_analysis.ipynb. This notebook will help you analyze the performance of different configurations based on the simulation results.
Run the Optuna-based optimization for more efficient search:
Berkeley:
poetry run python renewable_battery_analysis.py --config-name config_battery_analysis_sweep_optuna.yaml --multirunHouston:
poetry run python renewable_battery_analysis.py --config-name config_battery_analysis_sweep_optuna_houston.yaml --multirun- The exhaustive search and Optuna optimization are alternative methods and should not be run in succession.
- All simulation logic is managed via hydra and joblib for parallel execution.
- Configuration files are located in the
configs/directory. - CSV outputs contain performance metrics for each configuration, suitable for analysis or visualization.