本篇將使用NVMe SSD增加儲存空間以及swap空間,並且測試SD卡跟SSD的效能差異。
NVIDIA為了展示服務機器人的AI應用提供了Cloud-Native展示範例,部分程式需要使用到NVIDIA Jetson 平台中的Jetson AGX Xavier跟Jetson Xavier NX獨有的Tensor Core。服務機器人是自動化機器人,且需要在不同的場所與人互動。舉例來說,在一個零售賣場駐點的服務機器人可能需要執行以下任務:
- 識別顧客/人
- 判斷顧客是否在跟自己交談
- 了解顧客跟機器人互動時指向的位置,可能是商品詢問或是問路等等
- 了解顧客需求
- 提供有效的回覆
所以四個Cloud-Native展示範例分別為以下內容:
- 路人偵測,可用於計算視線內總人數
- 姿態檢測,可以用於判斷顧客的肢體語言
- 注視檢測,可用於判斷顧客是否與自己交談
- 語音辨識與自然語言處理,可以用於與顧客交談
這四個展示範例中的模型都是包裝成容器(container)的形式,並託管給NVIDIA NGC。
由於這些展示範例並未針對記憶體跟儲存空間大小完全的最佳化,因此在執行展示範例之前要使用NVMe SSD增加儲存空間以及swap空間。本篇也會順便測試SD卡跟SSD卡的使用效能差異。
本文大綱:
- 安裝SSD並設定swapfile
- 比較SSD跟SD卡效能
作者/攝影 | 蔡雨錡/CAVEDU教育團隊 |
時間 | 1hr |
難度 | ★☆☆☆☆ |
材料表 |
|
安裝SSD並設定swapfile
Step 1. 在Jetson Xavier NX上安裝SSD
使用M2螺絲起子將下圖中綠色圓圈中的螺絲轉開拿起來。再把NVMe規格的PCIe SSD插入Jetson Xavier NX的底部M.2 Key M插槽(為圖中紅色框框的左側)。插進去後要注意金屬接點部分會如下圖看不到,這個時候就可以把綠色圓圈中的螺絲鎖回。
接下來的步驟為按照NVIDIA Cloud-Native範例Github操作,文字中以符號$為首的指令需要在terminal中輸入。
Step 2. 格式化NVMe為ext4的Linux檔案系統
檢查NVMe是否有裝上Xavier NX
畫面如下圖黃字所示,就可以進行格式化
Step 3. 安裝 NVMe
創建安裝資料夾
並安裝(mount) NVMe
Step 4. 在檔案系統表(File System Table)中新增要掛載的項目
用你習慣的文字編輯器,本文中使用nano編輯器。沒有nano編輯器的人可以透過下列指令先行安裝:
編輯檔案系統表
新增下列這行內容,成果如下圖
完成後,重新啟動系統
Step 5. 設定將docker儲存在NVMe裡
創建新資料夾
建立連結
Step 6. 關閉zram後重啟系統
Step 7. 在nvme上添加swapfile並驗證
新增32G swap空間
改變檔案權限為 600 ,僅有owner可以讀/寫
顯示出以下畫面就成功了。
Step 8. 在檔案系統表(File System Table)中新增掛載swapfile
編輯檔案系統表
新增下列這行內容
完成後,重新啟動系統
比較SSD跟SD卡效能
搜尋Disks後可以看到以下畫面,由於有32G做swapfile了,所以可用空間為457GB。
因為有指定docker要存入NMVe SSD裡,所以到先前創建的資料夾( /home/your_home_directory_name/nvme)下可以看到以下畫面
使用剛剛Disks畫面中右上角的Benchmark功能測試SSD跟SD卡的效能。
100個樣本測試平均讀取速度結果:
SSD為2.8GB/s,而SD卡為85.2MB/s
1000個樣本測試平均存取時間:
SSD為0.07msec,而SD卡為0.63msec
可以看出有十分顯著的差異!
測試中使用的硬體規格如下:
- SSD – SanDisk Extreme PRO M.2 NVMe 3D SSD 500GB
- SD卡 – SAMSUNG microSDXC UHS-I Card 64G
Jetson Xavier NX在需要更高存取速度的情況下,加裝一條SSD是一個不錯的解決辦法!
參考資料: