Skip to content

Commit

Permalink
d_max -> D_Max
Browse files Browse the repository at this point in the history
  • Loading branch information
kenjihiranabe authored Jan 10, 2025
1 parent fa5d4ba commit 3b81aa9
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions math/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@
動機は、 $n$ 個のアセットとコアのシミュレーション時刻を、想定される範囲内で同期させることである。
具体的には、アセットはコアより早く進むことはなく、コアはアセットよりも許容時間幅を超えて早く進むことはないようにしたい。そのめに、カウントアップ時には以下の規則を設ける。

コアとアセットのシミュレーション時刻ずれの許容時間間隔を、「最大許容遅延時間」 $d_{max}$ として定義する。
コアとアセットのシミュレーション時刻ずれの許容時間間隔を、「最大許容遅延時間」 $D_{max}$ として定義する。

- $d_{max}$ - 最大許容遅延時間(Maximum Delay Tolerance)
- $D_{max}$ - 最大許容遅延時間(Maximum Delay Tolerance)

### 初期状態の一致

Expand Down Expand Up @@ -136,7 +136,7 @@ $$
コアも同様に、ウォール時刻 $t$ において、前回シミュレーション時刻 $T_c(t - \Delta t_c)$ と $n$ 個のアセットシミュレーション時刻 $T_i(t) (i = 1 \ldots n)$ から、自身の新しいシミュレーション時刻 $T_c(t)$ を決定する。

新シミュレーション時刻 $T_c(t)$ は、前シミュレーション時刻を規定幅 $\Delta T_c$ だけ進めたと想定した値(想定新時刻 $T_c\prime(t)$ )が、どのアセットの現時刻 $T_i(t)$
をも、許容幅 $d_{max}$ を超えて追い越さないように確定する。(ここで、 $d_{max}$ は $\Delta T_c, \Delta T_i$ に比べて大きい必要がある)。
をも、許容幅 $D_{max}$ を超えて追い越さないように確定する。(ここで、 $D_{max}$ は $\Delta T_c, \Delta T_i$ に比べて大きい必要がある)。


- カウントアップ間隔
Expand All @@ -151,7 +151,7 @@ $$
0 もしくは \Delta T_c \ldots シミュレーション時間間隔
$$

カウントアップの際、新時刻値は、コアの現時刻を進めたと想定した値(想定新時刻)が、他のアセットの現時刻より **最大許容遅延時間 $d_{max}$ を超えて進んでしまわないように** 確定する。
カウントアップの際、新時刻値は、コアの現時刻を進めたと想定した値(想定新時刻)が、他のアセットの現時刻より **最大許容遅延時間 $D_{max}$ を超えて進んでしまわないように** 確定する。

- 想定新時刻

Expand All @@ -170,8 +170,8 @@ $$
$$
T_c(t) =
\begin{cases}
T_c\prime(t) & (d\prime_{max} \leq d_{max} の時) \ldots 進行 \\
T_c(t - \Delta t_c) & (d\prime_{max} \gt d_{max} の時) \ldots 停留
T_c\prime(t) & (d\prime_{max} \leq D_{max} の時) \ldots 進行 \\
T_c(t - \Delta t_c) & (d\prime_{max} \gt D_{max} の時) \ldots 停留
\end{cases}
$$

Expand All @@ -180,13 +180,13 @@ $$
上記規則によって、すべてのアセット $i$ について以下の不等式が、すべてのウォール時刻 $t$ について成り立つ。

$$
T_c(t) \leq T_i(t) + d_{max} \ldots (c.1)
T_c(t) \leq T_i(t) + D_{max} \ldots (c.1)
$$

すなわち、

$$
T_c(t) \leq \min_{i = 1 \ldots n} T_i(t) + d_{max} \ldots (c.2)
T_c(t) \leq \min_{i = 1 \ldots n} T_i(t) + D_{max} \ldots (c.2)
$$

- 証明
Expand Down Expand Up @@ -224,15 +224,15 @@ $$
- コアのシミュレーション時刻は、どのアセットのシミュレーション時刻より、最大許容遅延時間を超えて進んでいない。

$$
T_c(t) \leq \min_{i = 1 \ldots n} T_i(t) + d_{max} \ldots (c.2)
T_c(t) \leq \min_{i = 1 \ldots n} T_i(t) + D_{max} \ldots (c.2)
$$

この2つの命題より、次の2つの重要な命題がなりたつ。これが本小論文の結論である。

- コアのシミュレーション時刻は、最も進んだアセット時刻より遅れておらず、最も遅れたアセット時刻より最大許容遅延時間を超えて進んでいない。

$$
\max_{i = 1 \ldots n} T_i(t) \leq T_c(t) \leq \min_{i = 1 \ldots n} T_i(t) + d_{max} \ldots (c.3)
\max_{i = 1 \ldots n} T_i(t) \leq T_c(t) \leq \min_{i = 1 \ldots n} T_i(t) + D_{max} \ldots (c.3)
$$


Expand All @@ -241,15 +241,15 @@ $$
- 最も進んだアセットと最も遅れたアセットのシミュレーション時刻差は、高々最大許容遅延時間である、

$$
\max_{i = 1 \ldots n} T_i(t) \leq \min_{i = 1 \ldots n} T_i(t) + d_{max} \ldots (a.4)
\max_{i = 1 \ldots n} T_i(t) \leq \min_{i = 1 \ldots n} T_i(t) + D_{max} \ldots (a.4)
$$

すなわち、言い換えると、

- どんなアセットのペア $(i, j)$ を選んでも、シミュレーション時刻差は最大許容時間以内である。

$$
| T_i(t) - T_j(t) | \leq d_{max} \quad for \quad \forall i, j \ldots (a.5)
| T_i(t) - T_j(t) | \leq D_{max} \quad for \quad \forall i, j \ldots (a.5)
$$

<img width="649" alt="time distribution" src="T-distribution.png">
Expand All @@ -272,7 +272,7 @@ $10$ 個のアセットを動作させたときのシミュレーション結果
<img width="727" alt="tradeoff" src="tradeoff.png">

## TODO:
- 森さんの実験結果と突合し、 $\Delta t_i, d_{max}, \Delta T_i, \Delta T_c$ などのパラメータをどのように調整すると、早くシミュレーションが進む考察する。
- 森さんの実験結果と突合し、 $\Delta t_i, D_{max}, \Delta T_i, \Delta T_c$ などのパラメータをどのように調整すると、早くシミュレーションが進む考察する。
- ネットワーク遅延などの影響
- 統計、確率的なゆれによる遅延の影響(ゆれによって、アセットが増えると先頭アセットと末尾アセットの差が広がる)
- コアが増えたとき、CPU 時間(Quota)の分け合いが発生した場合の考察(おそらくアセット数個では Quota は圧迫されず、フルに使える)
Expand Down

0 comments on commit 3b81aa9

Please sign in to comment.