MATLAB Parallel Server 2019 安裝教學

前言

此為 2020 年時替實驗室安裝時的筆記,以下使用 Windows 機器安裝,代理商工程師提到 Linux 會比較穩一些。

雖然清大有 “Full Suite” License,我們仍無法從 MATHWORK 網站直接拿到 Parallel Server license,必須連絡台灣代理商拿序號才行。

Parallel Server 使用多台電腦加速運算,由一台 Headnode 控制多台 worker 主機。這些主機上都需要完成基本安裝步驟,最後再由 Headnode 設定工作分配。

基本安裝

Get the license

將欲安裝 Headnode 的主機之 MAC 位址寄給賴小姐,表明為清大身份,並告知其要用來安裝 Parallel Server,回信會附上 license.licfik.txt 兩個檔案,分別是授權檔案與金鑰。

取得 iso 檔

從官網上下載的版本不能使用,須向台灣代理商索取。

安裝程式階段

注意,如果原本電腦有裝 MATLAB,請到控制台「新增/移除程式」移除後,重開機!然後再到「C:\Program Files\」底下把 MATLAB 目錄整個刪除

  1. 輸入原廠寄來的序號後
  2. 指定 license file
    • 在 Headnode 用原廠給的
    • 在 Worker 用 network.lic(需自行建立該檔案,配置方法在在文中附錄
  3. 選擇要安裝的項目
    • Network License Manager
    • MATLAB Parallel Server
    • MATLAB GUI 版本
      • 這是平常在用的 MATLAB 視窗程式
      • 只有 Headnode 必須安裝, 需預先安裝 Java JRE 環境,並且在第一次開啟時使用個人清大的 MATHWORK account 登入
    • Parallel Computing Toolbox

安裝結束後

  • 使用 CMD 安裝啟動一些服務
cd C:\Program Files\MATLAB\R2019b\toolbox\distcomp\bin
mjs install  (舊版為 mdce install)
mjs start    (舊版為 mdce start)
nodestatus.bat

修改 hosts

位置:C:\Windows\System32\drivers\etc\hosts

192.168.20.1 DESKTOP-BVDFPM1
192.168.20.2 worker-1
# 第一台是 Headnode
# 第二台是 Worker
# 順序不影響
  • 通常來說,Headnode 要設定所有人的 hostname 對應(包含本機)
  • Worker 僅需要設定 Headnode 的 hostname 對應

記得關掉防火牆

  • 如果不想關可以參考這篇(credit to Prof. Kao)
% Firewall setting

% Detailed technical information. (Here we assume nJ=1 and nW=64)
% On all cluster machines:
%		inbound ports:	27350-27613, 28350-28478,  (14351-14448?)
% On client:
%		outbound ports:	14351-14352
% On the machine using Admin Center (only used in connectivity tests, not used in real cluster operations):
%		inbound ports:	7
% On all cluster machines that use online licensing:
%		outbound ports:	443

Add the following firewall rules to all cluster machines (headnode and workers) and clients
	(1) Allow all TCP ports used by the following executables in the folder "C:\Program Files\Matlab\R2019b\bin\win64"
			Matlab.exe
			mpiexec.exe
			smpd.exe
	(2) Allow the following TCP ports for both traffic direction (incoming and outgoing) within the LAN all cluster machines reside
			local ports:	27350-27613, 28350-28478, 7, 14351-14448, 443
			remote ports:	27350-27613, 28350-28478, 7, 14351-14448, 443

Headnode 注意事項(以下 Headnode 做就好)

  • 打開 C:\Program Files\MATLAB\R2019b\etc\win64\lmtools
  • 到 Start/Stop/Reread 分頁,點選 “Start Server”

修改 Worker 數量上限

  • 打開 Matlab → Parallel Preferences
  • 這裡如果worker 超過預設值,必須要去修改
  • 其中因為我們授權有 10 萬個 pool,因此最下面的 “Shutdown and delete a parallel” 可以不予理會

新增 worker

  • 打開 C:\Program Files\MATLAB\R2019b\toolbox\distcomp\bin\admincenter.bat
  • 先按下左上角的 “Add or Find”,這邊可以輸入 IP Address 或 hostname
  • 第二步,Job Scheduler 這邊只需要設定一次,往後新增 worker 時都可以不用更改
  • 第三步,Workers 這邊選擇要新增多少 worker
    • 先勾選
    • 指定要有多少個
    • 按下 OK

驗證

導出設定檔

附錄

  • Network.lic

C:\Program Files\MATLAB\R2019b\licenses 需要改成 HEAD Node 的 IP address

SERVER 192.168.20.1 INTERNET=192.168.20.1 27000
USE_SERVER

Client Connection Guide

  1. 務必確認 Client 與 Server 在同個區網,可能需要使用 VPN

  2. 如果使用 VPN,請在連上 VPN 後才開啟 MATLAB 客戶端

  3. 在機器上解析 DNS 的檔案中,加入 Headnode 的 hostname

    • Windows: C:\Windows\System32\drivers\etc\hosts
    • Linux: /etc/hosts
    • macOS: /etc/hosts
    • 範例內容如下
    192.168.xx.xx    My-Headnode
    

匯入設定檔

驗證

Debug

  • 安裝完後不能改本機 hostname,不然 license 設定那些都要改,建議直接重裝 MATLAB
  • 連不上檢查
    • license/Network.lic 內容有沒有正確
    • hosts 檔案有沒有正確

comments powered by Disqus