2020年12月10日

あれこれやらねばと思いつつ、うまく進捗させられない感じだなあ。一個ずつやっていくしかない。あれこれあるタスクのスケジューリングについて、以下のようなことを以前Twitterに書いた。

期限が近いことを優先度とみなし、優先度順にひとつずつタスクを終わるまで実行しては次のタスクにとりかかる。タスクはプリエンプションされない。期限はハードリアルタイムだが、このOSのスケジューラは優先度順に次々にタスクを実行していくだけという単純な実装になっている。わたくしの脳である。期限の近いタスクが突発的に発生することもあり得るからプリエンプションをできるようにするということも必要なのだが、そもそもタスクをサブタスクに切り分けていって、そのサブタスクの期限について優先度をつけて実行していく方が、この脳みそにとってはうまくいく方式でありそうだと思われる。

https://twitter.com/kentaro/status/1330776620882268160

これだとなにいってるのかあんまよくわからないが、(1)やることは一度にひとつにするのがいい(2)やり始めたら終わるまでやる(途中で他のタスクに移行しない)方がいい(3)タスクはできるだけ細分化しておくほうがいい、ということをいっている。こういうと当たり前の話ではある。(1)によって、コンテキストスイッチが減る。(2)によって、中途の状態を記憶しておく必要が減る(まあこれもコンテキストスイッチの一部だが)。(3)によって、割り込みタスクのターンアラウンド時間が減る。

それはそれとして、もっと長期的なこともやっていく必要があるのだが、そういうのも上記のようなレベルに落とし込んでいかないとならないのだなあ。

読み進めていた『プログラミング Elixir(第2版)』を読了。デイブ・トーマス御大節満載で、面白かったなあ。

夜は、久々に近所の蕎麦屋で夕食。七本槍があったのでいただく。たった一合でもう十分という感じ。だいぶ弱まっている。相変わらずお蕎麦が美味しい。家につくなり寝入ってしまう。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA