Categories
Dairy

2021-2-21

书中自有千粒粟。

从Linux的进程调度机制中了解到了CFS调度策略,面对相同的难题–一个处理器如何完美运行多任务–得到了关于如何安排工作的启发。

从schedue class类比出事务分类:W-交互类;C-计算类;T-定时类。

从time slice提取出了工作时间和工作延迟俩概念。工作时间指一天中可以用来工作的时间(工作日9~10小时,休息日4~6小时)。工作延迟是指一类事务最长的处理时间(目前暂定1小时),意味着1小时后必须考虑执行其他工作。

从nice值提取出了优先级的概念。不同于当前的仅以DDL作为优先级排序,增加了后悔度的概念,表征了在DDL之前如果没有完成这个事务有多后悔?

从pick_next_task(即rbtree最左侧叶子)类比出了调度原则:在工作延迟到来后挑选优先级最高的任务。而最高优先级的任务选择策略就是:DDL在1月后的按后悔度排序;DDL在1月以内的,按DDL排序,相同DDL时,按后悔度排序。

如此,就能以一当十了。

Leave a Reply