def data_placement_random()

in baselines.py [0:0]


    def data_placement_random(self):
        on_prem_capacity_left = self.on_prem_capacity - self.on_prem_data_size
        cloud_capacity_left = self.total_data_size - self.on_prem_capacity
        print(f"on-prem capacity left: {human_readable_size(on_prem_capacity_left)}, "
              f"cloud capacity left: {human_readable_size(cloud_capacity_left)}")
        prob_on_prem = on_prem_capacity_left / (on_prem_capacity_left + cloud_capacity_left)
        placed_tables = self.placement.keys()
        for table, size in self.table_size_lookup.items():
            if table in placed_tables:
                continue
            if on_prem_capacity_left > size and cloud_capacity_left > size:
                if random() < prob_on_prem:
                    self.placement[table] = Status.ONPREM
                    on_prem_capacity_left -= size
                else:
                    self.placement[table] = Status.CLOUD
                    cloud_capacity_left -= size
            elif on_prem_capacity_left > size:
                self.placement[table] = Status.ONPREM
                on_prem_capacity_left -= size
            elif cloud_capacity_left > size:
                self.placement[table] = Status.CLOUD
                cloud_capacity_left -= size
            else:
                # print(f"Table {table} ({human_readable_size(size)}) is larger than remaining capacity "
                #       f"on-prem ({human_readable_size(on_prem_capacity_left)}) "
                #       f"and cloud ({human_readable_size(cloud_capacity_left)})")
                self.placement[table] = Status.CLOUD
                cloud_capacity_left -= size
        self.on_prem_data_size = self.on_prem_capacity - on_prem_capacity_left
        print(f"on-prem data size: {human_readable_size(self.on_prem_data_size)}")