azu-lab / RD-Gen

RD-Gen (random DAG generator considering multi-rate applications for reproducible scheduling evaluation) is a tool for researchers targeting DAGs.
7 stars 3 forks source link

A chain execution time is greater than the chain period #29

Closed DaichiYamazaki538 closed 1 year ago

DaichiYamazaki538 commented 1 year ago

ある一つのチェインの実行時間が周期を超えていました。 ある一つのチェインに実行時間が集中しており、そのほかのチェインの実行時間が極端に小さくなっています。 問題

  1. チェインの実行時間が周期を超えていること
  2. 実行時間が集中している箇所は本当にランダムといえるのか の2点についてご確認いただきたいです。

この例が生まれた例を以下に示します。 写真の一番左のチェインが周期4000、実行時間4999越えとなっています。 dag_0

設定ファイル

Seed: 0
Number of DAGs: 15

Graph structure:
  Generation method: "Chain-based"
  Number of chains:
    Fixed: 8
  Main sequence length:
    Random: (2, 10, 1)
  Number of sub sequences:
    Fixed: 0
  Vertically link chains:
    Number of entry nodes:
      Random: (2, 8, 1)
    Main sequence tail: True
    Sub sequence tail: True
  Merge chains:
    Number of exit nodes:
      Fixed: 1
    Middle of chain: True
    Exit node: True

Properties:
  Multi-rate:
    Periodic type: 'Chain'
    Period:
      Random: [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]
    Total utilization:
      Random: (4.0, 8.0, 0.1)

Output formats:
  Naming of combination directory: "Abbreviation"
  DAG:
    YAML: True
    JSON: False
    XML: False
    DOT: False
  Figure:
    Draw legend: False
    PNG: True
    SVG: False
    EPS: False
    PDF: False

生成されたDAGのyamlファイル

directed: true
graph: {}
links:
- source: 0
  target: 1
- source: 1
  target: 2
- source: 2
  target: 3
- source: 3
  target: 4
- source: 4
  target: 5
- source: 5
  target: 6
- source: 6
  target: 7
- source: 7
  target: 9
- source: 8
  target: 9
- source: 9
  target: 10
- source: 10
  target: 11
- source: 11
  target: 12
- source: 12
  target: 13
- source: 13
  target: 14
- source: 14
  target: 15
- source: 15
  target: 18
- source: 16
  target: 17
- source: 17
  target: 2
- source: 18
  target: 19
- source: 19
  target: 20
- source: 20
  target: 21
- source: 21
  target: 22
- source: 22
  target: 23
- source: 24
  target: 25
- source: 25
  target: 26
- source: 26
  target: 27
- source: 27
  target: 28
- source: 28
  target: 29
- source: 29
  target: 30
- source: 30
  target: 31
- source: 31
  target: 32
- source: 32
  target: 33
- source: 33
  target: 0
- source: 34
  target: 35
- source: 35
  target: 36
- source: 36
  target: 37
- source: 37
  target: 38
- source: 38
  target: 39
- source: 39
  target: 40
- source: 40
  target: 41
- source: 41
  target: 42
- source: 42
  target: 1
- source: 43
  target: 44
- source: 44
  target: 45
- source: 45
  target: 46
- source: 46
  target: 47
- source: 47
  target: 48
- source: 48
  target: 49
- source: 49
  target: 50
- source: 50
  target: 0
- source: 51
  target: 52
- source: 52
  target: 53
- source: 53
  target: 54
- source: 54
  target: 55
- source: 55
  target: 56
- source: 56
  target: 16
multigraph: false
nodes:
- execution_time: 57
  id: 0
  period: 5000
- execution_time: 15
  id: 1
- execution_time: 19
  id: 2
- execution_time: 19
  id: 3
- execution_time: 701
  id: 4
- execution_time: 3
  id: 5
- execution_time: 6
  id: 6
- execution_time: 5
  id: 7
- execution_time: 18
  id: 8
  period: 2000
- execution_time: 29
  id: 9
- execution_time: 28
  id: 10
- execution_time: 141
  id: 11
- execution_time: 221
  id: 12
- execution_time: 123
  id: 13
- execution_time: 19
  id: 14
- execution_time: 36
  id: 15
- execution_time: 776
  id: 16
  period: 3000
- execution_time: 1898
  id: 17
- execution_time: 1
  id: 18
  period: 3000
- execution_time: 1
  id: 19
- execution_time: 184
  id: 20
- execution_time: 2
  id: 21
- execution_time: 1
  id: 22
- execution_time: 4
  id: 23
- execution_time: 1
  id: 24
  period: 10000
- execution_time: 32
  id: 25
- execution_time: 31
  id: 26
- execution_time: 5
  id: 27
- execution_time: 6
  id: 28
- execution_time: 5
  id: 29
- execution_time: 19
  id: 30
- execution_time: 26
  id: 31
- execution_time: 7
  id: 32
- execution_time: 14
  id: 33
- execution_time: 2
  id: 34
  period: 3000
- execution_time: 2
  id: 35
- execution_time: 3
  id: 36
- execution_time: 3
  id: 37
- execution_time: 19
  id: 38
- execution_time: 92
  id: 39
- execution_time: 555
  id: 40
- execution_time: 1
  id: 41
- execution_time: 5
  id: 42
- execution_time: 12
  id: 43
  period: 3000
- execution_time: 1
  id: 44
- execution_time: 2
  id: 45
- execution_time: 372
  id: 46
- execution_time: 61
  id: 47
- execution_time: 8
  id: 48
- execution_time: 3
  id: 49
- execution_time: 12
  id: 50
- execution_time: 4999
  id: 51
  period: 4000
- execution_time: 1306
  id: 52
- execution_time: 1576
  id: 53
- execution_time: 1590
  id: 54
- execution_time: 1370
  id: 55
- execution_time: 1048
  id: 56
atsushi421 commented 1 year ago

チェインの実行時間が周期を超えていること

問題が起きた設定ファイル内で、Maximum utilization を指定してないので、1チェーン内で利用率が1以上になることはあり得ます。 これは仕様なので、Maximum utilization を1.0に設定してください。

実行時間が集中している箇所は本当にランダムといえるのか

各チェーンの利用率は UUniFast法に基づいて決めてるので、ランダムと言えると思います。 詳細は元論文を参照してください。