)]}'
{
  "commit": "fb4a09b2a556602acddc69454d1915d2409831eb",
  "tree": "72e2a3c6c706d10d16ee452008a1c012b64df6de",
  "parents": [
    "91fbd44341435c9c1de1b9afb443d86ba2a8800d"
  ],
  "author": {
    "name": "Mircea Trofin",
    "email": "mtrofin@google.com",
    "time": "Tue Oct 25 17:49:32 2022 -0700"
  },
  "committer": {
    "name": "Mircea Trofin",
    "email": "mtrofin@google.com",
    "time": "Tue Oct 25 17:49:32 2022 -0700"
  },
  "message": "Introduce a Nesting Worker\n\nIn some distributed object middleware, there\u0027s a limitation that one\nremote process host one object instance only. During training, we have\n\u0027lull\u0027 periods when we don\u0027t collect data for an experiment (because we\nrun the training algo on the data). If we run a bunch of related\nexperiments, we can reuse the remote resource during that time. This can\nbe advantageous if the total resource utilization of 2N remote tasks used\nat (say) 50% is higher than that of N tasks used at 100% (which is\nusually the case - there\u0027s some book keeping cost)\n\nThe design uses a special kind of worker which manages a bunch of\nunderlying workers to which it delegates all calls.\n\nThe current patch just introduces the bare minimum support. Subsequent\npatches will add better error handing (e.g. worker id doesn\u0027t exist),\nand potentially some load balancing support, if needed.\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9d5b8bfa1c077d9af3091515d3c0186f4850cb2c",
      "new_mode": 33188,
      "new_path": "compiler_opt/distributed/nesting_worker.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ddeefc47feb01454a8f1e9650896794c819c2d5d",
      "new_mode": 33188,
      "new_path": "compiler_opt/distributed/nesting_worker_test.py"
    }
  ]
}
