code: def get_total_n_cpu(self) -> int:
      all_bands = self._call(self._cluster_api.get_all_bands())
      n_cpu = 0
      for band, resource in all_bands.items():
          _, band_name = band
          if band_name.startswith("numa-"):
              n_cpu += resource.num_cpus
      return n_cpu
  
imports: import asyncio
  import logging
  from collections import defaultdict
  from functools import lru_cache
  from typing import List, Dict
  from ..None import oscar
  from ..lib.aio import new_isolation
  from ..core.context import Context
  from ..storage.base import StorageLevel
  from ..typing import BandType, SessionType
  from ..utils import implements, is_ray_address
  from .cluster import ClusterAPI, NodeRole
  from .session import SessionAPI
  from .storage import StorageAPI
  from .subtask import SubtaskAPI
  from .meta import MetaAPI, WorkerMetaAPI
label_desc: Use image node_id 8 for calling the ThreadedServiceContext obj's underlying member method code with example usage: obj.get_total_n_cpu() and returns: n_cpu