• Jonathan Jenkins's avatar
    scheduler fix for other networks (NOT torus, simplewan) · 0164aa2d
    Jonathan Jenkins authored
    Torus and simplewan each have problems precluding them from the current
    scheduling fix:
    - simplewan - each "device" has N input/output ports. It can't simply tell the
      scheduler when they are (it is?) idle because the scheduler doesn't know which
      packets go to which ports
    - torus - also has N input/output ports (two for each dimension). Also, the same
      routing "queue" (via the "next_link_available_time" var) is used for incoming
      and outgoing messages, so we can't guarantee the scheduler that we'll be
      available at time x (an incoming msg could arrive and then be routed at time
      x-1). This isn't a problem for the dragonfly network as terminals aren't
      intermediate routers. Ideally what needs to happen here is for the
      intermediate packets/chunks to be queued up in the scheduler.
dragonfly.c 61.2 KB