def set_service_profiles(self, env): self.arrival_profiles[images.pi_function] = \ expovariate_arrival_profile(sine_rps_profile(env, self.max_rps, self.period / 4)) self.arrival_profiles[images.tf_gpu_function] = \ expovariate_arrival_profile(sine_rps_profile(env, self.max_rps, self.period / 3)) # set arrival profiles self.arrival_profiles[images.fio_function] = \ expovariate_arrival_profile(sine_rps_profile(env, self.max_rps, self.period / 2))
def set_ai_profiles(self, env): self.arrival_profiles[images.resnet50_inference_function] = \ expovariate_arrival_profile(sine_rps_profile(env, self.max_rps, self.period / 4)) self.arrival_profiles[images.mobilenet_inference_function] = \ expovariate_arrival_profile(sine_rps_profile(env, self.max_rps, self.period / 3)) self.arrival_profiles[images.speech_inference_function] = \ expovariate_arrival_profile(sine_rps_profile(env, self.max_rps, self.period / 2)) self.arrival_profiles[images.resnet50_training_function] = \ expovariate_arrival_profile(sine_rps_profile(env, 10, self.period * 2)) self.arrival_profiles[images.resnet50_preprocessing_function] = \ expovariate_arrival_profile(sine_rps_profile(env, self.max_rps, self.period))
def setup(self, env: Environment): super().setup(env) deployments = self.deployments_per_name no_of_devices = len(env.topology.get_nodes()) deployments[images.resnet50_inference_function].rps_threshold = 100 deployments[images.resnet50_inference_function].scale_max = int(0.7 * no_of_devices) deployments[images.resnet50_inference_function].scale_factor = int(0.05 * no_of_devices) deployments[images.resnet50_inference_function].rps_threshold_duration = 10 deployments[images.mobilenet_inference_function].rps_threshold = 70 deployments[images.mobilenet_inference_function].scale_max = int(0.25 * no_of_devices) deployments[images.mobilenet_inference_function].scale_factor = 5 deployments[images.mobilenet_inference_function].rps_threshold_duration = 10 deployments[images.speech_inference_function].rps_threshold = 40 deployments[images.speech_inference_function].scale_max = int(0.25 * no_of_devices) deployments[images.speech_inference_function].scale_factor = 5 deployments[images.speech_inference_function].rps_threshold_duration = 15 self.arrival_profiles[images.mobilenet_inference_function] = \ expovariate_arrival_profile(constant_rps_profile(rps=100), max_ia=240) self.arrival_profiles[images.speech_inference_function] = \ expovariate_arrival_profile(sine_rps_profile(env, max_rps=100, period=3600), max_ia=240) # set arrival profiles self.arrival_profiles[images.resnet50_inference_function] = \ expovariate_arrival_profile(sine_rps_profile(env, max_rps=300, period=3600), max_ia=240) # set arrival profiles self.arrival_profiles[images.resnet50_preprocessing_function] = \ expovariate_arrival_profile(sine_rps_profile(env, max_rps=10, period=3600), max_ia=240) # set arrival profiles self.arrival_profiles[images.resnet50_training_function] = \ expovariate_arrival_profile(sine_rps_profile(env, max_rps=1, period=240), max_ia=240)