

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS ParallelCluster 程序
<a name="processes"></a>

本節僅適用於以其中一個支援的傳統任務排程器 (SGE、Slurm 或 Torque) 部署的 HPC 叢集。與這些排程器搭配使用時， 會透過與 Auto Scaling 群組和基礎任務排程器互動來 AWS ParallelCluster 管理運算節點佈建和移除。

對於以 為基礎的 HPC 叢集 AWS Batch， AWS ParallelCluster 依賴 AWS Batch 為運算節點管理提供的功能。

**注意**  
從 2.11.5 版開始， AWS ParallelCluster 不支援使用 SGE或 Torque排程器。您可以繼續在 2.11.4 以前的版本中使用它們，但它們不符合 AWS 服務與 AWS 支援團隊未來更新或故障診斷支援的資格。

**Topics**
+ [`SGE and Torque integration processes`](#sge-torque-processes)
+ [`Slurm integration processes`](#slurm-processes)

## `SGE and Torque integration processes`
<a name="sge-torque-processes"></a>

**注意**  
本節僅適用於 AWS ParallelCluster 2.11.4 版以前的版本。從 2.11.5 版開始， AWS ParallelCluster 不支援使用 SGE和 Torque排程器、Amazon SNS 和 Amazon SQS。

### 一般概觀
<a name="general-overview"></a>

叢集的生命週期在使用者建立叢集之後開始。通常，叢集是從命令列界面 (CLI) 建立的。建立叢集後，叢集會存在，直到刪除。 AWS ParallelCluster 精靈會在叢集節點上執行，主要用於管理 HPC 叢集彈性。下圖顯示使用者工作流程和叢集生命週期。以下各節說明用於管理叢集的 AWS ParallelCluster 協助程式。

![\[叢集生命週期\]](http://docs.aws.amazon.com/zh_tw/parallelcluster/v2/ug/images/workflow.png)


透過 SGE和 Torque排程器， AWS ParallelCluster 會使用 `nodewatcher`、 `jobwatcher`和 `sqswatcher` 程序。

### `jobwatcher`
<a name="jobwatcher"></a>

叢集執行時，根使用者擁有的程序會監控設定的排程器 (SGE 或 Torque)。每分鐘都會評估佇列，以決定何時向上擴展。

![\[jobwatcher 工作流程\]](http://docs.aws.amazon.com/zh_tw/parallelcluster/v2/ug/images/jobwatcher.png)


### `sqswatcher`
<a name="sqswatcher"></a>

程序會`sqswatcher`監控 Auto Scaling 傳送的 Amazon SQS 訊息，以通知您叢集內的狀態變更。當執行個體上線時，它會向 Amazon SQS 提交「執行個體就緒」訊息。此訊息由 收集`sqs_watcher`，在主節點上執行。當新執行個體上線或終止時，這些訊息用來通知佇列管理員，因此管理員能夠在佇列中新增或移除執行個體。

![\[sqswatcher 工作流程\]](http://docs.aws.amazon.com/zh_tw/parallelcluster/v2/ug/images/sqswatcher.png)


### `nodewatcher`
<a name="nodewatcher"></a>

`nodewatcher` 程序在運算機群中的每個節點上執行。在使用者定義的 `scaledown_idletime` 期間之後，會終止該執行個體。

![\[nodewatcher 工作流程\]](http://docs.aws.amazon.com/zh_tw/parallelcluster/v2/ug/images/nodewatcher.png)


## `Slurm integration processes`
<a name="slurm-processes"></a>

使用Slurm排程器、 AWS ParallelCluster 使用 `clustermgtd` 和 `computemgt` 程序。

### `clustermgtd`
<a name="clustermgtd"></a>

在異質模式下執行的叢集 （透過指定[`queue_settings`](cluster-definition.md#queue-settings)值來表示） 具有在主機節點上執行的叢集管理常駐程式 (`clustermgtd`) 程序。這些任務由叢集管理常駐程式執行。
+ 非作用中分割區清除
+ 靜態容量管理：確保靜態容量始終保持正常運作
+ 將排程器與 Amazon EC2 同步。
+ 孤立執行個體清除
+ 在暫停工作流程之外發生的 Amazon EC2 終止時還原排程器節點狀態
+ 運作狀態不佳的 Amazon EC2 執行個體管理 (Amazon EC2 運作狀態檢查失敗）
+ 排定的維護事件管理
+ 運作狀態不佳的排程器節點管理 （排程器運作狀態檢查失敗）

### `computemgtd`
<a name="computemgtd"></a>

在異質模式下執行的叢集 （透過指定[`queue_settings`](cluster-definition.md#queue-settings)值來表示），具有在每個運算節點上執行的運算管理常駐程式 (`computemgtd`) 程序。每五 (5) 分鐘，運算管理常駐程式會確認可以達到頭部節點且運作狀態良好。如果經過五 (5) 分鐘，且無法達到頭部節點或狀況不佳，則會關閉運算節點。