朝の記事の続き。
その昔1ビットCPUというのがあった。制御用のCPUで私も評価機を作ったことがある。制御系では12ビットが便利なので、12ビットCPUが制御用に使われていた時代もあった。D/A、A/Dコンバータは12ビット処理が基本だし。
我が家のデータベース用に設計した分散システムの基本は4ビットをパラレルで処理するようにしてある。
空席情報は予約クラス毎に0から9の空席数で管理されている。(9は9以上を意味する)
ようするに4ビットあれば充分。一便につき10個以上の予約クラスがあるので、それらを同時にメモリに書き込む、読み込む仕組みが必要になる。4ビットバスで設計してある。
具体的には128ビットのバスを通じて、4ビットづつにハードウェアで分解、マージされる仕組みになっている。
20代、kernel屋さんだったころ、本当に優秀なエンジニアはハードウェアとソフトウェアの両方を極める、と教えられた。実際問題、kernelしかも、あたしの専門はioやmiscだったので、ハードウェアを知らないとプログラムが書けなかった。
このときの影響で、今でもシステム設計するときはハードウェアからソフトウェアに至るまで徹底的にオプティマイズしたものになる。
をたく
の一言が良く似合う。
我が家の予測システムの最大の欠点はパフォーマンス。数時間後の予測なら可能だが、1分後、2分後の予測は計算が間に合わない。
その昔1ビットCPUというのがあった。制御用のCPUで私も評価機を作ったことがある。制御系では12ビットが便利なので、12ビットCPUが制御用に使われていた時代もあった。D/A、A/Dコンバータは12ビット処理が基本だし。
我が家のデータベース用に設計した分散システムの基本は4ビットをパラレルで処理するようにしてある。
空席情報は予約クラス毎に0から9の空席数で管理されている。(9は9以上を意味する)
ようするに4ビットあれば充分。一便につき10個以上の予約クラスがあるので、それらを同時にメモリに書き込む、読み込む仕組みが必要になる。4ビットバスで設計してある。
具体的には128ビットのバスを通じて、4ビットづつにハードウェアで分解、マージされる仕組みになっている。
20代、kernel屋さんだったころ、本当に優秀なエンジニアはハードウェアとソフトウェアの両方を極める、と教えられた。実際問題、kernelしかも、あたしの専門はioやmiscだったので、ハードウェアを知らないとプログラムが書けなかった。
このときの影響で、今でもシステム設計するときはハードウェアからソフトウェアに至るまで徹底的にオプティマイズしたものになる。
をたく
の一言が良く似合う。
我が家の予測システムの最大の欠点はパフォーマンス。数時間後の予測なら可能だが、1分後、2分後の予測は計算が間に合わない。