调度系统设计读书笔记

调度系统设计精要

原文链接:调度系统设计

调度系统解决的就是资源和需求供给不平衡的问题。

需求调研

  1. 调研应用场景,深入调研场景中待执行的任务(work)和能用来执行任务的资源)(resource)的特性。
  2. 分析调度系统的目的,成本优先,质量优先,最大化资源利用率等等

应用场景

了解任务的特性:

  1. 任务是否有截至日期,必须在某个时间以前完成;
  2. 任务是否支持抢占,抢占的具体规则是什么;
  3. 任务是否包含前置条件;
  4. 任务是否能在制定的资源上运行;

复杂性在于资源可能不平衡,不同资源处理任务的速度可能不一致。

linux调度例子

linux的进程调度器中,待调度的就是线程,线程只会处于执行或未执行状态。资源就是cpu(除cpu外系统不会为线程分配内存),同一个cpu在同一时间只能执行一个任务(进程中的线程),分配cpu时间给进程 ,上下文切换