标签: scheduling

sched_batch和sched_other调度有什么区别?

我正在研究Ubuntu项目.没有找到sched_batch和sched_other之间的明显区别.有人能告诉我区别吗?

linux operating-system scheduling

10
推荐指数
1
解决办法
3422
查看次数

如何实现实用的光纤调度器?

我知道使用协同程序作为基础并实现玩具调度程序的基础知识.但我认为这是关于整体异步调度程序的过于简化的观点.我的想法中缺少一整套漏洞.

如何防止cpu运行正在运行空闲/等待的调度程序?有些光纤只是睡觉,有些则等待来自操作系统的输入.

linux asynchronous scheduling language-implementation

9
推荐指数
2
解决办法
7984
查看次数

在resque调度程序中调度动态作业

我正在尝试使用rails 3和resque scheduler来测试将来的调度作业:

以下是我正在使用的代码,但我得到NoM​​ethodError set_schedule.

 Resque.set_schedule("1", {
  :cron => "30 6 * * 1",
  :class => "Notify",
  :queue => "username",
  :message => 'notification message'      
})
Run Code Online (Sandbox Code Playgroud)

我尝试使用一个简单的入队Resque.enqueue(Notify, params[:message]),这很好.

更新:

以下是我得到的错误:

undefined method `set_schedule' for Resque Client connected to redis://bass.redistogo.com:9064/0:Module
Run Code Online (Sandbox Code Playgroud)

ruby scheduling scheduled-tasks resque ruby-on-rails-3

9
推荐指数
1
解决办法
4463
查看次数

任务/作业调度问题

我有一个任务/作业调度问题,我想找到最好的有效算法来解决它.

假设有一些工人.每个工人都能够完成不同的任务/工作.以下示例可以说清楚:

  Worker A (can do): T2, T3
  Worker B         : T1, T3, T4
  Worker C         : T3, T5
Run Code Online (Sandbox Code Playgroud)

现在我们有一个必须完成的任务列表.例如,列表类似于:T1,T3,T5

有一些限制:

  1. 每项任务必须由一名工人完成
  2. 可以同时执行几项任务
  3. 但是一个工人只能同时完成一项任务.(他/她在完成任务之前不可用)

对于上面的示例,我们可能会有这样的计划:

  T1 --> Worker B
  T3 --> Worker C   T5 --> Worker C
Run Code Online (Sandbox Code Playgroud)

您可能已经注意到,上述时间表并非最佳.因为T5必须等待工人C完成T3.以下解决方案更好:

  T1 --> Worker B
  T3 --> Worker A
  T5 --> Worker C
Run Code Online (Sandbox Code Playgroud)

因为没有等待.

现在假设我知道worker-tasks矩阵(什么工人可以做什么任务).任务将逐一进行,但不知道它将是什么.我被要求设计一个调度程序,为每个即将到来的任务自动找到一个空闲工作程序.最后所有任务完成后,等待时间最短.

所以我需要一个算法用于这个调度程序.如果完美的车轮已经存在,我不想重新发明轮子.任何人都可以帮忙吗?

谢谢.

algorithm scheduling scheduler scheduled-tasks

9
推荐指数
1
解决办法
1万
查看次数

在GHC RTS的调度程序中,为什么它将一个功能标记为免费?

当我阅读关于调度程序的GHC Wiki评论时,我对此部分感到困惑:

将Capability标记为免费的一个原因是支持快速标注.在进行安全的外部调用时,我们必须释放Capability,然后将其移交给另一个工作线程.如果外国呼叫很短,我们不希望在返回时产生上下文切换的成本,但由于我们将能力标记为空闲,因此返回的任务很可能立即重新获取并继续.我们醒来的工作人员会发现Capability已经拥有,然后再次进入休眠状态 (如果没有可用于运行该工作线程的空闲CPU,则可能会产生双上下文切换).

我的问题:
对于大胆的句子,确实会导致"双上下文切换",无论是否标记自由的能力.此外,如果它们发生的话,两个"开关"是什么 - 从who1到who2,然后who2到who3?

haskell scheduling runtime ghc

9
推荐指数
1
解决办法
219
查看次数

如何计算循环调度的平均等待时间?

鉴于此表: 在此输入图像描述

那些是时间线(时间片= 4):

|p1|p1|p2|p3|p4|p5|p1|p2|p3|p4|p5|p2|p3|p4|p5|p2|p3|p4|p5|p2|p3|p3|
0  4  8 12 16  20 24 28 32 36 40 44 48 52 56 60 64 68 69 72 75 79 80
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来计算平均等待时间?

谢谢

注意:每个过程有几个完成时间!

注2:此问题还涉及优先级算法作为辅助练习,请忽略循环算法的优先级列

scheduling process gantt-chart

9
推荐指数
2
解决办法
7万
查看次数

应用程序启动后和午夜后运行的Spring调度程序

如何描述在应用程序启动后和00:00之后运行的Spring调度程序?

cron spring scheduling

9
推荐指数
3
解决办法
1万
查看次数

用Chronos取代Celerybeat

Chronos有多成熟?它是芹菜节拍等调度器的可行替代品吗?

现在我们的调度实现了一个定期的"心跳"任务,该任务检查"未完成"事件并在它们过期时触发它们.我们使用python-dateutil的rrule来定义它.

我们正在寻找这种方法的替代方案,而Chronos似乎是一个非常有吸引力的替代方案:1)它将减少使用心跳计划任务的必要性,2)它支持使用ISO8601格式的RESTful提交事件,3)有一个有用的接口管理,4)它的规模.

关键要求是需要从Web界面即时配置调度.这就是为什么不能使用celerybeat的内置调度开箱即用的原因.


我们是否会通过切换到Chronos来射击自己?

scheduling celery celerybeat

9
推荐指数
1
解决办法
1319
查看次数

Linux调度程序是否更喜欢在fork()之后运行子进程?

Linux调度程序是否更喜欢fork()在父进程之后运行子进程?

通常,forked进程会执行exec某种类型,所以最好让子进程在父进程之前运行(以防止写入时复制).

我假设孩子exec将在创建之后执行第一个操作.

我的假设(调度程序更喜欢子进程)是正确的.如果没有,为什么?如果是,是否有更多理由让孩子先行?

linux fork scheduling

9
推荐指数
1
解决办法
1983
查看次数

DropWizard本身是否支持计划任务?

DropWizard允许您通过点击URL 来定义管理任务并远程执行它们.DropWizard应用程序还有一些内置的管理任务,例如垃圾收集器,可以通过发送GET来命中http(s)://yourapp.example.com:8081/tasks/gc.

我想知道DropWizard是否有任何内置的调度任务支持.例如,以GC任务为例,每隔3小时或午夜等安排垃圾收集可能会很不错.

显然,我可以使用Quartz这样的东西来实现这个目标,但是如果DropWizard本身支持这种开箱即用,为什么要重新发明轮子呢?那是吗?

java scheduling admin quartz-scheduler dropwizard

9
推荐指数
1
解决办法
7543
查看次数