成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

FreeBSD 現在能在 25 毫秒內完成啟動

系統
這是運行在 AWS Firecracker 上的,當然,同時也有其他的新興微虛擬機(microVM)引擎可供選擇。

在更換了 FreeBSD 內核中的排序算法后,其啟動速度提高了 100 倍以上……雖然這是專門針對 微虛擬機microVM

過去五年,微虛擬機在科技研發領域中備受關注。其核心理念是重新包裝和創新了 IBM 在 1960 年代隨著 虛擬機管理程序hypervisor 誕生所發明的 一些概念和技術:設計專門作為另一個操作系統上的訪客系統運行的操作系統。這意味著該操作系統必須專門構建在虛擬機內執行,并與特定的管理程序提供的資源進行交互,而不是模擬硬件。

這就意味著訪客操作系統幾乎不需要針對真實硬件的支持,只需要 VirtIO 驅動,它們可以直接和宿主機的管理程序提供的功能進行交互。反過來說,管理程序無需提供模擬的 PCI 總線、模擬的電源管理、模擬的顯卡、模擬的網卡等等。結果就是,管理程序本身可以變得更加微型和簡化。

通過無情地縮減虛擬機監視器和運行在其內部的操作系統,這讓兩端都能更小、更簡潔。意味著虛擬機能更少的使用資源,并能更快速地啟動。

目前,這個商業目標是提供 “無服務器serverless” 的計算能力。實際上,“無服務器” 是一種市場雙關語:當然,真實世界中的服務器仍存在于某個數據中心中。但這與提供“基礎設施即服務(IaaS)”模型不同,而是提供“函數即服務(FaaS)”的模式。這就代表著你不需要了解任何有關基礎設施的知識 —— 你的程序直接調用另一個程序,然后管理工具會運行所需的特定操作,返回結果,然后刪除用于執行計算的虛擬機。你根本不需要知道這過程在何處,如何進行。

對消費者來說,這種技術的優勢在于其快速和易用性。而對服務提供商而言,因為能夠更快地回收和再利用資源,使得相同的硬件能服務更多的客戶,這是一個巨大的優勢。

AWS 通過一項名為 Lambda 的服務提供 FaaS,這個名稱是來源于一個深奧的函數式編程術語。Lambda 由亞馬遜自家研發的 Firecracker 管理程序提供支持,Firecracker 同樣也支撐著 Fargate 這一無服務器服務。

Firecracker 基于 Linux 內核的內建 KVM 管理程序:這本身就有別于之前 AWS 基于 Xen 管理程序 的實踐。這也就意味著它本質上是一個 Linux-on-Linux 的解決方案。這聽起來對 FreeBSD 內核開發者 Colin Percival 來說像是一個挑戰,正如我們 一年前的報道:他決定在 Firecracker 上運行 FreeBSD。然而就如同大部分的計算任務一樣,優化的過程大致上是:首先,讓它可以運行;然后,提高其運行速度。

根據他本周稍早的一則 推文,他最新的性能優化成果相當令人震驚:替換排序算法使 FreeBSD 內核啟動過程加速了約一百倍,將內核加載時間降至了驚人的 25 毫秒。換言之,只有四十分之一秒的時間。

FreeBSD(HEAD)現已不再執行其 SYSINIT 上的冒泡排序。如今,我們運行的是更高效、速度大概快了 100 倍的歸并排序:https://cgit.freebsd.org/src/commit/?id=9a7add6d01f3c5f7eba811e794cf860d2bce131d

當 FreeBSD 內核在 Firecracker (配備 1 CPU,128 MB 內存)中啟動時,現在有大約 7% 的時間用于執行其 SYSINIT 上的冒泡排序。

當你需要對上千個條目進行排序時,O(N^2) 的復雜度可能會帶來較大的影響。因此,是時候將冒泡排序替換為更高效的算法了。

這一調整只是一系列優化措施中的最新一個環節,兩天后,他進一步 詳細 闡述了這些優化。這包括了引導所需的初始更改:消除了假定在 Xen 下引導的一些初始化步驟,然后查詢 ACPI 獲取處理器的類型和數量。這一步出現了問題,因為 Firecracker 并未提供 ACPI。接著,對其仿真的唯一的硬件,串行控制臺,進行初始化也失敗了。

這個微調只是長期進行的一系列優化中的最新一環。幾天后,他更詳細地描述了這些更改。這些更改描述了讓系統啟動所需的初步改動:移除了假定在 Xen 下引導的幾個初始化步驟,然后嘗試向 ACPI 查詢處理器的類型和數量。然而,該嘗試失敗了,因為 Firecracker 并不提供 ACPI。接著,初始化它確實模擬的少量硬件之一——串行控制臺——也失敗了。

在內核成功啟動之后,內存的使用迅速成為了一個問題:Firecracker 默認只給客戶端分配了 128MB 的內存,原因在于一個必須修改的假設。之后是一整套的優化清單,每一項都為減少時間作出了一部分貢獻。

即便你不是特別懂技術,閱讀這篇文章也會很有趣。一些步驟更改了在專用硬件上引導的合理選擇,在虛擬環境中,這些選擇在機器產生、做工作、然后在幾秒鐘內再次被刪除的情況下,已經無法適用。

Percival 評論 稱:

我相信在相同的環境下,Linux 的引導時間是 75-80 毫秒,而我已經讓 FreeBSD 在 25 毫秒內引導。

他 接著 說道:

當我開始研究提速引導的過程時,內核大約需要 10 秒鐘的時間來引導,所以現在我擁有的內核引導速度,比我幾年前快約 400 倍。

目前,已經優化的系統內核是 FreeBSD 14 版的,運行在 x86-64 架構上,但也正在進行適配到 Arm64 的工作 —— AWS 是世界上 最大的 Arm 服務器用戶。

Firecracker 是眾多備受矚目的微虛擬機中的一員,但也有其他的微虛擬機,而且它的成功也激勵了 QEMU 開發者增加了一個 微虛擬機 平臺。Canonical 的開發者 Christian Erhardt 在 博客 上介紹了如何在 Ubuntu 中使用這種技術,并且在線代碼開發環境供應商 Hocus 最近 解釋 了為什么它從 Firecracker 轉移到了 QEMU 等價物。

我們可以看到微虛擬機有很多潛在的使用場景,不僅僅是在云場景中。能夠在一個完全不同的 OS 上運行為另一個 OS 構建的單個程序,而不需要始終運行完整的模擬環境,可能在各種情況下都非常方便。

容器是一個非常有用的工具,但在容器中你只能運行與宿主 OS 相同的二進制文件。運行任何其他的東西 —— 比如在 macOS 上運行 Docker Linux 容器 —— 意味著有一些模擬和一個訪客操作系統被隱藏在堆棧的某個位置。這個 VM 能夠越小,并且使用的資源越少,無論是對容器還是整個機器的整體性能來說都會更好。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-07-20 14:12:31

Linux60秒命令

2020-12-24 14:43:31

3DAI 人工智能

2025-01-14 09:14:01

JavaScrip函數undefined

2018-03-02 10:58:17

人工智能AI律師

2009-12-11 17:31:57

2025-05-27 04:00:01

Docker容器掛載

2010-01-18 10:03:37

FreeBSD porFreeBSD

2017-12-22 10:34:02

大數據AI存儲

2009-07-22 11:53:58

科技業內幕曝光

2023-04-27 13:06:46

AI手機模型

2025-02-05 10:15:00

2010-02-24 10:47:51

Ubuntu 9.04

2020-06-05 14:18:57

Linux性能EC2

2009-12-17 13:52:06

Fedora 11功能

2014-07-16 09:51:16

FreeBSD

2010-09-16 15:11:58

FreeBSD PPP

2010-01-18 10:05:20

FreeBSD內核

2011-02-23 14:05:57

2010-12-31 09:23:44

FreeBSD

2009-04-07 15:39:55

LinuxDebianFreeBSD Ker
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩在线一区二区三区 | 亚洲精品第一 | 欧美精品一区二区三区在线 | 国产亚洲精品久久久久久豆腐 | 久草在线中文888 | 欧美美女二区 | 91精品国产综合久久婷婷香蕉 | 中文字幕在线网 | av一区在线观看 | 久久99精品久久久久 | 国产精品视频yy9299一区 | 色视频欧美 | 国产精品免费av | 一区二区三区视频在线 | 国产jizz女人多喷水99 | 日本在线免费看最新的电影 | 成人在线观看亚洲 | 欧美精品在线免费 | 亚洲精品国产成人 | 久久精品在线播放 | 精品一区二区三区在线视频 | 99爱国产| 亚洲品质自拍视频网站 | 亚洲精品一区二区三区四区高清 | 九九亚洲 | 性一交一乱一伦视频免费观看 | 久久国产精品网站 | 美女一区 | 日韩一三区 | 久久精品综合 | 国产精品成人在线 | 国产精品久久久久久吹潮 | 午夜视频在线 | 婷婷去俺也去 | 91九色视频在线 | 看真人视频一级毛片 | 日本久久网 | 中文字幕一区二区三区日韩精品 | 日韩一二区 | 美女一级a毛片免费观看97 | 精品久久久一区二区 |