

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# SageMaker HyperPod Verwaltung von Aufgaben
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance"></a>

SageMaker HyperPod Task Governance ist ein robustes Managementsystem, das entwickelt wurde, um die Ressourcenzuweisung zu optimieren und eine effiziente Nutzung der Rechenressourcen durch Teams und Projekte für Ihre Amazon EKS-Cluster sicherzustellen. Dadurch haben Administratoren die Möglichkeit, Folgendes festzulegen:
+ Prioritätsstufen für verschiedene Aufgaben
+ Rechenkapazitätszuweisung für jedes Team
+ Wie jedes Team ungenutzte Rechenleistung verleiht und ausleiht
+ Wenn ein Team seine eigenen Aufgaben vorwegnimmt

HyperPod Task Governance bietet auch Amazon EKS-Cluster-Observability und bietet so Echtzeiteinblicke in die Clusterkapazität. Dazu gehört die Verfügbarkeit und Nutzung von Rechenleistung, die Zuweisung und Auslastung von Teams sowie Informationen zu Aufgabenausführung und Wartezeiten, sodass Sie fundierte Entscheidungen treffen und Ressourcen proaktiv verwalten können. 

In den folgenden Abschnitten erfahren Sie, wie Sie Ihre Amazon EKS-Cluster einrichten, die wichtigsten Konzepte verstehen und die HyperPod Task-Governance verwenden.

**Topics**
+ [Einrichtung für die SageMaker HyperPod Task-Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup.md)
+ [Dashboard](sagemaker-hyperpod-eks-operate-console-ui-governance-metrics.md)
+ [Aufgaben](sagemaker-hyperpod-eks-operate-console-ui-governance-tasks.md)
+ [Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)
+ [Beispiele für HyperPod Task-Governance-Befehle AWS CLI](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md)
+ [Fehlerbehebung](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md)
+ [Zuweisungsdokument für Amazon SageMaker HyperPod Task Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-attributions.md)

# Einrichtung für die SageMaker HyperPod Task-Governance
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup"></a>

Der folgende Abschnitt enthält Informationen zur Einrichtung der Amazon CloudWatch Observability EKS- und SageMaker HyperPod Task-Governance-Add-Ons.

Stellen Sie sicher, dass Sie über die Mindestberechtigungsrichtlinie für HyperPod Clusteradministratoren mit Amazon EKS verfügen, in[IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin). Dazu gehören Berechtigungen zum Ausführen des SageMaker HyperPod Kerns APIs und zur Verwaltung von SageMaker HyperPod Clustern innerhalb Ihres AWS-Konto Unternehmens sowie zur Ausführung der Aufgaben in[Verwaltung von SageMaker HyperPod Clustern, die von Amazon EKS orchestriert werden](sagemaker-hyperpod-eks-operate.md). 

**Topics**
+ [Dashboard-Einrichtung](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md)
+ [Einrichtung der Aufgaben-Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance.md)

# Dashboard-Einrichtung
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard"></a>

Verwenden Sie die folgenden Informationen, um das Amazon SageMaker HyperPod Amazon CloudWatch Observability EKS-Add-on einzurichten. Dadurch erhalten Sie ein detailliertes visuelles Dashboard, das Ihnen einen Überblick über die Metriken für Ihre EKS-Cluster-Hardware, die Teamzuweisung und die Aufgaben bietet.

Falls Sie Schwierigkeiten bei der Einrichtung haben, finden Sie unter [Fehlerbehebung](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md) bekannte Lösungen zur Fehlerbehebung.

**Topics**
+ [HyperPod Voraussetzungen für das Amazon CloudWatch Observability EKS-Add-on](#hp-eks-dashboard-prerequisites)
+ [HyperPod Einrichtung des Amazon CloudWatch Observability EKS-Add-ons](#hp-eks-dashboard-setup)

## HyperPod Voraussetzungen für das Amazon CloudWatch Observability EKS-Add-on
<a name="hp-eks-dashboard-prerequisites"></a>

Der folgende Abschnitt enthält die Voraussetzungen, die vor der Installation des Add-Ons „Beobachtbarkeits-EKS von Amazon“ erfüllt sein müssen.
+ Stellen Sie sicher, dass Sie über die Mindestberechtigungsrichtlinien für HyperPod Cluster-Administratoren verfügen, in[IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin).
+ Fügen Sie die `CloudWatchAgentServerPolicy`-IAM-Richtlinie an Ihre Worker-Knoten an. Geben Sie dazu den folgenden Befehl ein. Ersetzen Sie `my-worker-node-role` durch die IAM-Rolle, die von Ihren Kubernetes-Worker-Knoten verwendet wird.

  ```
  aws iam attach-role-policy \
  --role-name my-worker-node-role \
  --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
  ```

## HyperPod Einrichtung des Amazon CloudWatch Observability EKS-Add-ons
<a name="hp-eks-dashboard-setup"></a>

Verwenden Sie die folgenden Optionen, um das Amazon SageMaker HyperPod Amazon CloudWatch Observability EKS-Add-on einzurichten.

------
#### [ Setup using the SageMaker AI console ]

Die folgenden Berechtigungen sind für die Einrichtung und Visualisierung des HyperPod Task-Governance-Dashboards erforderlich. In diesem Abschnitt werden die unter [IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) aufgeführten Berechtigungen erweitert. 

Verwenden Sie zur Verwaltung der Aufgaben-Governance die Beispielrichtlinie:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListClusters",
                "sagemaker:DescribeCluster",
                "sagemaker:ListComputeQuotas",
                "sagemaker:CreateComputeQuota",
                "sagemaker:UpdateComputeQuota",
                "sagemaker:DescribeComputeQuota",
                "sagemaker:DeleteComputeQuota",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DescribeClusterSchedulerConfig",
                "sagemaker:CreateClusterSchedulerConfig",
                "sagemaker:UpdateClusterSchedulerConfig",
                "sagemaker:DeleteClusterSchedulerConfig",
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:DescribeAddon",
                "eks:DescribeCluster",
                "eks:DescribeAccessEntry",
                "eks:ListAssociatedAccessPolicies",
                "eks:AssociateAccessPolicy",
                "eks:DisassociateAccessPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Verwenden Sie die folgende Beispielrichtlinie, um Berechtigungen zur Verwaltung von Amazon CloudWatch Observability Amazon EKS und zur Anzeige des HyperPod Cluster-Dashboards über die SageMaker KI-Konsole zu erteilen:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:UpdateAddon",
                "eks:DescribeAddon",
                "eks:DescribeAddonVersions",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListClusters",
                "sagemaker:ListComputeQuotas",
                "sagemaker:DescribeComputeQuota",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DescribeClusterSchedulerConfig",
                "eks:DescribeCluster",
                "cloudwatch:GetMetricData",
                "eks:AccessKubernetesApi"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Navigieren Sie in der SageMaker HyperPod Konsole zur Registerkarte **Dashboard**, um Amazon CloudWatch Observability EKS zu installieren. Um sicherzustellen, dass Kennzahlen zur Aufgaben-Governance im **Dashboard** enthalten sind, aktivieren Sie das Kontrollkästchen „Kueue-Metriken“. Durch die Aktivierung der Kueue-Metriken werden CloudWatch **Metrics-Kosten** aktiviert, sobald das Limit für das kostenlose Kontingent erreicht ist. Weitere Informationen finden Sie unter **Kennzahlen** in der [ CloudWatchAmazon-Preisgestaltung](https://aws.amazon.com/cloudwatch/pricing/).

------
#### [ Setup using the EKS AWS CLI ]

Verwenden Sie den folgenden AWS CLI EKS-Befehl, um das Add-on zu installieren:

```
aws eks create-addon --cluster-name cluster-name 
--addon-name amazon-cloudwatch-observability 
--configuration-values "configuration json"
```

Nachfolgend finden Sie ein Beispiel für die JSON-Konfigurationswerte:

```
{
    "agent": {
        "config": {
            "logs": {
                "metrics_collected": {
                    "kubernetes": {
                        "kueue_container_insights": true,
                        "enhanced_container_insights": true
                    },
                    "application_signals": { }
                }
            },
            "traces": {
                "traces_collected": {
                    "application_signals": { }
                }
            }
        },
    },
}
```

------
#### [ Setup using the EKS Console UI ]

1. Navigieren Sie zur [EKS-Konsole](https://console.aws.amazon.com/eks/home#/clusters).

1. Wählen Sie Ihren Cluster aus.

1. Wählen Sie **Add-Ons** aus.

1. Suchen Sie das **Amazon CloudWatch Observability-Add-on** und installieren Sie es. Installieren Sie Version >= 2.4.0 für das Add-on. 

1. Fügen Sie die folgenden JSON-Konfigurationswerte ein:

   ```
   {
       "agent": {
           "config": {
               "logs": {
                   "metrics_collected": {
                       "kubernetes": {
                           "kueue_container_insights": true,
                           "enhanced_container_insights": true
                       },
                       "application_signals": { }
                   },
               },
               "traces": {
                   "traces_collected": {
                       "application_signals": { }
                   }
               }
           },
       },
   }
   ```

------

Sobald das EKS Observability-Add-on erfolgreich installiert wurde, können Sie Ihre EKS-Cluster-Metriken auf der Registerkarte **Dashboard** der HyperPod Konsole einsehen.

# Einrichtung der Aufgaben-Governance
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance"></a>

Dieser Abschnitt enthält Informationen zur Einrichtung des Amazon SageMaker HyperPod Task Governance EKS-Add-ons. Dies umfasst die Erteilung von Berechtigungen, mit denen Sie die Priorisierung von Aufgaben, die Zuweisung von Rechenkapazitäten für Teams, die Verteilung ungenutzter Rechenkapazitäten und die Vorrangigkeit von Aufgaben für Teams festlegen können.

Falls Sie Schwierigkeiten bei der Einrichtung haben, finden Sie unter [Fehlerbehebung](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md) bekannte Lösungen zur Fehlerbehebung.

**Topics**
+ [Kueue-Einstellungen](#hp-eks-task-governance-kueue-settings)
+ [HyperPod Voraussetzungen für die Task-Governance](#hp-eks-task-governance-prerequisites)
+ [HyperPod Einrichtung der Task-Governance](#hp-eks-task-governance-setup)

## Kueue-Einstellungen
<a name="hp-eks-task-governance-kueue-settings"></a>

HyperPod Das Task Governance EKS-Add-on installiert [Kueue](https://github.com/kubernetes-sigs/kueue/tree/main/apis/kueue) für Ihre HyperPod EKS-Cluster. Kueue ist ein Kubernetes-natives System, das Kontingente verwaltet und deren Verbrauch durch Aufträge regelt. 


| EKS HyperPod Task Governance-Zusatzversion | Version von Kueue, die als Teil des Add-ons installiert wird | 
| --- | --- | 
|  v1.1.3  |  v0.12.0  | 

**Anmerkung**  
Kueue v.012.0 und höher sind nicht Teil der kueue-rbac-proxy Installation. Frühere Versionen wurden möglicherweise installiert. kueue-rbac-proxy Wenn Sie beispielsweise Kueue v0.8.1 verwenden, haben Sie möglicherweise v0.18.1. kueue-rbac-proxy

HyperPod Task Governance nutzt Kueue für Kubernetes-natives Job Queueing, Scheduling und Quotenmanagement und wird zusammen mit dem Task Governance EKS-Add-on installiert. HyperPod Nach der Installation werden SageMaker KI-verwaltete Kubernetes-Ressourcen wie,,, und HyperPod erstellt und geändert. `KueueManagerConfig` `ClusterQueues` `LocalQueues` `WorkloadPriorityClasses` `ResourceFlavors` `ValidatingAdmissionPolicies` Kubernetes-Administratoren haben zwar die Flexibilität, den Status dieser Ressourcen zu ändern, es ist jedoch möglich, dass alle Änderungen, die an einer SageMaker KI-verwalteten Ressource vorgenommen werden, vom Service aktualisiert und überschrieben werden.

Die folgenden Informationen beschreiben die Konfigurationseinstellungen, die vom HyperPod Task Governance-Add-on für die Einrichtung von Kueue verwendet werden.

```
  apiVersion: config.kueue.x-k8s.io/v1beta1
    kind: Configuration
    health:
      healthProbeBindAddress: :8081
    metrics:
      bindAddress: :8443
      enableClusterQueueResources: true
    webhook:
      port: 9443
    manageJobsWithoutQueueName: false
    leaderElection:
      leaderElect: true
      resourceName: c1f6bfd2.kueue.x-k8s.io
    controller:
      groupKindConcurrency:
        Job.batch: 5
        Pod: 5
        Workload.kueue.x-k8s.io: 5
        LocalQueue.kueue.x-k8s.io: 1
        ClusterQueue.kueue.x-k8s.io: 1
        ResourceFlavor.kueue.x-k8s.io: 1
    clientConnection:
      qps: 50
      burst: 100
    integrations:
      frameworks:
      - "batch/job"
      - "kubeflow.org/mpijob"
      - "ray.io/rayjob"
      - "ray.io/raycluster"
      - "jobset.x-k8s.io/jobset"
      - "kubeflow.org/mxjob"
      - "kubeflow.org/paddlejob"
      - "kubeflow.org/pytorchjob"
      - "kubeflow.org/tfjob"
      - "kubeflow.org/xgboostjob"
      - "pod"
      - "deployment"
      - "statefulset"
      - "leaderworkerset.x-k8s.io/leaderworkerset"
      podOptions:
        namespaceSelector:
          matchExpressions:
            - key: kubernetes.io/metadata.name
              operator: NotIn
              values: [ kube-system, kueue-system ]
    fairSharing:
      enable: true
      preemptionStrategies: [LessThanOrEqualToFinalShare, LessThanInitialShare]
    resources:
      excludeResourcePrefixes: []
```

Weitere Informationen zu den einzelnen Konfigurationseinträgen finden Sie unter [Konfiguration](https://kueue.sigs.k8s.io/docs/reference/kueue-config.v1beta1/#Configuration) in der Kueue-Dokumentation.

## HyperPod Voraussetzungen für die Task-Governance
<a name="hp-eks-task-governance-prerequisites"></a>
+ Stellen Sie sicher, dass Sie über die Mindestberechtigungsrichtlinie für HyperPod Clusteradministratoren verfügen, in[IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin). Dazu gehören Berechtigungen zum Ausführen des SageMaker HyperPod Kerns APIs, zum Verwalten von SageMaker HyperPod Clustern in Ihrem AWS-Konto System und zum Ausführen der Aufgaben in[Verwaltung von SageMaker HyperPod Clustern, die von Amazon EKS orchestriert werden](sagemaker-hyperpod-eks-operate.md). 
+ Sie benötigen die Kubernetes-Version >= 1.30. Anweisungen finden Sie unter [Aktualisieren vorhandener Cluster auf die neue Kubernetes-Version](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html).
+ Wenn Sie Kueue bereits in ihren Clustern installiert haben, deinstallieren Sie Kueue, bevor Sie das EKS-Add-on installieren.
+ Vor der Installation des HyperPod Task Governance-Add-ons muss bereits ein HyperPod Knoten im EKS-Cluster vorhanden sein. 

## HyperPod Einrichtung der Task-Governance
<a name="hp-eks-task-governance-setup"></a>

Im Folgenden finden Sie Informationen zur Einrichtung der HyperPod Task-Governance.

------
#### [ Setup using the SageMaker AI console ]

Im Folgenden finden Sie Informationen zur Einrichtung der HyperPod Task-Governance mithilfe der SageMaker HyperPod Konsole.

Ihnen sind bereits alle der folgenden Berechtigungen zugeordnet, wenn Sie bereits Berechtigungen zur Verwaltung von Amazon CloudWatch Observability EKS und zum Anzeigen des HyperPod Cluster-Dashboards über die SageMaker KI-Konsole im erteilt haben. [HyperPod Einrichtung des Amazon CloudWatch Observability EKS-Add-ons](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md#hp-eks-dashboard-setup) Wenn Sie dies nicht eingerichtet haben, verwenden Sie die unten stehende Beispielrichtlinie, um Berechtigungen zur Verwaltung des HyperPod Task-Goverance-Add-ons zu erteilen und das HyperPod Cluster-Dashboard über die SageMaker AI-Konsole anzuzeigen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:UpdateAddon",
                "eks:DescribeAddon",
                "eks:DescribeAddonVersions",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListClusters",
                "eks:DescribeCluster",
                "eks:AccessKubernetesApi"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Navigieren Sie in der SageMaker HyperPod Konsole zum Tab **Dashboard**, um das Amazon SageMaker HyperPod Task Governance Add-on zu installieren. 

------
#### [ Setup using the Amazon EKS AWS CLI ]

Verwenden Sie den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html) AWS CLI EKS-Beispielbefehl, um die HyperPod Task-Governance-Amazon EKS-API und die Konsolen-Benutzeroberfläche einzurichten. Verwenden Sie dazu AWS CLI:

```
aws eks create-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance
```

------

Sie können den Tab **Richtlinien** in der HyperPod SageMaker AI-Konsole aufrufen, wenn die Installation erfolgreich war. Sie können auch den folgenden [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-addon.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-addon.html) AWS CLI EKS-Beispielbefehl verwenden, um den Status zu überprüfen. 

```
aws eks describe-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance
```

# Dashboard
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-metrics"></a>

Amazon SageMaker HyperPod Task Governance bietet eine umfassende Dashboard-Ansicht Ihrer Amazon EKS-Cluster-Nutzungsmetriken, einschließlich Hardware-, Team- und Aufgabenmetriken. Im Folgenden finden Sie Informationen zu Ihrem HyperPod EKS-Cluster-Dashboard.

Das Dashboard bietet einen umfassenden Überblick über die Kennzahlen zur Cluster-Auslastung, einschließlich Hardware-, Team- und Aufgabenmetriken. Sie müssen das EKS-Add-On installieren, um das Dashboard anzeigen zu können. Weitere Informationen finden Sie unter [Dashboard-Einrichtung](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md).

In der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) können Sie unter **HyperPod Clusters** zur HyperPod Konsole navigieren und Ihre Liste der HyperPod Cluster in Ihrer Region einsehen. Wählen Sie Ihren Cluster aus und navigieren Sie zur Registerkarte **Dashboard**. Das Dashboard enthält die folgenden Metriken. Sie können die Daten für einen Abschnitt herunterladen, indem Sie den entsprechenden **Export** auswählen.

**Nutzung**

Stellt den Zustand des EKS-Clusters point-in-time und trendbasierte Metriken für kritische Rechenressourcen bereit. Standardmäßig wird **Alle Instance-Gruppen** angezeigt. Verwenden Sie das Dropdown-Menü, um Ihre Instance-Gruppen zu filtern. Die in diesem Abschnitt enthaltenen Metriken sind:
+ Anzahl der gesamten, laufenden und ausstehenden WiederherstellungsInstances. Die Anzahl der ausstehenden WiederherstellungsInstances bezieht sich auf die Anzahl der Instances, die für die Wiederherstellung behoben werden müssen.
+ GPUs, GPU-SpeicherCPUs, V- und CPUs V-Speicher.
+ GPU-Auslastung, GPU-Speicherauslastung, vCPU-Auslastung und vCPU-Speicherauslastung.
+ Ein interaktives Diagramm Ihrer GPU- und vCPU-Auslastung. 

**Teams**

Bietet Informationen zur teamspezifischen Ressourcenverwaltung. Dies umfasst:
+ Instance- und GPU-Zuweisung.
+ GPU-Auslastung.
+ Ausgeliehene GPU-Statistiken.
+ Status der Aufgabe (läuft oder steht noch aus).
+ Eine Balkendiagrammansicht der GPU-Auslastung im Vergleich zur Rechenzuweisung zwischen den Teams.
+ Detaillierte GPU- und vCPU-bezogene Informationen für das Team. Standardmäßig enthalten die angezeigten Informationen Alle Teams. Sie können nach Team und Instances filtern, indem Sie die Dropdownmenüs auswählen. In der interaktiven Handlung können Sie nach Zeit filtern.

**Aufgaben**

**Anmerkung**  
So zeigen Sie Ihre HyperPod EKS-Cluster-Aufgaben im Dashboard an:  
Konfigurieren Sie Kubernetes Role-Based Access Control (RBAC) für Data-Scientist-Benutzer im angegebenen HyperPod Namespace, um die Ausführung von Aufgaben auf Amazon EKS-orchestrierten Clustern zu autorisieren. Namespaces folgen dem Format `hyperpod-ns-team-name`. Informationen zum Festlegen von RBAC-Berechtigungen finden Sie in den [Anweisungen zum Erstellen von Teamrollen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).
Stellen Sie sicher, dass Ihr Job mit den entsprechenden Namespace- und Prioritätsklassenbezeichnungen eingereicht wird. Ein umfassendes Beispiel finden Sie unter [Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).

Enthält Informationen zu aufgabenbezogenen Metriken. Dazu gehören die Anzahl der laufenden, ausstehenden und präemptiven Aufgaben sowie Statistiken zu Ausführungs- und Wartezeiten. Standardmäßig enthalten die angezeigten Informationen **Alle Teams**. Sie können nach Team filtern, indem Sie das Dropdown-Menü auswählen. In der interaktiven Handlung können Sie nach Zeit filtern.

# Aufgaben
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-tasks"></a>

Im Folgenden finden Sie Informationen zu Amazon SageMaker HyperPod EKS-Cluster-Aufgaben. Aufgaben sind Operationen oder Jobs, die an den Cluster gesendet werden. Dabei kann es sich um Operationen des maschinellen Lernens wie Training, Durchführung von Experimenten oder Inferenz handeln. Die Liste mit den einsehbaren Aufgabendetails umfasst den Status, die Laufzeit und den Rechenaufwand, der pro Aufgabe verwendet wird. 

In der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) können Sie unter **HyperPod Clusters** zur HyperPod Konsole navigieren und Ihre Liste der HyperPod Cluster in Ihrer Region einsehen. Wählen Sie Ihren Cluster aus und navigieren Sie zur Registerkarte **Aufgaben**.

Damit die Registerkarte **Aufgaben** für jeden außer dem Administrator sichtbar ist, muss der Administrator dem [EKS-Cluster einen Zugriffseintrag für die IAM-Rolle hinzufügen](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html). 

**Anmerkung**  
So sehen Sie sich Ihre HyperPod EKS-Cluster-Aufgaben im Dashboard an:  
Konfigurieren Sie Kubernetes Role-Based Access Control (RBAC) für Data-Scientist-Benutzer im angegebenen HyperPod Namespace, um die Ausführung von Aufgaben auf Amazon EKS-orchestrierten Clustern zu autorisieren. Namespaces folgen dem Format `hyperpod-ns-team-name`. Informationen zum Festlegen von RBAC-Berechtigungen finden Sie in den [Anweisungen zum Erstellen von Teamrollen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).
Stellen Sie sicher, dass Ihr Job mit den entsprechenden Namespace- und Prioritätsklassenbezeichnungen eingereicht wird. Ein umfassendes Beispiel finden Sie unter [Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).

Für EKS-Cluster werden kubeflow (, MPI,) -Aufgaben angezeigt. PyTorch TensorFlow Standardmäßig werden PyTorch Aufgaben angezeigt. Sie können nach PyTorch TensorFlow Aufgaben (MPI) filtern, indem Sie das Drop-down-Menü auswählen oder das Suchfeld verwenden. Zu den Informationen, die für jede Aufgabe angezeigt werden, gehören der Aufgabenname, der Status, der Namespace, die Prioritätsklasse und die Erstellungszeit. 

# Verwendung von topologieorientierter Planung in der Amazon Task Governance SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-tasks-scheduling"></a>

Die topologieorientierte Planung in Amazon SageMaker HyperPod Task Governance optimiert die Trainingseffizienz verteilter Machine-Learning-Workloads, indem Pods auf der Grundlage der physischen Netzwerktopologie Ihrer Amazon EC2 EC2-Instances platziert werden. Durch Berücksichtigung der hierarchischen Struktur der AWS Infrastruktur, einschließlich Availability Zones, Netzwerkblöcken und physischen Racks, stellt die topologieorientierte Planung sicher, dass Pods, die häufig kommunizieren müssen, in unmittelbarer Nähe geplant werden, um die Netzwerklatenz zu minimieren. Diese intelligente Platzierung ist besonders vorteilhaft für groß angelegte Schulungsaufgaben im Bereich maschinelles Lernen, die intensive pod-to-pod Kommunikation erfordern. Dies führt zu kürzeren Schulungszeiten und einer effizienteren Ressourcennutzung in Ihrem gesamten Cluster.

**Anmerkung**  
Um die topologieorientierte Planung zu verwenden, stellen Sie sicher, dass Ihre Version von HyperPod Task Governance v1.2.2-eksbuild.1 oder höher ist.

Die topologiebezogene Planung unterstützt die folgenden Instance-Typen:
+ ml.p3dn.24xlarge
+ ml.p4d.24xlarge
+ ml.p4de.24xlarge
+ ml.p5.48xlarge
+ ml.p5e.48x groß
+ ml.p5en.48xlarge
+ ml.p6e-gb200.36xlarge
+ ml.trn1.2xlarge
+ ml.trn1.32xlarge
+ ml.trn1n.32xlarge
+ ml.trn2.48xlarge
+ ml.trn2u.48xlarge

Die topologieorientierte Planung lässt sich in Ihre bestehenden HyperPod Workflows integrieren und bietet gleichzeitig flexible Topologieeinstellungen sowohl über kubectl-YAML-Dateien als auch über die CLI. HyperPod HyperPod Task Governance konfiguriert Clusterknoten automatisch mit Topologie-Labels und arbeitet mit HyperPod Task-Governance-Richtlinien und Mechanismen zur Ressourcenausleihe zusammen, um sicherzustellen, dass eine topologieorientierte Planung Ihre aktuellen Betriebsprozesse nicht stört. Dank der integrierten Unterstützung für bevorzugte und erforderliche Topologiespezifikationen können Sie die Platzierung der Workloads genau auf Ihre spezifischen Leistungsanforderungen abstimmen und gleichzeitig flexibel auf die Standardplanung zurückgreifen, wenn die Topologiebeschränkungen nicht erfüllt werden können.

Durch die Nutzung topologiebewusster Labels können Sie ihre Workloads für maschinelles Lernen durch eine intelligente Pod-Platzierung verbessern HyperPod, die die physische Netzwerkinfrastruktur berücksichtigt. HyperPod Die Task-Governance optimiert automatisch die Pod-Planung auf der Grundlage der hierarchischen Rechenzentrumstopologie, was sich direkt in einer geringeren Netzwerklatenz und einer verbesserten Trainingsleistung für verteilte ML-Aufgaben niederschlägt. Dieses Topologiebewusstsein ist besonders wertvoll für umfangreiche Machine-Learning-Workloads, da es den Kommunikationsaufwand minimiert, indem verwandte Pods strategisch näher beieinander in der Netzwerkhierarchie platziert werden. Das Ergebnis ist eine optimierte Kommunikationsnetzwerklatenz zwischen Pods, eine effizientere Ressourcennutzung und eine bessere Gesamtleistung für rechenintensive AI/ML Anwendungen. All das, ohne dass Sie komplexe Netzwerktopologiekonfigurationen manuell verwalten müssen.

Im Folgenden finden Sie Bezeichnungen für die verfügbaren Topologie-Netzwerkschichten, in denen HyperPod Task Governance Pods einplanen kann:
+ topology.k8s.aws/ -1 network-node-layer
+ network-node-layertopology.k8s.aws/ -2
+ network-node-layertopology.k8s.aws/ -3
+ topology.k8s.aws/ultraserver-id

Um die topologiebezogene Planung zu verwenden, fügen Sie die folgenden Labels in Ihre YAML-Datei ein:
+ kueue.x-k8s.io/ podset-required-topology — gibt an, dass dieser Job über die erforderlichen Pods verfügen muss und dass alle Pods in den Knoten innerhalb derselben Topologieebene geplant werden müssen.
+ kueue.x-k8s.io/ podset-preferred-topology — gibt an, dass dieser Job die Pods haben muss, dass die Planung von Pods innerhalb derselben Topologieebene jedoch bevorzugt, aber nicht erforderlich ist. HyperPod Task Governance versucht, die Pods innerhalb einer Ebene zu planen, bevor es mit der nächsten Topologieebene versucht wird.

Wenn Ressourcen nicht dieselbe Topologiebezeichnung haben, wird der Auftrag unterbrochen. Der Auftrag wird in die Warteliste aufgenommen. Sobald Kueue feststellt, dass genügend Ressourcen vorhanden sind, wird der Auftrag angenommen und ausgeführt.

Das folgende Beispiel zeigt, wie Sie die Labels in Ihren YAML-Dateien verwenden:

```
apiVersion: batch/v1
kind: Job
metadata:
  name: test-tas-job
  namespace: hyperpod-ns-team-name
  labels:
    kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
    kueue.x-k8s.io/priority-class: PRIORITY_CLASS-priority
spec:
  parallelism: 10
  completions: 10
  suspend: true
  template:
    metadata:
      labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
      annotations:
        kueue.x-k8s.io/podset-required-topology: "topology.k8s.aws/network-node-layer-3"
        or
        kueue.x-k8s.io/podset-preferred-topology: "topology.k8s.aws/network-node-layer-3"
    spec:
      nodeSelector:
        topology.k8s.aws/network-node-layer-3: TOPOLOGY_LABEL_VALUE
      containers:
        - name: dummy-job
          image: gcr.io/k8s-staging-perf-tests/sleep:v0.1.0
          args: ["3600s"]
          resources:
            requests:
              cpu: "100"
      restartPolicy: Never
```

In der folgenden Tabelle werden die neuen Parameter erläutert, die Sie in der kubectl-YAML-Datei verwenden können.


| Parameter | Description | 
| --- | --- | 
| kueue.x-k8s.io/queue-name | Der Name der Warteschlange, die zum Ausführen des Auftrags verwendet werden soll. Das Format dieses Warteschlangennamens muss hyperpod-ns-team-name-localqueue lauten. | 
| kueue.x-k8s.io/priority-class | Ermöglicht die Angabe einer Priorität für die Pod-Planung. Diese Angabe ist optional. | 
| Anmerkungen | Enthält die Topologie-Anmerkung, die Sie dem Auftrag hinzufügen. Verfügbare Topologien sind kueue.x-k8s.io/ und podset-required-topology kueue.x-k8s.io/. podset-preferred-topology Sie können entweder eine Anmerkung oder nodeSelector verwenden, aber nicht beides gleichzeitig. | 
| nodeSelector | Gibt die Netzwerkschicht an, die die Ebene der Platzierung der Amazon-EC2-Instance darstellt. Verwenden Sie entweder dieses Feld oder eine Anmerkung, aber nicht beides gleichzeitig. In Ihrer YAML-Datei können Sie auch den nodeSelector-Parameter verwenden, um die genaue Ebene für Ihre Pods auszuwählen. Verwenden Sie die API-Operation, um den Wert Ihres Labels zu ermitteln. [ DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html) | 

Sie können auch die HyperPod CLI verwenden, um Ihren Job auszuführen und die topologieorientierte Planung zu verwenden. Weitere Informationen zur HyperPod CLI finden Sie unter[SageMaker HyperPod CLI-Befehle](sagemaker-hyperpod-eks-hyperpod-cli-reference.md).

```
hyp create hyp-pytorch-job \                                            
  --version 1.1 \
  --job-name sample-pytorch-job \
  --image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
  --pull-policy "Always" \
  --tasks-per-node 1 \
  --max-retry 1 \
  --priority high-priority \
  --namespace hyperpod-ns-team-name \
  --queue-name hyperpod-ns-team-name-localqueue \
  --preferred-topology-label topology.k8s.aws/network-node-layer-1
```

Im Folgenden finden Sie ein Beispiel für eine Konfigurationsdatei, die Sie verwenden können, um eine PytorchJob mit Topologie-Labels auszuführen. Die Datei ist weitgehend identisch, wenn Sie MPI- und Tensorflow-Aufträge ausführen möchten. Wenn Sie stattdessen diese Jobs ausführen möchten, denken Sie daran, die Konfigurationsdatei entsprechend zu ändern, z. B. das richtige Bild anstelle von PyTorchJob zu verwenden. Wenn Sie einen ausführen PyTorchJob, können Sie den Master- und Worker-Knoten unterschiedliche Topologien zuweisen. PyTorchJob hat immer einen Master-Knoten, daher empfehlen wir, stattdessen die Topologie zur Unterstützung von Worker-Pods zu verwenden.

```
apiVersion: kubeflow.org/v1
kind: PyTorchJob
metadata:
  annotations: {}
  labels:
    kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
  name: tas-test-pytorch-job
  namespace: hyperpod-ns-team-name
spec:
  pytorchReplicaSpecs:
    Master:
      replicas: 1
      restartPolicy: OnFailure
      template:
        metadata:
          labels:
            kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        spec:
          containers:
          - command:
            - python3
            - /opt/pytorch-mnist/mnist.py
            - --epochs=1
            image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727
            imagePullPolicy: Always
            name: pytorch
    Worker:
      replicas: 10
      restartPolicy: OnFailure
      template:
        metadata:
          # annotations:
            # kueue.x-k8s.io/podset-required-topology: "topology.k8s.aws/network-node-layer-3"
          labels:
            kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        spec:
          containers:
          - command:
            - python3
            - /opt/pytorch-mnist/mnist.py
            - --epochs=1
            image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727
            imagePullPolicy: Always
            name: pytorch
            resources:
              limits:
                cpu: 1
              requests:
                memory: 200Mi
                cpu: 1
          #nodeSelector:
          #  topology.k8s.aws/network-node-layer-3: xxxxxxxxxxx
```

Verwenden Sie die [ DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html)API-Operation, um die Topologien für Ihren Cluster zu sehen. Standardmäßig sind die Topologien in Amazon Studio AWS-Managementkonsole und Amazon SageMaker Studio ausgeblendet. Folgen Sie diesen Schritten, um sie in der Benutzeroberfläche zu sehen, die Sie verwenden.

Studio

1. Navigieren Sie in SageMaker Studio zu Ihrem Cluster.

1. Wählen Sie in der Aufgabenansicht das Optionsmenü in der Spalte Name und dann **Spalten verwalten** aus.

1. Wählen Sie **Angeforderte Topologie** und **Topologieeinschränkung** aus, um die Spalten hinzuzufügen, in denen die Topologieinformationen in der Liste der Kubernetes-Pods angezeigt werden sollen.

**AWS-Managementkonsole**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie unter **HyperPod Cluster** die Option **Clusterverwaltung** aus.

1. Wählen Sie die Registerkarte **Aufgaben** und dann das Zahnradsymbol aus.

1. Schalten Sie unter Instance-Attribute die Optionen **Angeforderte Topologie** und **Topologieeinschränkung** um.

1. Wählen Sie **Bestätigen** aus, um die Topologieinformationen in der Tabelle anzuzeigen.

# Richtlinien
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies"></a>

Amazon SageMaker HyperPod Task Governance vereinfacht die Zuweisung Ihrer Amazon EKS-Cluster-Ressourcen und die Priorisierung von Aufgaben. Im Folgenden finden Sie Informationen zu HyperPod EKS-Clusterrichtlinien. Weitere Informationen dazu, wie Sie Aufgaben-Governance einrichten, finden Sie unter [Einrichtung der Aufgaben-Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance.md).

Die Richtlinien sind in **Rechenpriorisierung** und **Rechenzuweisung** unterteilt. Die folgenden Richtlinienkonzepte werden im Kontext dieser Richtlinien strukturiert.

Die **Rechenpriorisierung** oder Clusterrichtlinie bestimmt, wie ungenutzte Rechenleistung ausgeliehen wird und wie Aufgaben von Teams priorisiert werden.
+ Die **Zuweisung inaktiver Rechenleistung** definiert, wie ungenutzte Rechenleistung den Teams zugewiesen wird. Das heißt, wie ungenutzte Rechenleistung von Teams ausgeliehen werden kann. Bei der Auswahl einer **Zuweisung inaktiver Rechenleistung** können Sie zwischen folgenden Optionen wählen:
  + **First-come first-serve**: Bei der Anwendung werden Teams nicht gegeneinander priorisiert, und jede eingehende Aufgabe hat die gleiche Wahrscheinlichkeit, Ressourcen über die Quote hinaus zu erhalten. Aufgaben werden in der Reihenfolge ihrer Einreichung priorisiert. Das bedeutet, dass ein Benutzer möglicherweise 100 % der inaktiven Rechenleistung nutzen kann, wenn er dies zuerst anfordert.
  + **Fair-Share**: Bei Anwendung dieser Option leihen sich Teams ungenutzte Rechenleistung auf der Grundlage des ihnen zugewiesenen **Fair-Share-Gewichts**. Diese Gewichtungen sind unter **Rechenzuweisung** definiert. Weitere Informationen zur Verwendung finden Sie unter [Beispiele für die gemeinsame Nutzung inaktiver Rechenressourcen](#hp-eks-task-governance-policies-examples).
+ **Aufgabenpriorisierung** definiert, wie Aufgaben in die Warteschlange gestellt werden, sobald Rechenleistung verfügbar ist. Bei der Auswahl einer **Aufgabenpriorisierung** können Sie zwischen folgenden Optionen wählen:
  + **First-come first-serve**: Wenn diese Option angewendet wird, werden sie in der Reihenfolge, in der sie angefordert wurden, in die Warteschlange gestellt.
  + **Rangfolge der Aufgaben**: Wenn diese Option angewendet wird, werden sie in der Reihenfolge, die durch ihre Priorisierung definiert ist, in die Warteschlange gestellt. Wenn diese Option ausgewählt ist, müssen Sie Prioritätsklassen zusammen mit den Gewichtungen hinzufügen, nach denen sie priorisiert werden sollen. Aufgaben derselben Prioritätsklasse werden nach dem Prinzip „first-come first-serve“ ausgeführt. Wenn diese Option in der Rechenzuweisung aktiviert ist, werden Aufgaben mit niedrigerer Priorität durch Aufgaben mit höherer Priorität innerhalb des Teams vorgezogen.

    Wenn Datenwissenschaftler Aufträge an den Cluster senden, verwenden sie den Namen der Prioritätsklasse in der YAML-Datei. Die Prioritätsklasse hat das Format `priority-class-name-priority`. Ein Beispiel finden Sie unter [Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).
  + **Prioritätsklassen**: Diese Klassen legen eine relative Priorität für Aufgaben beim Ausleihen von Kapazitäten fest. Wenn eine Aufgabe mit geliehenem Kontingent ausgeführt wird, kann sie von einer anderen Aufgabe mit höherer Priorität verdrängt werden, wenn für die eingehende Aufgabe keine Kapazität mehr verfügbar ist. Wenn **Preemption** in der **Rechenzuweisung** aktiviert ist, kann eine Aufgabe mit höherer Priorität auch Aufgaben innerhalb ihres eigenen Teams vorrangig behandeln.
+ Die **gemeinsame Nutzung nicht zugewiesener Ressourcen** ermöglicht es Teams, Rechenressourcen auszuleihen, die im Rahmen der Rechenquote keinem Team zugewiesen wurden. Wenn diese Option aktiviert ist, steht Teams nicht zugewiesene Clusterkapazität automatisch zur Verfügung. Weitere Informationen finden Sie unter [So funktioniert die gemeinsame Nutzung nicht zugewiesener Ressourcen](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works).

Die **Rechenzuweisung** oder das Rechenkontingent definiert die Rechenzuweisung eines Teams und legt fest, welche Gewichtung (oder Prioritätsstufe) ein Team erhält, wenn es ungenutzte Rechenleistung fair verteilt. 
+ **Teamname**: Der Teamname. Es wird ein entsprechender **Namespace** des Typs `hyperpod-ns-team-name` erstellt. 
+ **Mitglieder**: Mitglieder des Team-Namespace. Sie müssen eine rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes für Data Scientist-Benutzer einrichten, die Teil dieses Teams sein sollen, um Aufgaben auf HyperPod Clustern auszuführen, die mit Amazon EKS orchestriert wurden. Um einen Kubernetes-RBAC einzurichten, folgen Sie den Anweisungen unter [Teamrolle erstellen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).
+ **Fair-Share-Gewichtung**: Dies ist die Priorisierungsstufe, die dem Team zugewiesen wird, wenn **Fair-Share** für die **Zuweisung von inaktiver Rechenleistung** angewendet wird. Die höchste Priorität hat eine Gewichtung von 100 und die niedrigste Priorität hat eine Gewichtung von 0. Eine höhere Gewichtung ermöglicht es einem Team, früher auf ungenutzte Ressourcen innerhalb gemeinsam genutzter Kapazitäten zuzugreifen. Eine Gewichtung von Null bedeutet die niedrigste Priorität, was bedeutet, dass dieses Team im Vergleich zu anderen Teams immer im Nachteil sein wird. 

  Die Fair-Share-Gewichtung verschafft diesem Team einen Wettbewerbsvorteil, wenn es um verfügbare Ressourcen gegen andere wetteifert. Die Zulassung priorisiert die Planung von Aufgaben von Teams mit den höchsten Gewichtungen und den geringsten Ausleihen. Wenn beispielsweise Team A ein Gewicht von 10 und Team B ein Gewicht von 5 hat, hätte Team A Vorrang beim Zugriff auf ungenutzte Ressourcen, da es Aufgaben hätte, die früher als Team B geplant sind.
+ **Aufgaben-Preemption**: Die Berechnung wird basierend auf der Priorität von einer Aufgabe übernommen. Standardmäßig hat das Team, das inaktive Rechenleistung ausleiht, Vorrang vor Aufgaben anderer Teams. 
+ **Verleihen und Ausleihen**: Wie inaktive Rechenleistung vom Team verliehen wird und ob das Team Rechenleistung von anderen Teams ausleihen kann.
  + **Prozentuales Kreditlimit: Das Limit für ungenutzte Rechenleistung, das ein Team ausleihen** darf, ausgedrückt als Prozentsatz der garantierten Quote. Ein Team kann bis zu 10.000% der zugewiesenen Rechenleistung ausleihen. Der Wert, den Sie hier angeben, wird als Prozentsatz interpretiert. Ein Wert von 500 wird beispielsweise als 500 % interpretiert. Dieser Prozentsatz gilt einheitlich für alle Ressourcentypen (CPU, GPU, Arbeitsspeicher) und Instanztypen, die im Kontingent des Teams enthalten sind.
  + **Absolutes Kreditlimit**: Das Limit für ungenutzte Rechenleistung, das ein Team ausleihen darf, definiert als absolute Ressourcenwerte pro Instanztyp. Dies ermöglicht eine detaillierte Steuerung des Ausleihverhaltens für bestimmte Instance-Typen. Sie müssen absolute Grenzwerte angeben, indem Sie dasselbe Schema wie das **Compute-Kontingent** verwenden, einschließlich Instanzanzahl, Beschleuniger, vCPU, Arbeitsspeicher oder Beschleunigerpartitionen. Sie können absolute Grenzwerte für einen oder mehrere Instanztypen in der Quote Ihres Teams angeben.

Informationen zur Verwendung dieser Konzepte, wie Prioritätsklassen und Namensräume, finden Sie unter [Beispiele für HyperPod Task-Governance-Befehle AWS CLI](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md).

## Beispiele für die gemeinsame Nutzung inaktiver Rechenressourcen
<a name="hp-eks-task-governance-policies-examples"></a>

Das reservierte Gesamtkontingent sollte die verfügbare Kapazität des Clusters für diese Ressource nicht überschreiten, um eine ordnungsgemäße Kontingentverwaltung zu gewährleisten. Wenn ein Cluster beispielsweise 20 `ml.c5.2xlarge`-Instances umfasst, sollte das den Teams zugewiesene Gesamtkontingent unter 20 bleiben. 

Wenn die Richtlinien **Rechenzuweisung** für Teams **Verleihen und Ausleihen** oder **Verleihen** zulassen, wird die freie Kapazität zwischen diesen Teams geteilt. Beispielsweise haben Team A und Team B die Option **Ausleihen und Verleihen** aktiviert. Team A hat ein Kontingent von 6, nutzt aber nur 2 für seine Aufgaben, und Team B hat ein Kontingent von 5 und nutzt 4 für seine Aufgaben. Ein Job, der bei Team B eingereicht wird und 4 Ressourcen benötigt. 3 werden von Team A ausgeliehen. 

Wenn die **Compute-Zuweisungsrichtlinie** eines Teams auf **„Nicht leihen**“ gesetzt ist, kann sich das Team keine zusätzliche Kapazität leihen, die über die eigenen Zuweisungen hinausgeht.

## So funktioniert die gemeinsame Nutzung nicht zugewiesener Ressourcen
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works"></a>

Durch die gemeinsame Nutzung nicht zugewiesener Ressourcen wird automatisch der Pool von Ressourcen verwaltet, die keinem Rechenkontingent in Ihrem Cluster zugewiesen sind. Das bedeutet, dass Ihr Clusterstatus HyperPod kontinuierlich überwacht und im Laufe der Zeit automatisch auf die richtige Konfiguration aktualisiert wird.

**Ersteinrichtung**
+ Wenn Sie dies `Enabled` in Ihrem festlegen `IdleResourceSharing` ClusterSchedulerConfig (standardmäßig ist dies der Fall`Disabled`), beginnt HyperPod Task Governance mit der Überwachung Ihres Clusters und berechnet die verfügbaren ungenutzten Ressourcen, indem die Teamkontingente von der gesamten Knotenkapazität abgezogen werden.
+ Die gemeinsame Nutzung ClusterQueues nicht zugewiesener Ressourcen wird erstellt, um den ausleihbaren Ressourcenpool darzustellen.
+ Wenn Sie die gemeinsame Nutzung nicht zugewiesener Ressourcen zum ersten Mal aktivieren, dauert die Einrichtung der Infrastruktur mehrere Minuten. Sie können den Fortschritt anhand von Richtlinien `Status` und `DetailedStatus` in ClusterSchedulerConfig überwachen.

**Kontinuierliche Versöhnung**
+ HyperPod Task Governance überwacht kontinuierlich Änderungen wie das Hinzufügen oder Entfernen von Knoten und Aktualisierungen der Cluster-Warteschlangenkontingente.
+  Wenn Änderungen vorgenommen werden, werden bei der gemeinsamen Nutzung nicht zugewiesener Ressourcen das Kontingent und die Aktualisierungen neu berechnet. ClusterQueues Der Abgleich ist in der Regel innerhalb von Sekunden abgeschlossen. 

**Überwachung**

 Sie können überprüfen, ob die gemeinsame Nutzung nicht zugewiesener Ressourcen vollständig konfiguriert ist, indem Sie nach der gemeinsamen Nutzung nicht zugewiesener Ressourcen suchen: ClusterQueues 

```
kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
```

Wenn Sie Namen wie sehen ClusterQueues `hyperpod-ns-idle-resource-sharing-cq-1`, ist die gemeinsame Nutzung nicht zugewiesener Ressourcen aktiv. Beachten Sie, dass je nach Anzahl der Ressourcenvarianten in Ihrem Cluster mehrere nicht zugewiesene Ressourcen gemeinsam genutzt werden ClusterQueues können. 

## Eignung des Knotens für die gemeinsame Nutzung nicht zugewiesener Ressourcen
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-node-eligibility"></a>

Die gemeinsame Nutzung nicht zugewiesener Ressourcen umfasst nur Knoten, die die folgenden Anforderungen erfüllen:

1. **Status „Knoten bereit“**
   + Knoten müssen `Ready` den Status haben, dass sie zum nicht zugewiesenen Ressourcenpool beitragen können.
   + Knoten im Zustand `NotReady` oder in einem anderen Zustand, der nicht bereit ist, werden von der Kapazitätsberechnung ausgeschlossen.
   + Wenn ein Knoten zu einem Knoten wird`Ready`, wird er automatisch in den nächsten Abstimmungszyklus aufgenommen.

1. **Status des Knotens planbar**
   + Knoten mit `spec.unschedulable: true` sind von der gemeinsamen Nutzung nicht zugewiesener Ressourcen ausgeschlossen.
   + Wenn ein Knoten wieder planbar ist, wird er automatisch in den nächsten Abstimmungszyklus aufgenommen.

1. **MIG-Konfiguration (nur GPU-Knoten)**
   + Bei GPU-Knoten mit MIG-Partitionierung (Multi-Instance-GPU) muss die `nvidia.com/mig.config.state` Bezeichnung angezeigt `success` werden, damit der Knoten MIG-Profile zur gemeinsamen Nutzung nicht zugewiesener Ressourcen beitragen kann.
   + Diese Knoten werden automatisch erneut versucht, sobald die MIG-Konfiguration erfolgreich abgeschlossen wurde.

1. **Unterstützte Instance-Typen**
   + Bei der Instance muss es sich um einen unterstützten SageMaker HyperPod Instance-Typ handeln.
   + Sehen Sie sich die Liste der unterstützten Instance-Typen im SageMaker HyperPod Cluster an.

**Topics**
+ [Beispiele für die gemeinsame Nutzung inaktiver Rechenressourcen](#hp-eks-task-governance-policies-examples)
+ [So funktioniert die gemeinsame Nutzung nicht zugewiesener Ressourcen](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works)
+ [Eignung des Knotens für die gemeinsame Nutzung nicht zugewiesener Ressourcen](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-node-eligibility)
+ [Erstellen von Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-create.md)
+ [Richtlinien bearbeiten](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit.md)
+ [Löschen von Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md)
+ [Zuweisung von Rechenkontingenten in Amazon SageMaker HyperPod Task Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation.md)

# Erstellen von Richtlinien
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-create"></a>

Auf der Registerkarte Richtlinien können Sie Ihre **Cluster-Richtlinien** und Konfigurationen **für** die **Compute-Zuweisung** erstellen. Nachfolgend sehen Sie Anweisungen zum Erstellen der folgenden Konfigurationen.
+ Erstellen Sie Ihre **Cluster-Richtlinie**, um zu aktualisieren, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird.
+ Erstellen Sie die **Rechenzuweisung**, um eine neue Richtlinie zur Rechenzuweisung für ein Team zu erstellen.
**Anmerkung**  
Wenn Sie eine **Compute-Zuweisung** erstellen, müssen Sie eine rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes für Data-Scientist-Benutzer im entsprechenden Namespace einrichten, um Aufgaben auf Clustern auszuführen, die mit Amazon EKS orchestriert wurden. HyperPod Die Namespaces haben das Format `hyperpod-ns-team-name`. Um einen Kubernetes-RBAC einzurichten, folgen Sie den Anweisungen unter [Teamrolle erstellen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).

Informationen zu den Konzepten der EKS-Clusterrichtlinien zur HyperPod Task-Governance finden Sie unter. [Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)

**Erstellen Sie Richtlinien für die HyperPod Task-Governance**

Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits einen Amazon EKS-Cluster erstellt haben, der mit eingerichtet wurde HyperPod. Falls dies noch nicht geschehen ist, finden Sie weitere Informationen unter [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).

1. Navigieren Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich unter **HyperPodCluster** die Option **Cluster Management** aus.

1. Wählen Sie Ihren Amazon EKS-Cluster aus, der unter **SageMaker HyperPodCluster** aufgeführt ist.

1. Wählen Sie die Registerkarte **Policies**.

1. **So erstellen Sie Ihre Cluster-Richtlinie:**

   1. Wählen Sie die entsprechende Option **Bearbeiten** aus, um zu aktualisieren, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird.

   1. Nachdem Sie Ihre Änderungen durchgeführt haben, wählen Sie **Absenden** aus.

1. Um eine **Compute-Zuweisung** zu erstellen:

1. 

   1. Wählen Sie die entsprechende Option **Erstellen** aus. Dadurch gelangen Sie zur Seite zum Erstellen von Compute-Allokationen.

   1. Nachdem Sie Ihre Änderungen durchgeführt haben, wählen Sie **Absenden** aus.

# Richtlinien bearbeiten
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit"></a>

Sie können Ihre **Cluster-Richtlinien** und Konfigurationen für die **Compute-Zuweisung** auf der Registerkarte **Richtlinien** bearbeiten. Nachfolgend sehen Sie Anweisungen zum Bearbeiten der folgenden Konfigurationen.
+ Bearbeiten Sie Ihre **Cluster-Richtlinie**, um zu aktualisieren, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird.
+ Bearbeiten Sie die **Rechenzuweisung**, um eine neue Richtlinie zur Rechenzuweisung für ein Team zu erstellen.
**Anmerkung**  
Wenn Sie eine **Compute-Zuweisung** erstellen, müssen Sie eine rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes für Data-Scientist-Benutzer im entsprechenden Namespace einrichten, um Aufgaben auf Clustern auszuführen, die mit Amazon EKS orchestriert wurden. HyperPod Die Namespaces haben das Format `hyperpod-ns-team-name`. Um einen Kubernetes-RBAC einzurichten, folgen Sie den Anweisungen unter [Teamrolle erstellen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).

Weitere Informationen zu den Konzepten der EKS-Clusterrichtlinien zur HyperPod Task-Governance finden Sie unter. [Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)

**Bearbeiten Sie die HyperPod Task-Governance-Richtlinien**

Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits einen Amazon EKS-Cluster erstellt haben, der mit eingerichtet wurde HyperPod. Falls dies noch nicht geschehen ist, finden Sie weitere Informationen unter [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).

1. Navigieren Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich unter **HyperPodCluster** die Option **Cluster Management** aus.

1. Wählen Sie Ihren Amazon EKS-Cluster aus, der unter **SageMaker HyperPodCluster** aufgeführt ist.

1. Wählen Sie die Registerkarte **Policies**.

1. So bearbeiten Sie Ihre **Clusterrichtlinie**:

   1. Wählen Sie die entsprechende Option **Bearbeiten** aus, um zu aktualisieren, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird.

   1. Nachdem Sie Ihre Änderungen durchgeführt haben, wählen Sie **Absenden** aus.

1. So bearbeiten Sie Ihre **Rechenzuweisung**:

1. 

   1. Wählen Sie unter **Rechenzuweisung** die Konfiguration aus, die Sie bearbeiten möchten. Sie gelangen nun zur Seite mit den Konfigurationsdetails.

   1. Wenn Sie diese Konfigurationen bearbeiten möchten, wählen Sie **Bearbeiten** aus.

   1. Nachdem Sie Ihre Änderungen durchgeführt haben, wählen Sie **Absenden** aus.

# Löschen von Richtlinien
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete"></a>

Sie können Ihre **Cluster-Richtlinien** - und **Compute-Zuweisungskonfigurationen** mithilfe der SageMaker AI-Konsole oder löschen AWS CLI. Auf der folgenden Seite finden Sie Anweisungen zum Löschen Ihrer SageMaker HyperPod Task-Governance-Richtlinien und -Konfigurationen.

Weitere Informationen zu den Konzepten der EKS-Clusterrichtlinien für HyperPod Task Governance finden Sie unter[Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md).

**Anmerkung**  
Sollten Sie Probleme beim Auflisten oder Löschen von Aufgaben-Governance-Richtlinien haben, müssen Sie möglicherweise die Mindestberechtigungen Ihres Clusteradministrators aktualisieren. Weitere Informationen finden Sie im [IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) Abschnitt auf der Registerkarte **Amazon EKS**. Weitere Informationen finden Sie unter [Löschen von Clustern](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md#hp-eks-troubleshoot-delete-policies).

## HyperPod Task-Governance-Richtlinien löschen (Konsole)
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-console"></a>

Im Folgenden wird die SageMaker AI-Konsole verwendet, um Ihre HyperPod Task-Governance-Richtlinien zu löschen.

**Anmerkung**  
Sie können Ihre **Cluster-Richtlinie** (`ClusterSchedulerConfig`) nicht mit der SageMaker AI-Konsole löschen. Informationen dazu mit dem finden Sie AWS CLI unter[Löschen Sie die Richtlinien zur HyperPod Aufgabenverwaltung (AWS CLI)](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-cli).

**So löschen Sie Richtlinien zur Aufgaben-Governance (Konsole)**

1. Navigieren Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich unter **HyperPodCluster** die Option **Cluster Management** aus.

1. Wählen Sie Ihren Amazon EKS-Cluster aus, der unter **SageMaker HyperPodCluster** aufgeführt ist.

1. Wählen Sie die Registerkarte **Policies**.

1. So löschen Sie Ihre **Rechenzuweisung** (`ComputeQuota`):

   1. Wählen Sie im Abschnitt **Rechenzuweisung** die Konfiguration aus, die Sie löschen möchten.

   1. Wählen Sie im Dropdown-Menü **Aktionen** die Option **Löschen** aus.

   1. Befolgen Sie die Anweisungen in der Benutzeroberfläche, um die Aufgabe abzuschließen.

## Löschen Sie die Richtlinien zur HyperPod Aufgabenverwaltung (AWS CLI)
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-cli"></a>

Im Folgenden werden die verwendet AWS CLI , um Ihre HyperPod Task-Governance-Richtlinien zu löschen.

**Anmerkung**  
Wenn Sie Probleme mit der Verwendung der folgenden Befehle haben, müssen Sie möglicherweise Ihre aktualisieren AWS CLI. Weitere Informationen finden Sie unter [Installieren oder Aktualisierung auf die neueste Version der AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

**So löschen Sie Aufgaben-Governance-Richtlinien (AWS CLI)**

Stellen Sie zunächst Ihre Variablen für die folgenden AWS CLI Befehle ein.

```
REGION=aws-region
```

1. Holen Sie sich die mit den Richtlinien *cluster-arn* verknüpften Richtlinien, die Sie löschen möchten. Sie können den folgenden AWS CLI Befehl verwenden, um die Cluster in Ihrem aufzulisten AWS-Region.

   ```
   aws sagemaker list-clusters \
       --region ${REGION}
   ```

1. So löschen Sie Ihre Rechenzuweisungen (`ComputeQuota`):

   1. Listet alle Rechenkontingente auf, die dem HyperPod Cluster zugeordnet sind.

      ```
      aws sagemaker list-compute-quotas \
          --cluster-arn cluster-arn \
          --region ${REGION}
      ```

   1. Führen Sie für jeden `compute-quota-id`, den Sie löschen möchten, den folgenden Befehl aus, um das Rechenkontingent zu löschen.

      ```
      aws sagemaker delete-compute-quota \
          --compute-quota-id compute-quota-id \
          --region ${REGION}
      ```

1. So löschen Sie Ihre Clusterrichtlinien (`ClusterSchedulerConfig`):

   1. Listet alle Clusterrichtlinien auf, die dem HyperPod Cluster zugeordnet sind.

      ```
      aws sagemaker list-cluster-scheduler-configs \
          --cluster-arn cluster-arn \
          --region ${REGION}
      ```

   1. Führen Sie für jeden `cluster-scheduler-config-id`, den Sie löschen möchten, den folgenden Befehl aus, um das Rechenkontingent zu löschen.

      ```
      aws sagemaker delete-cluster-scheduler-config 
          --cluster-scheduler-config-id scheduler-config-id \
          --region ${REGION}
      ```

# Zuweisung von Rechenkontingenten in Amazon SageMaker HyperPod Task Governance
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation"></a>

Clusteradministratoren können entscheiden, wie die Organisation gekaufte Rechenleistung verwendet. Dadurch werden Verschwendung und ungenutzte Ressourcen reduziert. Sie können Rechenquoten so zuweisen, dass sich Teams ungenutzte Ressourcen gegenseitig ausleihen können. Die Berechnung der Quotenzuweisung in HyperPod Task Governance ermöglicht es Administratoren, Ressourcen auf Instanzebene und auf detaillierterer Ressourcenebene zuzuweisen. Diese Funktion ermöglicht ein flexibles und effizientes Ressourcenmanagement für Teams, indem sie eine detaillierte Kontrolle über einzelne Rechenressourcen ermöglicht, anstatt ganze Instance-Zuweisungen erforderlich zu machen. Durch die Zuweisung auf granularer Ebene werden Ineffizienzen der herkömmlichen Zuweisung auf Instance-Ebene vermieden. Durch diesen Ansatz können Sie die Ressourcennutzung optimieren und ungenutzte Rechenleistung reduzieren.

Die Compute-Kontingentzuweisung unterstützt drei Arten der Ressourcenzuweisung: Beschleuniger, vCPU und Arbeitsspeicher. Beschleuniger sind Komponenten in beschleunigten ComputerInstances, die Funktionen wie Berechnungen von Gleitkommazahlen, Grafikverarbeitung oder Mustererkennung in Daten ausführen. Zu den Beschleunigern gehören GPUs Trainium-Beschleuniger und Neuronenkerne. Bei der gemeinsamen Nutzung von GPUs durch mehrere Teams können verschiedene Teams spezifische GPU-Zuweisungen vom gleichen Instance-Typ erhalten, wodurch die Auslastung der Beschleuniger-Hardware maximiert wird. Für speicherintensive Workloads, die zusätzlichen Arbeitsspeicher für Datenvorverarbeitungs- oder Modell-Caching-Szenarien benötigen, können Sie ein Speicherkontingent zuweisen, das über das Standardverhältnis hinausgeht. GPU-to-memory Für CPU-intensive Vorverarbeitungsaufgaben, die neben dem GPU-Training auch erhebliche CPU-Ressourcen benötigen, können Sie eine unabhängige CPU-Ressourcenzuweisung zuweisen.

Sobald Sie einen Wert eingegeben haben, berechnet HyperPod Task Governance das Verhältnis anhand der Formel **zugewiesene Ressourcen geteilt durch die Gesamtmenge der in der Instanz verfügbaren** Ressourcen. HyperPod Task Governance verwendet dann dieses Verhältnis, um Standardzuweisungen auf andere Ressourcen anzuwenden. Sie können diese Standardwerte jedoch überschreiben und sie an Ihren Anwendungsfall anpassen. Im Folgenden finden Sie Beispielszenarien dafür, wie HyperPod Task Governance Ressourcen auf der Grundlage Ihrer Werte zuweist:
+ **Nur Beschleuniger angegeben** — HyperPod Task Governance wendet das Standardverhältnis auf vCPU und Arbeitsspeicher auf der Grundlage der Beschleunigerwerte an.
+ **Nur vCPU angegeben** — HyperPod Task Governance berechnet das Verhältnis und wendet es auf den Arbeitsspeicher an. Beschleuniger sind auf 0 gesetzt.
+ **Nur Arbeitsspeicher angegeben** — HyperPod Task Governance berechnet das Verhältnis und wendet es auf vCPU an, da Rechenleistung erforderlich ist, um speicherspezifische Workloads auszuführen. Beschleuniger sind auf 0 gesetzt.

Um die Quotenzuweisung programmgesteuert zu steuern, können Sie das [ ComputeQuotaResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ComputeQuotaResourceConfig.html)Objekt verwenden und Ihre Zuweisungen in Ganzzahlen angeben.

```
{
    "ComputeQuotaConfig": {
        "ComputeQuotaResources": [{
            "InstanceType": "ml.g5.24xlarge",
            "Accelerators": "16",
            "vCpu": "200.0",
            "MemoryInGiB": "2.0"
        }]
    }
}
```

Verwenden Sie die Operation, um alle zugewiesenen Zuweisungen, einschließlich der Standardzuweisungen, anzuzeigen. [ DescribeComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeComputeQuota.html) Verwenden Sie den Vorgang, um Ihre Zuordnungen zu aktualisieren. [ UpdateComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateComputeQuota.html)

Sie können die HyperPod CLI auch verwenden, um Rechenkontingente zuzuweisen. Weitere Informationen zur HyperPod CLI finden Sie unter[Ausführung von Jobs auf SageMaker HyperPod Clustern, die von Amazon EKS orchestriert wurden](sagemaker-hyperpod-eks-run-jobs.md). Das folgende Beispiel zeigt, wie Rechenkontingente mithilfe der HyperPod CLI festgelegt werden.

```
hyp create hyp-pytorch-job --version 1.1 --job-name sample-job \
--image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
--pull-policy "Always" \
--tasks-per-node 1 \
--max-retry 1 \
--priority high-priority \
--namespace hyperpod-ns-team-name \
--queue-name hyperpod-ns-team-name-localqueue \
--instance-type sample-instance-type \
--accelerators 1 \
--vcpu 3 \
--memory 1 \
--accelerators-limit 1 \
--vcpu-limit 4 \
--memory-limit 2
```

Gehen Sie folgendermaßen vor, um Kontingente mithilfe der AWS Konsole zuzuweisen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie unter HyperPod Cluster die Option **Clusterverwaltung** aus.

1. Wählen Sie unter **Rechenzuweisung** die Option **Erstellen** aus.

1. Wenn Sie noch keine Instances haben, wählen Sie **Zuweisung hinzufügen** aus, um eine Instance hinzuzufügen.

1. Wählen Sie unter **Zuweisungen** aus, ob die Zuweisung nach Instances oder einzelnen Ressourcen erfolgen soll. Wenn Sie die Zuteilung nach einzelnen Ressourcen vornehmen, weist SageMaker KI anderen Ressourcen automatisch Allokationen in dem von Ihnen ausgewählten Verhältnis zu. Um diese verhältnisbasierte Zuordnung zu überschreiben, verwenden Sie den entsprechenden Schalter, um diese Berechnung zu überschreiben.

1. Wiederholen Sie die Schritte 4 und 5, um weitere Instances zu konfigurieren.

Nachdem Sie das Rechenkontingent zugewiesen haben, können Sie Jobs über die HyperPod CLI oder `kubectl` einreichen. HyperPodplant Workloads effizient auf der Grundlage des verfügbaren Kontingents. 

# Zuweisung des GPU-Partitionskontingents
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions"></a>

Sie können die Zuweisung von Rechenkontingenten erweitern, um die GPU-Partitionierung zu unterstützen und so eine differenzierte gemeinsame Nutzung von Ressourcen auf GPU-Partitionsebene zu ermöglichen. Wenn die GPU-Partitionierung aktiviert ist oder im Cluster unterstützt wird, kann jede physische GPU GPUs in mehrere isolierte GPUs GPUs mit definierten Rechen-, Arbeitsspeicher- und Streaming-Multiprozessor-Zuweisungen partitioniert werden. Weitere Informationen zur GPU-Partitionierung finden Sie unter. [Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md) Sie können Gruppen bestimmte GPU-Partitionen zuweisen, sodass mehrere Teams dieselbe GPU gemeinsam nutzen können. Gleichzeitig bleiben die Isolierung auf Hardwareebene und die vorhersehbare Leistung erhalten.

Beispielsweise kann eine ml.p5.48xlarge-Instance mit 8 H100 in GPU-Partitionen partitioniert werden, und Sie GPUs können einzelnen Teams je nach Aufgabenanforderungen einzelne Partitionen zuweisen. Wenn Sie GPU-Partitionszuweisungen angeben, berechnet HyperPod Task Governance proportionale vCPU- und Speicherkontingente auf der Grundlage der GPU-Partition, ähnlich der Zuweisung auf GPU-Ebene. Dieser Ansatz maximiert die GPU-Auslastung, indem ungenutzte Kapazitäten eliminiert und eine kostengünstige gemeinsame Nutzung von Ressourcen für mehrere gleichzeitige Aufgaben auf derselben physischen GPU ermöglicht wird.

## Rechenkontingente erstellen
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-creating"></a>

```
aws sagemaker create-compute-quota \
  --name "fractional-gpu-quota" \
  --compute-quota-config '{
    "ComputeQuotaResources": [
      {
        "InstanceType": "ml.p4d.24xlarge",
        "AcceleratorPartition": {
            "Count": 4,
            "Type": "mig-1g.5gb"
        }
      }
    ],
    "ResourceSharingConfig": { 
      "Strategy": "LendAndBorrow", 
      "BorrowLimit": 100 
    }
  }'
```

## Quota-Ressourcen überprüfen
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-verifying"></a>

```
# Check ClusterQueue
kubectl get clusterqueues
kubectl describe clusterqueue QUEUE_NAME

# Check ResourceFlavors
kubectl get resourceflavor
kubectl describe resourceflavor FLAVOR_NAME
```

# Beispiele für HyperPod Task-Governance-Befehle AWS CLI
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-cli"></a>

Sie können es HyperPod mit EKS über Kubectl oder über eine HyperPod benutzerdefinierte CLI verwenden. Sie können diese Befehle über Studio oder verwenden. AWS CLI Im Folgenden finden Sie Beispiele zur SageMaker HyperPod Task-Governance, die zeigen, wie Sie Clusterdetails mithilfe der HyperPod AWS CLI Befehle anzeigen können. Weitere Informationen, einschließlich der Installation, finden Sie im [HyperPod CLI-Github-Repository](https://github.com/aws/sagemaker-hyperpod-cli).

**Topics**
+ [Informationen zum Cluster-Accelerator-Gerätekontingent](#hp-eks-cli-get-clusters)
+ [Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace](#hp-eks-cli-start-job)
+ [Auflisten von Aufträgen](#hp-eks-cli-list-jobs)
+ [Detaillierte Informationen zum Auftrag](#hp-eks-cli-get-job)
+ [Jobs aussetzen und die Aussetzung rückgängig machen](#hp-eks-cli-patch-job)
+ [Debuggen von Aufträgen](#hp-eks-cli-other)

## Informationen zum Cluster-Accelerator-Gerätekontingent
<a name="hp-eks-cli-get-clusters"></a>

Mit dem folgenden Beispielbefehl werden Informationen zum Cluster Accelerator-Gerätekontingent abgerufen.

```
hyperpod get-clusters -n hyperpod-ns-test-team
```

Der Namespace in diesem Beispiel, `hyperpod-ns-test-team`, wird in Kubernetes auf Grundlage des angegebenen Teamnamens, `test-team`, erstellt, wenn die Rechenzuweisung erstellt wird. Weitere Informationen finden Sie unter [Richtlinien bearbeiten](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit.md).

Beispielantwort:

```
[
    {
        "Cluster": "hyperpod-eks-test-cluster-id",
        "InstanceType": "ml.g5.xlarge",
        "TotalNodes": 2,
        "AcceleratorDevicesAvailable": 1,
        "NodeHealthStatus=Schedulable": 2,
        "DeepHealthCheckStatus=Passed": "N/A",
        "Namespaces": {
            "hyperpod-ns-test-team": {
                "TotalAcceleratorDevices": 1,
                "AvailableAcceleratorDevices": 1
            }
        }
    }
]
```

## Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace
<a name="hp-eks-cli-start-job"></a>

Mit dem folgenden Beispielbefehl wird ein Job an Ihren Cluster gesendet. HyperPod Wenn Sie nur Zugriff auf ein Team haben, HyperPod AWS CLI wird Ihnen die Warteschlange in diesem Fall automatisch zugewiesen. Andernfalls, wenn mehrere Warteschlangen entdeckt werden, zeigen wir dir alle praktikablen Optionen an, die du auswählen kannst.

```
hyperpod start-job --job-name hyperpod-cli-test --job-kind kubeflow/PyTorchJob --image docker.io/kubeflowkatib/pytorch-mnist-cpu:v1beta1-bc09cfd --entry-script /opt/pytorch-mnist/mnist.py --pull-policy IfNotPresent --instance-type ml.g5.xlarge --node-count 1 --tasks-per-node 1 --results-dir ./result --priority training-priority
```

Die Prioritätsklassen sind in der **Clusterrichtlinie** definiert, die festlegt, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird. Wenn ein Datenwissenschaftler einen Auftrag einreicht, verwendet er einen der Prioritätsklassen-Namen im Format `priority-class-name-priority`. `training-priority`Bezieht sich in diesem Beispiel auf die Prioritätsklasse mit dem Namen „Training“. Weitere Informationen zu Richtlinienkonzepten finden Sie unter [Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md).

Wenn keine Prioritätsklasse angegeben ist, wird der Job als Job mit niedriger Priorität behandelt, wobei der Wert 0 für die Aufgabenrangfolge lautet. 

Wenn eine Prioritätsklasse angegeben ist, diese aber keiner der in der **Clusterrichtlinie** definierten Prioritätsklassen entspricht, schlägt die Übermittlung fehl und eine Fehlermeldung gibt die definierten Prioritätsklassen an.

Sie können den Job auch mithilfe einer YAML-Konfigurationsdatei mithilfe des folgenden -Befehls einreichen: 

```
hyperpod start-job --config-file ./yaml-configuration-file-name.yaml
```

Im Folgenden finden Sie ein Beispiel für eine YAML-Konfigurationsdatei, die dem oben beschriebenen Einreichen eines Jobs entspricht.

```
defaults:
  - override hydra/job_logging: stdout
hydra:
  run:
    dir: .
  output_subdir: null
training_cfg:
  entry_script: /opt/pytorch-mnist/mnist.py
  script_args: []
  run:
    name: hyperpod-cli-test
    nodes: 1
    ntasks_per_node: 1
cluster:
  cluster_type: k8s
  instance_type: ml.g5.xlarge
  custom_labels:
    kueue.x-k8s.io/priority-class: training-priority
  cluster_config:
    label_selector:
      required:
        sagemaker.amazonaws.com/node-health-status:
          - Schedulable
      preferred:
        sagemaker.amazonaws.com/deep-health-check-status:
          - Passed
      weights:
        - 100
    pullPolicy: IfNotPresent
base_results_dir: ./result
container: docker.io/kubeflowkatib/pytorch-mnist-cpu:v1beta1-bc09cfd
env_vars:
  NCCL_DEBUG: INFO
```

Alternativ können Sie einen Job einreichen, indem Sie sicherstellen`kubectl`, dass die Aufgabe auf der Registerkarte **Dashboard** angezeigt wird. Nachfolgend finden Sie ein Beispiel für einen kubectl-Befehl.

```
kubectl apply -f ./yaml-configuration-file-name.yaml
```

Geben Sie beim Absenden des Jobs den Namen Ihrer Warteschlange und die Bezeichnungen der Prioritätsklassen an. Zum Beispiel müssen Sie zusammen mit dem Namen der Warteschlange `hyperpod-ns-team-name-localqueue` und der Prioritätsklasse `priority-class-name-priority` die folgenden Labels angeben:
+ `kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue` 
+ `kueue.x-k8s.io/priority-class: priority-class-name-priority`

**Der folgende YAML-Konfigurationsausschnitt zeigt, wie Sie Ihrer ursprünglichen Konfigurationsdatei Labels hinzufügen, um sicherzustellen, dass Ihre Aufgabe auf der Registerkarte Dashboard angezeigt wird:**

```
metadata:
    name: job-name
    namespace: hyperpod-ns-team-name
    labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        kueue.x-k8s.io/priority-class: priority-class-name-priority
```

## Auflisten von Aufträgen
<a name="hp-eks-cli-list-jobs"></a>

Der folgende Befehl listet die Jobs und ihre Details auf.

```
hyperpod list-jobs
```

Beispielantwort:

```
{
    "jobs": [
        {
            "Name": "hyperpod-cli-test",
            "Namespace": "hyperpod-ns-test-team",
            "CreationTime": "2024-11-18T21:21:15Z",
            "Priority": "training",
            "State": "Succeeded"
        }
    ]
}
```

## Detaillierte Informationen zum Auftrag
<a name="hp-eks-cli-get-job"></a>

Der folgende Befehl stellt die Details eines Jobs bereit. Wenn kein Namespace angegeben ist, HyperPod AWS CLI wird ein von SageMaker AI verwalteter Namespace abgerufen, auf den Sie Zugriff haben.

```
hyperpod get-job --job-name hyperpod-cli-test
```

Beispielantwort:

```
{
    "Name": "hyperpod-cli-test",
    "Namespace": "hyperpod-ns-test-team",
    "Label": {
        "app": "hyperpod-cli-test",
        "app.kubernetes.io/managed-by": "Helm",
        "kueue.x-k8s.io/priority-class": "training"
    },
    "CreationTimestamp": "2024-11-18T21:21:15Z",
    "Status": {
        "completionTime": "2024-11-18T21:25:24Z",
        "conditions": [
            {
                "lastTransitionTime": "2024-11-18T21:21:15Z",
                "lastUpdateTime": "2024-11-18T21:21:15Z",
                "message": "PyTorchJob hyperpod-cli-test is created.",
                "reason": "PyTorchJobCreated",
                "status": "True",
                "type": "Created"
            },
            {
                "lastTransitionTime": "2024-11-18T21:21:17Z",
                "lastUpdateTime": "2024-11-18T21:21:17Z",
                "message": "PyTorchJob hyperpod-ns-test-team/hyperpod-cli-test is running.",
                "reason": "PyTorchJobRunning",
                "status": "False",
                "type": "Running"
            },
            {
                "lastTransitionTime": "2024-11-18T21:25:24Z",
                "lastUpdateTime": "2024-11-18T21:25:24Z",
                "message": "PyTorchJob hyperpod-ns-test-team/hyperpod-cli-test successfully completed.",
                "reason": "PyTorchJobSucceeded",
                "status": "True",
                "type": "Succeeded"
            }
        ],
            "replicaStatuses": {
                "Worker": {
                    "selector": "training.kubeflow.org/job-name=hyperpod-cli-test,training.kubeflow.org/operator-name=pytorchjob-controller,training.kubeflow.org/replica-type=worker",
                    "succeeded": 1
                }
            },
        "startTime": "2024-11-18T21:21:15Z"
    },
    "ConsoleURL": "https://us-west-2.console.aws.amazon.com/sagemaker/home?region=us-west-2#/cluster-management/hyperpod-eks-test-cluster-id“
}
```

## Jobs aussetzen und die Aussetzung rückgängig machen
<a name="hp-eks-cli-patch-job"></a>

Wenn Sie einen eingereichten Job aus dem Scheduler entfernen möchten, HyperPod AWS CLI bietet dieser `suspend` Befehl, um den Job vorübergehend aus der Orchestrierung zu entfernen. Der unterbrochene Job wird nicht mehr geplant, es sei denn, der Job wird manuell durch den Befehl aufgehoben `unsuspend`

Um einen Job vorübergehend auszusetzen:

```
hyperpod patch-job suspend --job-name hyperpod-cli-test
```

Um einen Job wieder zur Warteschlange hinzuzufügen:

```
hyperpod patch-job unsuspend --job-name hyperpod-cli-test
```

## Debuggen von Aufträgen
<a name="hp-eks-cli-other"></a>

Der bietet HyperPod AWS CLI auch andere Befehle, mit denen Sie Probleme bei der Auftragsübermittlung beheben können. Zum Beispiel `list-pods` und `get-logs` im HyperPod AWS CLI Github-Repository.

# Fehlerbehebung
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot"></a>

Die folgende Seite enthält bekannte Lösungen zur Fehlerbehebung bei Ihren HyperPod EKS-Clustern.

**Topics**
+ [Registerkarte Dashboard](#hp-eks-troubleshoot-dashboard)
+ [Registerkarte „Aufgaben“](#hp-eks-troubleshoot-tasks)
+ [Richtlinien](#hp-eks-troubleshoot-policies)
+ [Löschen von Clustern](#hp-eks-troubleshoot-delete-policies)
+ [Gemeinsame Nutzung nicht zugewiesener Ressourcen](#hp-eks-troubleshoot-unallocated-resource-sharing)

## Registerkarte Dashboard
<a name="hp-eks-troubleshoot-dashboard"></a>

**Die Installation des EKS-Add-ons ist fehlgeschlagen.**

Damit die Installation des EKS-Add-ons erfolgreich ist, benötigen Sie eine Kubernets-Version >= 1.30. [Informationen zum Update finden Sie unter Kubernetes-Version aktualisieren.](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html)

Damit die Installation des EKS-Add-ons erfolgreich ist, müssen sich alle Knoten im Status **Bereit** und alle Pods im Status **Running** befinden. 

Um den Status Ihrer Knoten zu überprüfen, verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html) AWS CLI Befehl oder navigieren Sie in der [EKS-Konsole zu Ihrem EKS-Cluster](https://console.aws.amazon.com/eks/home#/clusters) und sehen Sie sich den Status Ihrer Knoten an. Beheben Sie das Problem für jeden Knoten oder wenden Sie sich an Ihren Administrator. Wenn der Knotenstatus **Unbekannt** ist, löschen Sie den Knoten. Sobald der Status aller Knoten „**Bereit**“ lautet, versuchen Sie erneut, das EKS-Add-on HyperPod von der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) aus zu installieren.

Um den Status Ihrer Pods zu überprüfen, verwenden Sie den [Kubernetes-CLI](https://kubernetes.io/docs/reference/kubectl/)-Befehl `kubectl get pods -n cloudwatch-agent` oder navigieren Sie in der EKS-Konsole[ zu Ihrem EKS-Cluster](https://console.aws.amazon.com/eks/home#/clusters) und zeigen Sie den Status Ihrer Pods mit dem Namespace `cloudwatch-agent` an. Beheben Sie das Problem mit den Pods oder wenden Sie sich an Ihren Administrator, um das Problem zu lösen. Sobald alle Pod-Status „Wird **ausgeführt**“ lauten, versuchen Sie erneut, das EKS-Add-on HyperPod von der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) aus zu installieren.

Weitere Informationen zur Fehlerbehebung finden Sie unter [Fehlerbehebung beim Amazon CloudWatch Observability EKS-Add-on](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html#Container-Insights-setup-EKS-addon-troubleshoot).

## Registerkarte „Aufgaben“
<a name="hp-eks-troubleshoot-tasks"></a>

Wenn Ihnen die Fehlermeldung angezeigt wird, dass die **benutzerdefinierte Ressourcendefinition (CRD) auf dem Cluster nicht konfiguriert ist**, gewähren Sie Ihrer Domain-Ausführungsrolle Rechte `EKSAdminViewPolicy` und `ClusterAccessRole` Richtlinien. 
+ Weitere Informationen zum Abrufen Ihrer Ausführungsrolle finden Sie unter [Abrufen Ihrer Ausführungsrolle](sagemaker-roles.md#sagemaker-roles-get-execution-role).
+ Informationen zum Hinzufügen von Richtlinien zu einem IAM-Benutzer oder einer IAM-Gruppe finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Richtlinien
<a name="hp-eks-troubleshoot-policies"></a>

Im Folgenden werden Lösungen für Fehler im Zusammenhang mit Richtlinien aufgeführt, die die HyperPod APIs OR-Konsole verwenden.
+ Wenn sich die Richtlinie in `CreateFailed` oder im `CreateRollbackFailed` Status befindet, müssen Sie die fehlgeschlagene Richtlinie löschen und eine neue erstellen.
+ Wenn die Richtlinie im Status `UpdateFailed` ist, versuchen Sie die Aktualisierung mit derselben Richtlinien-ARN erneut.
+ Wenn die Richtlinie den `UpdateRollbackFailed` Status hat, müssen Sie die fehlgeschlagene Richtlinie löschen und anschließend eine neue erstellen.
+ Wenn die Richtlinie im Status `DeleteFailed` und ist, versuchen Sie erneut, sie mit derselben Richtlinien-ARN zu löschen.
  + Wenn Sie beim Versuch, die **Compute-Priorisierung** oder Cluster-Richtlinie über die HyperPod Konsole zu löschen, auf einen Fehler gestoßen sind, versuchen Sie, diese `cluster-scheduler-config` mithilfe der API zu löschen. Um den Status der Ressource zu überprüfen, rufen Sie die Detailseite einer Rechenzuweisung auf.

Verwenden Sie die Describe-API, um weitere Informationen zu dem Fehler zu erhalten.

## Löschen von Clustern
<a name="hp-eks-troubleshoot-delete-policies"></a>

Im Folgenden sind bekannte Lösungen für Fehler im Zusammenhang mit dem Löschen von Clustern aufgeführt.
+ Wenn das Löschen des Clusters aufgrund der beigefügten SageMaker HyperPod Task-Governance-Richtlinien fehlschlägt, müssen Sie dies tun[Löschen von Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md).
+ Wenn das Löschen eines Clusters fehlschlägt, weil die folgenden Berechtigungen fehlen, müssen Sie die Mindestberechtigungen Ihres Clusteradministrators aktualisieren. Weitere Informationen finden Sie im [IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) Abschnitt auf der Registerkarte **Amazon EKS**.
  + `sagemaker:ListComputeQuotas`
  + `sagemaker:ListClusterSchedulerConfig`
  + `sagemaker:DeleteComputeQuota`
  + `sagemaker:DeleteClusterSchedulerConfig`

## Gemeinsame Nutzung nicht zugewiesener Ressourcen
<a name="hp-eks-troubleshoot-unallocated-resource-sharing"></a>

Wenn die Kapazität Ihres nicht zugewiesenen Ressourcenpools geringer als erwartet ist:

1. **Überprüfen Sie den Status des Knotens bereit**

   ```
   kubectl get nodes
   ```

   Stellen Sie sicher, dass alle Knoten `Ready` den Status in der STATUS-Spalte anzeigen.

1. **Überprüfen Sie den Status des Knotens, der planbar ist**

   ```
   kubectl get nodes -o custom-columns=NAME:.metadata.name,UNSCHEDULABLE:.spec.unschedulable
   ```

   Überprüfen Sie, ob die Knoten angezeigt `<none>` werden `false` oder nicht`true`.

1. **Listet die gemeinsame Nutzung ClusterQueues nicht zugewiesener Ressourcen auf:**

   ```
   kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
   ```

   Dies zeigt alle nicht zugewiesenen Ressourcen, die gemeinsam genutzt werden. ClusterQueues Wenn sie nicht angezeigt ClusterQueues werden, überprüfen Sie in der `FailureReason` nachfolgenden ClusterSchedulerConfig Richtlinie, ob es Fehlermeldungen gibt, um das Debuggen fortzusetzen.

1. **Überprüfen Sie das Kontingent für die gemeinsame Nutzung nicht zugewiesener Ressourcen**

   ```
   kubectl describe clusterqueue hyperpod-ns-idle-resource-sharing-<index>
   ```

   In dem `spec.resourceGroups[].flavors[].resources` Abschnitt finden Sie das für die einzelnen Ressourcenarten zugewiesene Kontingent.

   Abhängig von der Anzahl der Ressourcenvarianten in Ihrem Cluster ClusterQueues können mehrere nicht zugewiesene Ressourcen gemeinsam genutzt werden. 

1. **Überprüfen Sie den MIG-Konfigurationsstatus (GPU-Knoten):**

   ```
   kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.nvidia\.com/mig\.config\.state}{"\n"}{end}'
   ```

   Überprüfen Sie, ob MIG-fähige Knoten den Status anzeigen`success`.

# Zuweisungsdokument für Amazon SageMaker HyperPod Task Governance
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-attributions"></a>

Im Folgenden erfahren Sie mehr über Quellenangaben und Drittanbieterlizenzen für Materialien, die im Rahmen der Amazon SageMaker HyperPod Task Governance verwendet werden.

**Topics**
+ [[Basisdateien](https://packages.debian.org/bookworm/base-files)](#hp-eks-task-governance-attributions-base-files)
+ [[Netbase](https://packages.debian.org/source/stable/netbase)](#hp-eks-task-governance-attributions-netbase)
+ [[Golang-lru](https://github.com/hashicorp/golang-lru)](#hp-eks-task-governance-attributions-golang-lru)

## [Basisdateien](https://packages.debian.org/bookworm/base-files)
<a name="hp-eks-task-governance-attributions-base-files"></a>

```
This is the Debian prepackaged version of the Debian Base System
Miscellaneous files. These files were written by Ian Murdock
<imurdock@debian.org> and Bruce Perens <bruce@pixar.com>.

This package was first put together by Bruce Perens <Bruce@Pixar.com>,
from his own sources.

The GNU Public Licenses in /usr/share/common-licenses were taken from
ftp.gnu.org and are copyrighted by the Free Software Foundation, Inc.

The Artistic License in /usr/share/common-licenses is the one coming
from Perl and its SPDX name is "Artistic License 1.0 (Perl)".


Copyright © 1995-2011 Software in the Public Interest.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.
```

## [Netbase](https://packages.debian.org/source/stable/netbase)
<a name="hp-eks-task-governance-attributions-netbase"></a>

```
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Comment:
 This package was created by Peter Tobias tobias@et-inf.fho-emden.de on
 Wed, 24 Aug 1994 21:33:28 +0200 and maintained by Anthony Towns
 <ajt@debian.org> until 2001.
 It is currently maintained by Marco d'Itri <md@linux.it>.

Files: *
Copyright:
 Copyright © 1994-1998 Peter Tobias
 Copyright © 1998-2001 Anthony Towns
 Copyright © 2002-2022 Marco d'Itri
License: GPL-2
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License, version 2, as
 published by the Free Software Foundation.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License along
 with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 .
 On Debian systems, the complete text of the GNU General Public License
 version 2 can be found in '/usr/share/common-licenses/GPL-2'.
```

## [Golang-lru](https://github.com/hashicorp/golang-lru)
<a name="hp-eks-task-governance-attributions-golang-lru"></a>

```
Copyright © 2014 HashiCorp, Inc.

Mozilla Public License, version 2.0

1. Definitions

1.1. "Contributor"

     means each individual or legal entity that creates, contributes to the
     creation of, or owns Covered Software.

1.2. "Contributor Version"

     means the combination of the Contributions of others (if any) used by a
     Contributor and that particular Contributor's Contribution.

1.3. "Contribution"

     means Covered Software of a particular Contributor.

1.4. "Covered Software"

     means Source Code Form to which the initial Contributor has attached the
     notice in Exhibit A, the Executable Form of such Source Code Form, and
     Modifications of such Source Code Form, in each case including portions
     thereof.

1.5. "Incompatible With Secondary Licenses"
     means

     a. that the initial Contributor has attached the notice described in
        Exhibit B to the Covered Software; or

     b. that the Covered Software was made available under the terms of
        version 1.1 or earlier of the License, but not also under the terms of
        a Secondary License.

1.6. "Executable Form"

     means any form of the work other than Source Code Form.

1.7. "Larger Work"

     means a work that combines Covered Software with other material, in a
     separate file or files, that is not Covered Software.

1.8. "License"

     means this document.

1.9. "Licensable"

     means having the right to grant, to the maximum extent possible, whether
     at the time of the initial grant or subsequently, any and all of the
     rights conveyed by this License.

1.10. "Modifications"

     means any of the following:

     a. any file in Source Code Form that results from an addition to,
        deletion from, or modification of the contents of Covered Software; or

     b. any new file in Source Code Form that contains any Covered Software.

1.11. "Patent Claims" of a Contributor

      means any patent claim(s), including without limitation, method,
      process, and apparatus claims, in any patent Licensable by such
      Contributor that would be infringed, but for the grant of the License,
      by the making, using, selling, offering for sale, having made, import,
      or transfer of either its Contributions or its Contributor Version.

1.12. "Secondary License"

      means either the GNU General Public License, Version 2.0, the GNU Lesser
      General Public License, Version 2.1, the GNU Affero General Public
      License, Version 3.0, or any later versions of those licenses.

1.13. "Source Code Form"

      means the form of the work preferred for making modifications.

1.14. "You" (or "Your")

      means an individual or a legal entity exercising rights under this
      License. For legal entities, "You" includes any entity that controls, is
      controlled by, or is under common control with You. For purposes of this
      definition, "control" means (a) the power, direct or indirect, to cause
      the direction or management of such entity, whether by contract or
      otherwise, or (b) ownership of more than fifty percent (50%) of the
      outstanding shares or beneficial ownership of such entity.


2. License Grants and Conditions

2.1. Grants

     Each Contributor hereby grants You a world-wide, royalty-free,
     non-exclusive license:

     a. under intellectual property rights (other than patent or trademark)
        Licensable by such Contributor to use, reproduce, make available,
        modify, display, perform, distribute, and otherwise exploit its
        Contributions, either on an unmodified basis, with Modifications, or
        as part of a Larger Work; and

     b. under Patent Claims of such Contributor to make, use, sell, offer for
        sale, have made, import, and otherwise transfer either its
        Contributions or its Contributor Version.

2.2. Effective Date

     The licenses granted in Section 2.1 with respect to any Contribution
     become effective for each Contribution on the date the Contributor first
     distributes such Contribution.

2.3. Limitations on Grant Scope

     The licenses granted in this Section 2 are the only rights granted under
     this License. No additional rights or licenses will be implied from the
     distribution or licensing of Covered Software under this License.
     Notwithstanding Section 2.1(b) above, no patent license is granted by a
     Contributor:

     a. for any code that a Contributor has removed from Covered Software; or

     b. for infringements caused by: (i) Your and any other third party's
        modifications of Covered Software, or (ii) the combination of its
        Contributions with other software (except as part of its Contributor
        Version); or

     c. under Patent Claims infringed by Covered Software in the absence of
        its Contributions.

     This License does not grant any rights in the trademarks, service marks,
     or logos of any Contributor (except as may be necessary to comply with
     the notice requirements in Section 3.4).

2.4. Subsequent Licenses

     No Contributor makes additional grants as a result of Your choice to
     distribute the Covered Software under a subsequent version of this
     License (see Section 10.2) or under the terms of a Secondary License (if
     permitted under the terms of Section 3.3).

2.5. Representation

     Each Contributor represents that the Contributor believes its
     Contributions are its original creation(s) or it has sufficient rights to
     grant the rights to its Contributions conveyed by this License.

2.6. Fair Use

     This License is not intended to limit any rights You have under
     applicable copyright doctrines of fair use, fair dealing, or other
     equivalents.

2.7. Conditions

     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
     Section 2.1.


3. Responsibilities

3.1. Distribution of Source Form

     All distribution of Covered Software in Source Code Form, including any
     Modifications that You create or to which You contribute, must be under
     the terms of this License. You must inform recipients that the Source
     Code Form of the Covered Software is governed by the terms of this
     License, and how they can obtain a copy of this License. You may not
     attempt to alter or restrict the recipients' rights in the Source Code
     Form.

3.2. Distribution of Executable Form

     If You distribute Covered Software in Executable Form then:

     a. such Covered Software must also be made available in Source Code Form,
        as described in Section 3.1, and You must inform recipients of the
        Executable Form how they can obtain a copy of such Source Code Form by
        reasonable means in a timely manner, at a charge no more than the cost
        of distribution to the recipient; and

     b. You may distribute such Executable Form under the terms of this
        License, or sublicense it under different terms, provided that the
        license for the Executable Form does not attempt to limit or alter the
        recipients' rights in the Source Code Form under this License.

3.3. Distribution of a Larger Work

     You may create and distribute a Larger Work under terms of Your choice,
     provided that You also comply with the requirements of this License for
     the Covered Software. If the Larger Work is a combination of Covered
     Software with a work governed by one or more Secondary Licenses, and the
     Covered Software is not Incompatible With Secondary Licenses, this
     License permits You to additionally distribute such Covered Software
     under the terms of such Secondary License(s), so that the recipient of
     the Larger Work may, at their option, further distribute the Covered
     Software under the terms of either this License or such Secondary
     License(s).

3.4. Notices

     You may not remove or alter the substance of any license notices
     (including copyright notices, patent notices, disclaimers of warranty, or
     limitations of liability) contained within the Source Code Form of the
     Covered Software, except that You may alter any license notices to the
     extent required to remedy known factual inaccuracies.

3.5. Application of Additional Terms

     You may choose to offer, and to charge a fee for, warranty, support,
     indemnity or liability obligations to one or more recipients of Covered
     Software. However, You may do so only on Your own behalf, and not on
     behalf of any Contributor. You must make it absolutely clear that any
     such warranty, support, indemnity, or liability obligation is offered by
     You alone, and You hereby agree to indemnify every Contributor for any
     liability incurred by such Contributor as a result of warranty, support,
     indemnity or liability terms You offer. You may include additional
     disclaimers of warranty and limitations of liability specific to any
     jurisdiction.

4. Inability to Comply Due to Statute or Regulation

   If it is impossible for You to comply with any of the terms of this License
   with respect to some or all of the Covered Software due to statute,
   judicial order, or regulation then You must: (a) comply with the terms of
   this License to the maximum extent possible; and (b) describe the
   limitations and the code they affect. Such description must be placed in a
   text file included with all distributions of the Covered Software under
   this License. Except to the extent prohibited by statute or regulation,
   such description must be sufficiently detailed for a recipient of ordinary
   skill to be able to understand it.

5. Termination

5.1. The rights granted under this License will terminate automatically if You
     fail to comply with any of its terms. However, if You become compliant,
     then the rights granted under this License from a particular Contributor
     are reinstated (a) provisionally, unless and until such Contributor
     explicitly and finally terminates Your grants, and (b) on an ongoing
     basis, if such Contributor fails to notify You of the non-compliance by
     some reasonable means prior to 60 days after You have come back into
     compliance. Moreover, Your grants from a particular Contributor are
     reinstated on an ongoing basis if such Contributor notifies You of the
     non-compliance by some reasonable means, this is the first time You have
     received notice of non-compliance with this License from such
     Contributor, and You become compliant prior to 30 days after Your receipt
     of the notice.

5.2. If You initiate litigation against any entity by asserting a patent
     infringement claim (excluding declaratory judgment actions,
     counter-claims, and cross-claims) alleging that a Contributor Version
     directly or indirectly infringes any patent, then the rights granted to
     You by any and all Contributors for the Covered Software under Section
     2.1 of this License shall terminate.

5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
     license agreements (excluding distributors and resellers) which have been
     validly granted by You or Your distributors under this License prior to
     termination shall survive termination.

6. Disclaimer of Warranty

   Covered Software is provided under this License on an "as is" basis,
   without warranty of any kind, either expressed, implied, or statutory,
   including, without limitation, warranties that the Covered Software is free
   of defects, merchantable, fit for a particular purpose or non-infringing.
   The entire risk as to the quality and performance of the Covered Software
   is with You. Should any Covered Software prove defective in any respect,
   You (not any Contributor) assume the cost of any necessary servicing,
   repair, or correction. This disclaimer of warranty constitutes an essential
   part of this License. No use of  any Covered Software is authorized under
   this License except under this disclaimer.

7. Limitation of Liability

   Under no circumstances and under no legal theory, whether tort (including
   negligence), contract, or otherwise, shall any Contributor, or anyone who
   distributes Covered Software as permitted above, be liable to You for any
   direct, indirect, special, incidental, or consequential damages of any
   character including, without limitation, damages for lost profits, loss of
   goodwill, work stoppage, computer failure or malfunction, or any and all
   other commercial damages or losses, even if such party shall have been
   informed of the possibility of such damages. This limitation of liability
   shall not apply to liability for death or personal injury resulting from
   such party's negligence to the extent applicable law prohibits such
   limitation. Some jurisdictions do not allow the exclusion or limitation of
   incidental or consequential damages, so this exclusion and limitation may
   not apply to You.

8. Litigation

   Any litigation relating to this License may be brought only in the courts
   of a jurisdiction where the defendant maintains its principal place of
   business and such litigation shall be governed by laws of that
   jurisdiction, without reference to its conflict-of-law provisions. Nothing
   in this Section shall prevent a party's ability to bring cross-claims or
   counter-claims.

9. Miscellaneous

   This License represents the complete agreement concerning the subject
   matter hereof. If any provision of this License is held to be
   unenforceable, such provision shall be reformed only to the extent
   necessary to make it enforceable. Any law or regulation which provides that
   the language of a contract shall be construed against the drafter shall not
   be used to construe this License against a Contributor.


10. Versions of the License

10.1. New Versions

      Mozilla Foundation is the license steward. Except as provided in Section
      10.3, no one other than the license steward has the right to modify or
      publish new versions of this License. Each version will be given a
      distinguishing version number.

10.2. Effect of New Versions

      You may distribute the Covered Software under the terms of the version
      of the License under which You originally received the Covered Software,
      or under the terms of any subsequent version published by the license
      steward.

10.3. Modified Versions

      If you create software not governed by this License, and you want to
      create a new license for such software, you may create and use a
      modified version of this License if you rename the license and remove
      any references to the name of the license steward (except to note that
      such modified license differs from this License).

10.4. Distributing Source Code Form that is Incompatible With Secondary
      Licenses If You choose to distribute Source Code Form that is
      Incompatible With Secondary Licenses under the terms of this version of
      the License, the notice described in Exhibit B of this License must be
      attached.

Exhibit A - Source Code Form License Notice

      This Source Code Form is subject to the
      terms of the Mozilla Public License, v.
      2.0. If a copy of the MPL was not
      distributed with this file, You can
      obtain one at
      http://mozilla.org/MPL/2.0/.

If it is not possible or desirable to put the notice in a particular file,
then You may include the notice in a location (such as a LICENSE file in a
relevant directory) where a recipient would be likely to look for such a
notice.

You may add additional accurate notices of copyright ownership.

Exhibit B - "Incompatible With Secondary Licenses" Notice

      This Source Code Form is "Incompatible
      With Secondary Licenses", as defined by
      the Mozilla Public License, v. 2.0.
```