






















There's another example from the HPC community - the batch system Slurm has a slurmctld which handles the queue of active and pending jobs and can get very large when you've a big queue (10s of GBs of RAM). It also used to fork/exec to do things like run certain scripts (when configured) at various times of the job lifecycle and (which we would see more commonly) send emails when a job started/completed/failed (depending on which options the user selected at job submission time). When you can be starting and ending many jobs per second that became... suboptimal.
So SchedMD (who maintain Slurm) decided to implement a separate daemon (slurmscriptd) which was forked from slurmctld at startup and then it would be sent messages for things to do on its behalf. That relieved massively the overhead of continual fork/exec a huge process for this.
All the best,
Chris
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。