code: def run_track(models: list[str], no_track: int, n_workers: int = 50):
      pool = multiprocessing.Pool(processes=n_workers)
      track = TRACKS[no_track]
      runs = list(
          itertools.product(
              models, range(len(track.datasets)), [no_track]
          )
      )
      results = []
  
      for val in pool.starmap(run_dataset, runs):
          results.extend(val)
      csv_name = track.name.replace(" ", "_").lower()
      pd.DataFrame(results).to_csv(f"./{csv_name}.csv", index=False)
  
file_path: river/benchmarks/run.py
imports: from __future__ import annotations
  import copy
  import itertools
  import json
  import logging
  import multiprocessing
  import pandas
  from config import MODELS, N_CHECKPOINTS, TRACKS
  from tqdm import tqdm
  from river import metrics
label_desc: Use image node_id 2 for calling a global function with example usage: run_track(models, no_track, n_workers) without return types