def worker_usage(session: Session, logger): provider = ComputerProvider(session) docker_provider = DockerProvider(session) computer = socket.gethostname() docker = docker_provider.get(computer, DOCKER_IMG) usages = [] for _ in range(1 if MODE_ECONOMIC else 10): # noinspection PyProtectedMember memory = dict(psutil.virtual_memory()._asdict()) usage = { 'cpu': psutil.cpu_percent(), 'disk': disk(ROOT_FOLDER)[1], 'memory': memory['percent'], 'gpu': [{ 'memory': g.memoryUtil * 100, 'load': g.load * 100 } for g in GPUtil.getGPUs()] } provider.current_usage(computer, usage) usages.append(usage) docker.last_activity = now() docker_provider.update() time.sleep(10 if MODE_ECONOMIC else 1) usage = json.dumps({'mean': dict_func(usages, np.mean)}) provider.add(ComputerUsage(computer=computer, usage=usage, time=now()))
def _create_computer(): tot_m, used_m, free_m = memory() tot_d, used_d, free_d = disk(ROOT_FOLDER) computer = Computer(name=socket.gethostname(), gpu=len(GPUtil.getGPUs()), cpu=cpu_count(), memory=tot_m, ip=IP, port=PORT, user=get_username(), disk=tot_d, root_folder=ROOT_FOLDER) ComputerProvider(_session).create_or_update(computer, 'name')
def _create_computer(): tot_m, used_m, free_m = memory() tot_d, used_d, free_d = disk(ROOT_FOLDER) computer = Computer(name=socket.gethostname(), gpu=torch.cuda.device_count(), cpu=cpu_count(), memory=tot_m, ip=IP, port=PORT, user=get_username(), disk=tot_d, root_folder=ROOT_FOLDER, sync_with_this_computer=SYNC_WITH_THIS_COMPUTER, can_process_tasks=CAN_PROCESS_TASKS) ComputerProvider(_session).create_or_update(computer, 'name')
def worker_usage(session: Session, logger): provider = ComputerProvider(session) docker_provider = DockerProvider(session) computer = socket.gethostname() docker = docker_provider.get(computer, DOCKER_IMG) usages = [] count = int(10 / WORKER_USAGE_INTERVAL) count = max(1, count) for _ in range(count): # noinspection PyProtectedMember memory = dict(psutil.virtual_memory()._asdict()) try: gpus = GPUtil.getGPUs() except ValueError as err: logger.info(f"Active GPUs not found: {err}") gpus = [] usage = { 'cpu': psutil.cpu_percent(), 'disk': disk(ROOT_FOLDER)[1], 'memory': memory['percent'], 'gpu': [{ 'memory': g.memoryUtil * 100, 'load': g.load * 100 } for g in gpus] } provider.current_usage(computer, usage) usages.append(usage) docker.last_activity = now() docker_provider.update() time.sleep(WORKER_USAGE_INTERVAL) usage = json.dumps({'mean': dict_func(usages, np.mean)}) provider.add(ComputerUsage(computer=computer, usage=usage, time=now()))