问题标签 [sched-deadline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
783 浏览

python - 如何使用 Python 脚本从截止日期获取 JobID

有什么方法可以从截止日期获取作业 ID。我正在编写从 Maya 提交作业到 Deadline 的过程,而不使用 GUI。我需要 JobId 以便在存储库中创建一个文件夹,以便在提交时保存 Maya 场景文件。谢谢

0 投票
1 回答
352 浏览

c - 每个从 sched_getscheduler(pid) 返回的 int 值对应的调度策略是什么?[C]

当我使用以下代码将调度策略设置为 Deadline 时:

上述代码的结果如下:

pid=(XXXXXX)

调度程序策略为 6。

有人可以解释 sched_getscheduler(pid) 的哪个返回 int 值对应于哪个调度程序策略?

例如:从上述代码中,我相信 6 对应于 SCHED_DEADLINE 策略。

0 投票
0 回答
168 浏览

c - SCHED_DEADLINE 运行时溢出信号 (SIGXCPU)

我正在使用SCHED_DEADLINE. 如果线程SIGXCPU超过指定的sched_runtime. 据我对手册的理解,这可以通过设置SCHED_FLAG_DL_OVERRUN-flag 来实现。但是,在下面的示例程序中,没有接收到信号(在第三次迭代中)。根据 kernelshark-plot,线程在运行时被挂起,但没有创建信号。

我对SCHED_FLAG_DL_OVERRUN-flag 的理解是否正确?如果不是,是否有另一种方法来检测线程是否超过指定的运行时间,而不测量每次迭代后的时间?

我的内核版本是5.4.3-rt1-1-rt #1 SMP PREEMPT_RT.

0 投票
1 回答
248 浏览

apache-kafka - kafka 磁盘在大量读取期间拖拽写入并在 kafka 生产者中导致“队列已满”错误

我们有 6 个 kafka 代理,具有 256GB RAM、24c/48T,它们托管 20 个在 raid10 中配置的 1.8TB SAS 10K rpm 磁盘。

有两个 Spark Streaming 应用程序

  • 每 10 分钟开始他们的批次
  • 一旦开始,他们的第一份工作就是阅读同一个 kafka 主题。
  • 该主题有 200 个分区,均匀分布在 6 个代理上(每个代理上 33 个分区)。
  • 流媒体应用程序使用 kafka 客户端 0.8.2.1 从 kafka 消费

有 21 个注入器实例以 6K 事件/秒的速率连续写入该主题。他们使用 librdkafka poroducer 为 kafka 制作事件。

当流媒体应用程序醒来时,他们的第一项工作是阅读主题。一旦他们这样做,kafka 磁盘中的 %util 会在 30 秒到 60 秒内达到 90-100%,同时所有注入器实例都会从他们的 kafka 生产者那里收到“队列已满”错误。这是生产者配置:

  • queue.buffering.max.kbytes:2097151
  • 逗留时间:0.5

在此处输入图像描述

从这张图中看不到,但在高 util% 期间,有一段时间写入为 0,我们假设在这些时间段内,注入器的生产者的队列已满,因此抛出“队列已满”错误。

值得一提的是,我们在kafka机器中使用了deadline IO调度器,它优先考虑读取操作。

关于如何释放写入压力,我们有几个想法:

  • 减少不必要的 iops - 将 kafka 磁盘配置从 raid10 更改为 non-raid ("jbod")
  • 传播读取 - 使 spark 应用程序在不同时间从 kafka 读取,而不是同时醒来
  • 更改写入和读取的优先级 - 将 IO 调度程序更改为 CFQ

我写这个问题是为了验证我们是否走在正确的轨道上,并且由于 raid10、deadline IO 调度程序以及同时读取过多,操作系统确实在读取期间写入。

你怎么看?

0 投票
0 回答
61 浏览

linux - Linux SCHED_DEADLINE

是否可以将 SCHED_DEADLINE 周期设置为低于 0.1 毫秒?

我用

我得到一个错误:

错误的论点。

同时命令

工作得很好。

0 投票
0 回答
28 浏览

linux - sched_yield 似乎挂在内核 3.14.79 上

过去的 问题表明它SCHED_DEADLINE从内核 3.14.10 开始可用。我正在尝试在运行内核 3.14.79 的 aarch64 SBC 上运行以下测试程序:

该程序挂起sched_yieldstrace确认该函数是最后一个调用的函数)。我唯一可用于此特定板的其他内核是 3.16,它也挂起。相同的代码在其他平台上运行得很好(一对带有内核 4.4 和 5.4 的 x86-64,另一个带有内核 4.9 的 aarch64 SBC)。因此,内核 3.14的sched_yield调用(或者可能在设置sched_yield时调用)似乎存在一些问题。SCHED_DEADLINE除了构建更新的内核之外,有什么我可以尝试弄清楚的吗?