code: def test_deep_bases_win_over_dependents(abcde):
      r"""It's not clear who should run first, e or d.
  
      1.  d is nicer because it exposes parallelism
      2.  e is nicer (hypothetically) because it will be sooner released
          (though in this case we need d to run first regardless)
  
      Regardless of e or d first, we should run b before c.
  
              a
            / | \   .
           b  c |
          / \ | /
         e    d
  
      """
      a, b, c, d, e = abcde
      dsk = {a: (f, b, c, d), b: (f, d, e), c: (f, d), d: 1, e: 2}
  
      o = order(dsk)
      assert (
          o[e] < o[d]
      )  # ambiguous, but this is what we currently expect
      assert o[b] < o[c]
  
imports: import pytest
  from flash.core.serve.dag.order import ndependencies, order
  from flash.core.serve.dag.task import get, get_deps
  from flash.core.serve.dag.utils_test import add, inc
  from flash.core.utilities.imports import _TOPIC_SERVE_AVAILABLE
label_desc: Use image node_id 9 for calling a global function with example usage: test_deep_bases_win_over_dependents(abcde) without return types