Scheduling in Computing

1. Round-Robin Scheduling Algorithm: 时间片轮转调度

名字来源很有意思:古时候人们写联名上书反对领导时,为了避免当出头鸟,觉得把所有的签名写成一个环,于是领导就无法抓典型了。

CPU 如何处理那么多得线程,如何决定那个先run,run 多长时间?时间片轮转算法是其中重要的一个。

时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。

  时间片轮转调度中唯一有趣的一点是时间片的长度。从一个进程切换到另一个进程是需要一定时间的–保存和装入寄存器值及内存映像,更新各种表格和队列等。假如进程切换(process switch) – 有时称为上下文切换(context switch),需要5毫秒,再假设时间片设为20毫秒,则在做完20毫秒有用的工作之后,CPU将花费5毫秒来进行进程切换。CPU时间的20%被浪费在了管理开销上。

  为了提高CPU效率,我们可以将时间片设为500毫秒。这时浪费的时间只有1%。但考虑在一个分时系统中,如果有十个交互用户几乎同时按下回车键,将发生什么情况?假设所有其他进程都用足它们的时间片的话,最后一个不幸的进程不得不等待5秒钟才获得运行机会。多数用户无法忍受一条简短命令要5秒钟才能做出响应。同样的问题在一台支持多道程序的个人计算机上也会发生。

  结论可以归结如下:时间片设得太短会导致过多的进程切换,降低了CPU效率;而设得太长又可能引起对短的交互请求的响应变差。将时间片设为100毫秒通常是一个比较合理的折衷。

拓展:

LVS提供了四种调度算法:轮转调度,加权轮转调度,最少连接调度,加权最少连接调度。

  1. 轮转调度(Round Robin Scheduling)

    轮转调度不考虑服务器的连接数和响应时间,它将所有的服务器都看作是相同的。当以轮转的形式将连接分发到不同的服务器上。

  2. 加权轮转调度(Weighted Round Robin Scheduling) 

    根据每个机器的处理能力的不同给每个机器分配一个对应的权重,然后根据权重的大小以轮转的方式将请求分发到各台机器。这种调度算法的耗费比其它的动态调度算法小,但是当负载变化很频繁时,它会导致负载失衡,而且那些长请求会发到同一个服务器上。

  3. 最少连接调度(Least Connection Scheduling) 

    最少连接调度将用户请求发送到连接数最少的机器上。最少连接调度是一种动态调度方法,如果集群中各台服务器的处理能力相近,则当负载的变化很大时也不会导致负载失衡,因为它不会把长请求发送到同一台机器上。但是当处理器的处理能力差异较大时,最少连接调度就不能很好的发挥效能了。

  4. 加权最小连接调度(Weighted Least Connection Scheduling) 

    根据服务器的性能不同而给它们分配一个相应的权重,权重越大,获得一个连接的机会就越大。有如下的运算方法:(假设共有n台机器,每一台服务器i的权重为Wi (i=1,..,n),活跃连接数为Ci (i=1,..,n), 所有的连接数为Ci (i=1,..,n)的总和,下一个连接会发送给服务器j,服务器j满足以下的要求): (Cj/ALL_CONNECTIONS)/Wj = min { (Ci/ALL_CONNECTIONS)/Wi } (i=1,..,n) 由于ALL_CONNECTIONS是一个常数,因此上面的式子可以优化为:
    Cj/Wj = min { Ci/Wi } (i=1,..,n)

2. Genetic Algorithms

达尔文进化论启发的:先得到一群初始化的人群,选择相似的一对一对的个体进行交配,互换基因。并有一定概率的变异,最终得到子群。

时间: 2024-10-06 18:52:13

Scheduling in Computing的相关文章

spark 笔记 2: Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing

http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf ucb关于spark的论文,对spark中核心组件RDD最原始.本质的理解,没有比这个更好的资料了.必读. Abstract RDDs provide a restricted form of shared memory, based on coarse grained transformations rather than fine-grained updates to s

Network management system scheduling for low power and lossy networks

In one embodiment, a network management system (NMS) determines an intent to initialize a request-response exchange with a plurality of clients in a low power and lossy network (LLN). In response, the NMS adaptively schedules corresponding responses

poj 1180 Batch Scheduling(DP-单调性优化)

Batch Scheduling Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3145   Accepted: 1442 Description There is a sequence of N jobs to be processed on one machine. The jobs are numbered from 1 to N, so that the sequence is 1,2,..., N. The s

Tagging Physical Resources in a Cloud Computing Environment

A cloud system may create physical resource tags to store relationships between cloud computing offerings, such as computing service offerings, storage offerings, and network offerings, and the specific physical resources in the cloud computing envir

PatentTips - Scheduling compute kernel workgroups to heterogeneous processors based on historical processor execution times and utilizations

BACKGROUND OF THE INVENTION? 1. Field of the Invention? The present invention relates generally to heterogeneous computer systems.? 2. Background Art? Computers and other such data processing devices have at least one control processor that is genera

Power aware dynamic scheduling in multiprocessor system employing voltage islands

Minimizing the overall power conservation in a symmetric multiprocessor system disposed in a system-on-chip (SoC) depends on using voltage islands operated at different voltages such that similar circuits will perform at significantly different level

spark 笔记 14: spark中的delay scheduling实现

延迟调度算法的实现是在TaskSetManager类中的,它通过将task存放在四个不同级别的hash表里,当有可用的资源时,resourceOffer函数的参数之一(maxLocality)就是这些资源的最大(或者最优)locality级别,如果存在task满足资源的locality,那从最优级别的hash表.也就是task和excutor都有loclity级别,如果能找到匹配的task,那从匹配的task中找一个最优的task. =====================延迟调度算法====

UVa 1354 Mobile Computing[暴力枚举]

**1354 Mobile Computing** There is a mysterious planet called Yaen, whose space is 2-dimensional. There are many beautiful stones on the planet, and the Yaen people love to collect them. They bring the stones back home and make nice mobile arts of th

决策理论(Decision theory)&自动规划和调度(Automated planning and scheduling)(双语)

译的不好,还请见谅... 大部分内容来自wiki decision theory决策理论部分: Normative and descriptive decision theory 规范和描述性决策理论 规范或规范的决策理论关心的是确定最好的决定(在实践中,有些情况下,"最好"的不一定是最大,最优可能还包括值除了最大,但在特定或近似范围),假设一个理想的决策者充分了解,能够准确无误地计算,完全理性的.这说明性的方法的实际应用(人们应该做出决定)决策分析,旨在发现工具,方法和软件帮助人们做