class_docstr: Tests tf.data service reading from local or non-TPU workers.
  
  When `target_workers` is "AUTO", tf.data service avoids cross-TPU reads, to
  avoid RPCS and data serialization / deserialization, thus improving resource
  utilization of TPU hosts.
class_docstr_tok: ["Tests","tf.data","service","reading","from","local","or","non-TPU","workers",".","When","`","target_workers","`","is","``","AUTO","''",",","tf.data","service","avoids","cross-TPU","reads",",","to","avoid","RPCS","and","data","serialization","\/","deserialization",",","thus","improving","resource","utilization","of","TPU","hosts","."]
code: def testMultipleTags(self):
      cluster = multi_process_cluster.MultiProcessCluster(
          num_local_workers=1,
          num_remote_workers=3,
          worker_tags=[
              _COLOCATED_WORKER_TAG,
              "COLOCATED_2",
              "COLOCATED_3",
          ],
      )
      num_elements = 100
      dataset = self.make_distributed_range_dataset(
          num_elements, cluster
      )
      # Only reads from the local worker.
      self.assertDatasetProduces(dataset, list(range(num_elements)))
  
imports: import time
  import multiprocessing
  from absl.testing import parameterized
  from tensorflow.python.data.experimental.kernel_tests.service import multi_process_cluster
  from tensorflow.python.data.experimental.kernel_tests.service import test_base
  from tensorflow.python.data.experimental.ops import data_service_ops
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.framework import combinations
label_desc: Use image node_id 8 for calling the WorkerTagsTest obj's underlying member method code with example usage: obj.testMultipleTags() without return types