From 56283fb3b19ac673650e4ea2e1abd1359e1ddc81 Mon Sep 17 00:00:00 2001 From: "karim.moussaoui" <karim.moussaoui@univ-tlse3.fr> Date: Fri, 1 Mar 2024 09:45:08 +0000 Subject: [PATCH] Carbon Algo, Fait par : Karim/Adem --- src/algo/carbone.hpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/algo/carbone.hpp diff --git a/src/algo/carbone.hpp b/src/algo/carbone.hpp new file mode 100644 index 0000000..006a71d --- /dev/null +++ b/src/algo/carbone.hpp @@ -0,0 +1,32 @@ +#ifndef CARBONE_HPP +#define CARBONE_HPP +#pragma once + +#include <list> +#include "../isalgorithm.hpp" +#include "../json_workload.hpp" +#include "../locality.hpp" +#include "../schedule.hpp" +#include "isalgorithm.hpp" + +class CarboneAlgorithm : public ISchedulingAlgorithm { +public: + CarboneAlgorithm(Workload * workload, SchedulingDecision * decision, Queue * queue, ResourceSelector * selector, double rjms_delay, rapidjson::Document * variant_options); + virtual ~CarboneAlgorithm(); + + virtual void on_simulation_start(double date, const rapidjson::Value & batsim_config); + virtual void on_simulation_end(double date); + void make_decisions(double date, SortableJobOrder::UpdateInformation *update_info, SortableJobOrder::CompareInformation *compare_info) override; + void updateCarbonFootprint(int dcA, int dcB, int dcC); + +private: + int select_datacenter_with_lowest_carbon_footprint(); + int carbonFootprintDcA; + int carbonFootprintDcB; + int carbonFootprintDcC; +protected: + Schedule _schedule; + bool _debug = false; +}; + +#endif // CARBONE_HPP -- GitLab