Google为Linux提供补丁加快服务器关机速度

2022-06-30 05:30杨蓉
计算机与网络 2022年7期
关键词:驱动器调用内核

杨蓉

Google工程师的一个新的Linux内核补丁解决了一个问题,这个问题是由许多人可能没有体验过的情况引起的,那就是一台服务器当中插著太多的NVMe驱动器,这个问题使正确关闭一个驱动器所需时间较长。

还记得Sun公司的X4500存储服务器吗,它的代号为Thumper,它出现时确实很激进:一个3U的双处理器服务器密密麻麻装了48个驱动器托架。当他们不得不重新启动时,需要很长的时间。

一个有16个驱动器的存储服务器,每次重启都会浪费 72 s的时间。虽然也就是泡杯咖啡的时间,但仍然很烦人,因为这完全是不必要的。

问题主要出在内核的驱动器关闭功能是同步的:对于每个驱动器,它都会等待关闭命令完成,然后再进行下一个。新的内核补丁做了完全相同的事情,但改变了调用的方式,使其成为异步的,它向第一个驱动器发出调用,然后立即转到下一个,并按顺序进行。当它们都返回所需的状态工作就完成了。

虽然这并不能直接帮助大多数人,但有时这类变化会产生令人非常愉快的作用。例如,有一个为内核开发者提供的工具叫kexec,它允许一个内核将另一个内核加载到内存中并启动它。不仅如此,还可以加速Linux的重新启动。由于计算机在加载操作系统之前必须读在取固件过程中花费1 min左右的时间,进行一些自我测试等,如果能绕过这一点,直接从一个操作系统重启到另一个,就可以把时间缩短到几秒钟而不是现在的几分钟。

猜你喜欢
驱动器调用内核
人民情怀:柳青为文为人的内核(评论)
初春
藏起驱动器号确保数据安全
将驱动器钉在Windows 10任务栏
微软发布新Edge浏览器预览版下载换装Chrome内核
基于Android Broadcast的短信安全监听系统的设计和实现
希捷推出低容量大尺寸硬盘
利用RFC技术实现SAP系统接口通信
C++语言中函数参数传递方式剖析
具备DV解码功能的DVD编码器——数字视频刻录应用的理想选择