Condividi tramite


aggiunta processo

Crea una nuova attività e la aggiunge al processo specificato.

Per esempi di come usare questo comando, vedere esempi.

Sintassi

job add <jobId> [/depend:<task_name_list>] [/env:<variable_and_value_list>]   
[/exclusive[:{true|false}]] [/name:<task_name>]   
{[/numcores:<min>[-<max>]] | [/numnodes:<min>[-<max>]] |   
[/numprocessors:<min>[-<max>]] | [/numsockets:<min>[-<max>]]}   
[/parametric:<index_specification>] [/requirednodes:<node_list>]   
[/rerunnable[:{true|false}]] [/runtime:{<time>|Infinite}]   
[/scheduler:<name>] [/stderr:[<path>\]<file_name>]   
[/stdin:[<path>\]<file_name>] [/stdout:[<path>\]<file_name>]   
[/taskfile:<path>\<file_name>] [/type:<type_name>]  
[/validexitcodes:{<int>|<intStart>..<intEnd>}[,{<int>|<intStart>..<intEnd>}]*]  
[/workdir:<folder>] <command> [<parameters>]  
  
job add {/? | /help}  
  

Parametri

Parametro Descrizione
< > jobID Specifica l'identificatore del processo a cui si desidera aggiungere l'attività.
/depend:<task_name_list> Specifica un elenco di uno o più nomi di attività nel processo specificato da cui dipende la nuova attività. L'elenco deve avere un formato di <task_name1>[,<task_name2>...]. La nuova attività potrebbe non essere avviata fino a quando tutte le attività che il parametro /depend specifica la fine dell'esecuzione. suggerimento: Un singolo <task_name> rappresenta una o più attività all'interno del processo, tutte con tale <task_name> assegnata.
/env:<variable_and_value_list> Specifica un elenco di variabili di ambiente da impostare nell'ambiente di runtime dell'attività e i valori da assegnare a tali variabili di ambiente. L'elenco deve avere un formato di <variable_name1>=<value1> [;<variable_name2>=<value2>...].

In alternativa, è possibile impostare più variabili di ambiente includendo più parametri di /env. Ogni deve essere un argomento diverso con un formato di <variable_name>=<valore>.

Per annullare l'impostazione di una variabile di ambiente, non specificare un valore. Ad esempio, <variable_to_unset_name>=.
/exclusive[:{true|false}] Specifica se il servizio utilità di pianificazione processi HPC deve assicurarsi che nessun'altra attività venga eseguita nello stesso nodo di questa attività durante l'esecuzione dell'attività.

Il valore True indica che il servizio utilità di pianificazione processi HPC deve assicurarsi che nessun'altra attività venga eseguita nello stesso nodo durante l'esecuzione dell'attività.

Il valore False indica che questa attività può condividere nodi di calcolo con altre attività.

Quando si specifica il parametro /exclusive senza un valore, il comando processo add si comporta come se fosse stato specificato un valore True. Se non si specifica il parametro /exclusive, il comando processo add si comporta come se fosse stato specificato un valore False.
/name:<task_name> Specifica un nome da usare per questa attività nell'output dei comandi e nell'interfaccia utente. La lunghezza massima per il nome è di 80 caratteri. Questo parametro non ha alcun valore predefinito. Suggerimento: Un singolo <task_name> rappresenta 1 o più attività all'interno del processo, tutte con tale <task_name> assegnato. Avviso: Se questa <task_name> deve essere usata insieme al parametro /depend, il <task_name> non deve contenere una virgola o uno spazio.
/numcores:<min>[-<max>] Specifica il numero complessivo di core nel cluster HPC richiesto dall'attività, nel formato <minimo>[-<massimo>]. L'attività viene eseguita almeno sul numero minimo di core e su non più del valore massimo. Se si specifica un solo valore, questo comando imposta su tale valore il numero massimo e minimo di core. Se si specifica un valore minimo che supera il numero totale di core disponibili nel cluster, si verifica un errore quando si invia il processo o se il processo è già stato inviato, quando si invia l'attività.

I valori minimo e massimo possono essere solo numeri interi positivi.

/numcores viene usato solo quando unitType del processo è core.

Se non si specifica l'/numcores, /numnodes, /numprocessoro /numsockets parametro, il servizio utilità di pianificazione processi HPC alloca un unitType come definito dal processo.
/numnodes:<min>[-<max>] Specifica il numero complessivo di nodi nel cluster HPC richiesto dall'attività, nel formato <minimo>[-<massimo>]. L'attività viene eseguita almeno sul numero minimo di nodi e su non più del valore massimo. Se si specifica un solo valore, questo comando imposta su tale valore il numero massimo e minimo di nodi. Se si specifica un valore minimo che supera il numero totale di nodi disponibili nel cluster, si verifica un errore quando si invia l'attività o il processo che contiene l'attività.

I valori minimo e massimo possono essere solo numeri interi positivi.

/numnodes viene usato solo quando unitType del processo è nodo.

Se non si specifica l'/numcores, /numnodes, /numprocessoro /numsockets parametro, il servizio utilità di pianificazione processi HPC alloca un unitType come definito dal processo.
/numprocessor:<min>[-<max>] Deprecato. Usare invece il parametro /numcore .
/numsockets:<min>[-<max>] Specifica il numero complessivo di socket nel cluster HPC richiesto dall'attività, nel formato <minimo>[-<massimo>]. L'attività viene eseguita almeno sul numero minimo di socket e su non più del valore massimo. Se si specifica un solo valore, questo comando imposta su tale valore il numero massimo e minimo di socket. Se si specifica un valore minimo che supera il numero totale di socket disponibili nel cluster, si verifica un errore quando si invia l'attività o il processo che contiene l'attività.

I valori minimo e massimo possono essere solo numeri interi positivi.

/numsockets viene usato solo quando il valore UnitType del processo è socket.

Se non si specifica l'/numcores, /numnodes, /numprocessoro /numsockets parametro, il servizio utilità di pianificazione processi HPC alloca un unitType come definito dal processo.
/parametric:<index_specification> Indica che la nuova attività è un'attività parametrica. Un'attività parametrica esegue il comando specificato più volte, sostituendo il valore di indice corrente per gli asterischi (*) nella riga di comando. L'asterisco viene sostituito anche quando specificato nei parametri /stdin, /stdoute /stderr. La specifica dell'indice per questo parametro definisce il comportamento del valore di indice. Il formato per la specifica dell'indice è [<inizio>-]<fine>[:<incremento>].

Il valore dell'indice corrente inizia in corrispondenza dell'indice iniziale e aumenta in base al valore di incremento ogni volta che il comando viene eseguito. Quando l'indice corrente supera l'indice finale, l'attività interrompe l'esecuzione del comando.

L'indice iniziale deve essere minore dell'indice finale e il valore di incremento deve essere un numero intero positivo. Se non si specifica un valore di incremento, il valore predefinito è 1. Se non si specifica un valore iniziale, il valore predefinito è 1. Se si specifica un valore di incremento, è necessario specificare anche un valore iniziale.

A partire da Microsoft HPC Pack 2008 R2, se si specifica il parametro /type con un valore altro parametro ParametricSweep, non è possibile specificare anche il parametro /parametric.
/requirednodes:<node_list> Specifica un elenco di nodi in cui deve essere eseguita l'attività, in un formato di <node1_name>[,<node2_name>...]. Il servizio utilità di pianificazione processi HPC alloca esclusivamente tutti i nodi di questo elenco per eseguire l'attività.
/rerunnable[:{true|false}] Specifica se il servizio utilità di pianificazione processi HPC tenta di rieseguire l'attività se l'attività viene eseguita e ha esito negativo.

Un valore True indica che il servizio utilità di pianificazione processi HPC può tentare di rieseguire l'attività se l'attività viene annullata o se ha esito negativo a causa di un problema del cluster, ad esempio un nodo che diventa non raggiungibile. L'utilità di pianificazione del processo non tenta di rieseguire le attività eseguite fino al completamento e restituisce un oggetto con un codice di uscita non riuscito.

Il valore False indica che il servizio utilità di pianificazione processi HPC non deve tentare di rieseguire l'attività se l'attività inizia ma non viene completata a causa di problemi di preemption o cluster. È invece necessario spostare immediatamente l'attività nello stato di errore.

L'amministratore del cluster può configurare il numero di tentativi di rieseguire un'attività prima di spostare l'attività nello stato di errore.

Se non si specifica il parametro /rerunnable, il comando si comporta come se si specificasse un valore True.
/runtime:{<tempo>|Infinito} Specifica la quantità massima di tempo di esecuzione dell'attività. Dopo l'esecuzione dell'attività per questo periodo di tempo, il servizio utilità di pianificazione processi HPC annulla l'attività. Specificare la quantità di tempo in formato [[<giorni>:]<ore>:]<minuti>. È anche possibile specificare Infinite per indicare che l'attività può essere eseguita per un periodo di tempo illimitato.

Se si specifica solo una parte del formato<giorni [[>:]<ore>:]<minuti>, il comando interpreta il valore specificato come numero di minuti. Ad esempio, 12 indica 12 minuti. Se si specificano due parti del formato, il comando interpreta la parte sinistra come ore e la parte destra come minuti. Ad esempio, 10:30 indica 10 ore e 30 minuti.

È possibile usare una o più cifre per ogni parte del formato. Il valore massimo per ogni parte è 2.147.483.647. Se non si specifica il parametro /runtime, il valore predefinito è Infinite.
/scheduler: nome<> Specifica il nome host o l'indirizzo IP del nodo head per il cluster che contiene il processo a cui si vuole aggiungere l'attività. Il valore deve essere un nome computer o un indirizzo IP valido. Se non si specifica il parametro /scheduler, questo comando usa l'utilità di pianificazione nel nodo head specificata dalla variabile di ambiente CCP_SCHEDULER.
/stderr:[ percorso<>\]<file_name> Specifica il nome del file a cui l'attività deve reindirizzare il flusso di errore standard, incluso il percorso completo o il percorso relativo alla directory di lavoro per il file se l'attività non deve reindirizzare il flusso di errore standard a un file nella directory di lavoro. Se si specifica un percorso che non esiste, l'attività ha esito negativo.

Se non si specifica il parametro /stderr , l'attività archivia fino a 4 kilobyte (KB) di dati nel database per il servizio utilità di pianificazione processi HPC specificato dalla proprietà output per l'attività. Qualsiasi output superiore a 4 KB viene perso.

La lunghezza massima del valore per questo parametro è di 160 caratteri.
/stdin:[ percorso<>\]<file_name> Specifica il nome del file da cui l'attività deve ricevere l'input standard, incluso il percorso completo o il percorso relativo alla directory di lavoro per il file se l'attività non deve ricevere input standard da un file nella directory di lavoro. Se si specifica un file o un percorso che non esiste, l'attività ha esito negativo.

La lunghezza massima del valore per questo parametro è di 160 caratteri.
/stdout:[ percorso<>\]<file_name> Specifica il nome del file a cui l'attività deve reindirizzare l'output standard, incluso il percorso completo o il percorso relativo alla directory di lavoro per il file se l'attività non deve reindirizzare l'output standard a un file nella directory di lavoro. Se si specifica un percorso che non esiste, l'attività ha esito negativo.

Se non si specifica il parametro /stdout , l'attività archivia fino a 4 kilobyte (KB) di dati nel database per il servizio utilità di pianificazione processi HPC specificata dalla proprietà output per l'attività. Qualsiasi output superiore a 4 KB viene perso.

La lunghezza massima del valore per questo parametro è di 160 caratteri.
/taskfile: percorso<>\<file_name> Specifica il nome di un file XML dell'attività da cui leggere le impostazioni per l'attività, incluso il percorso completo o relativo del file se il file non si trova nella directory corrente. È necessario specificare un file XML dell'attività per il parametro /taskfile che include un valore per l'attributo CommandLine oppure specificare un comando o un nome dell'applicazione e parametri facoltativi.
/type:<type_name> Specifica un tipo per l'attività, che definisce come eseguire il comando per l'attività. Di seguito sono riportati i tipi che è possibile specificare:

Basico-
Esegue una singola istanza di un'applicazione seriale o di un'applicazione MPI (Message Passing Interface). Un'applicazione MPI viene in genere eseguita simultaneamente su più core e può estendersi su più nodi.

NodePrep -
Esegue un comando o uno script in ogni nodo di calcolo allocato al processo. L'attività Preparazione nodo viene eseguita in un nodo prima di qualsiasi altra attività nel processo. Se l'attività Preparazione nodo non viene eseguita in un nodo, tale nodo non viene aggiunto al processo.

NodeRelease -
Esegue un comando o uno script in ogni nodo di calcolo man mano che viene rilasciato dal processo. Le attività di rilascio del nodo vengono eseguite quando il processo viene annullato dall'utente o da una normale precedenza. Le attività di rilascio del nodo non vengono eseguite quando il processo viene annullato da una precedenza immediata.Node Release tasks do not run when the job is canceled by immediate preemption.

ParametricSweep -
uns a command un numero specificato di volte come indicato dai valori Start, End e Increment, in genere nei file di input e output indicizzati. I passaggi dello sweep possono o non essere eseguiti in parallelo, a seconda delle risorse disponibili nel cluster HPC quando l'attività è in esecuzione. Quando si specifica il tipo ParametricSweep, è necessario usare il parametro /parametric per specificare i valori di inizio, fine e incremento per l'indice. Se non si usa parametro /parametric, il comando viene eseguito una sola volta con un indice di 0.

Servizio-
Esegue un comando o un servizio in tutte le risorse assegnate al processo. Le nuove istanze del comando iniziano quando le nuove risorse vengono aggiunte al processo oppure se un'istanza in esecuzione in precedenza viene chiusa e la risorsa usata dall'istanza precedentemente in esecuzione viene allocata al processo. Un'attività del servizio continua ad avviare nuove istanze fino a quando l'attività non viene annullata, il tempo di esecuzione massimo scade o viene raggiunto il numero massimo di istanze. Un'attività del servizio può creare fino a 1.000.000 sottoattività. Le attività inviate tramite un client SOA (Service-Oriented Architecture) vengono eseguite come attività del servizio. Non è possibile aggiungere un'attività di base o un'attività sweep parametrica a un processo che contiene un'attività di servizio.

Il valore predefinito per questo parametro è Basic, a meno che non si specifichi anche il parametro
/parametric . Se si specifica il parametro /parametric , il valore predefinito del parametro /type è ParametricSweep.

Se si specifica il parametro /type con un valore diverso da ParametricSweep, non è possibile specificare anche il parametro /parametric.

Questo parametro è stato introdotto in HPC Pack 2008 R2 e non è disponibile nelle versioni precedenti.
/validexitcodes:{<int>|<intStart>..<intEnd>}[,{<int>|<intStart>..<intEnd>}]* Specifica i codici di uscita delle attività validi da utilizzare per verificare se un'attività viene chiusa correttamente. /validexitcodes devono essere specificati da interi discreti e intervalli interi separati da virgole.

min e max può essere utilizzato come inizio o fine di un intervallo. Ad esempio, 0..max rappresenta tutti gli interi non negativi.

Se non è definito, /validexitcodes eredita il valore dal parametro /validexitcode s del processo. Se nessuno dei due è definito, il valore predefinito è 0. Nota: Questo parametro è stato introdotto in HPC Pack 2012 e non è supportato nelle versioni precedenti.
/workdir:<cartella> Specifica la directory di lavoro in cui deve essere eseguita l'attività.

La lunghezza massima del valore per questo parametro è di 160 caratteri.
<comando> [ parametri<>] Specifica la riga di comando per l'attività, inclusi il comando o il nome dell'applicazione ed eventuali parametri necessari.

A meno che non sia definito all'interno di un /taskfile file XML dell'attività, è necessario aggiungere un comando per l'attività. Il comando verrà eseguito in relazione alla directory di lavoro, a meno che non contenga un percorso completo.
/? Visualizza la Guida al prompt dei comandi.
/help Visualizza la Guida al prompt dei comandi.

Osservazioni:

  • È possibile aggiungere attività ai processi che non sono ancora stati inviati, processi inviati e attualmente in attesa nella coda, processi già in esecuzione o processi non riusciti o annullati.

  • Non è possibile aggiungere attività a un processo completato.

  • Quando si aggiunge un'attività a un processo in attesa nella coda o in esecuzione e le risorse allocate dal servizio utilità di pianificazione processi HPC al processo sono disponibili, l'attività inizia a essere eseguita.

  • A partire da Microsoft HPC Pack 2008 R2, è possibile specificare che gli asterischi (*) nella riga di comando per un'attività parametrica non devono essere sostituiti con il valore corrente dell'indice parametrico precedendo l'asterisco con tre caratteri di inserimento (^). Ad esempio, se si usa il comando processo add per creare un'attività parametrica e si specifica la riga di comando come echo *, l'attività stampa i valori dell'indice parametrico. Se invece si usa il comando processo add per creare un'attività parametrica e si specifica la riga di comando come echo ^^^*, l'attività stampa un asterisco per ogni valore dell'indice parametrico.

Esempi

Per aggiungere una nuova attività denominata My Task al processo con un identificatore di processo di 39, che esegue il programma hostname.exe, dispone di una directory di lavoro di \\headnode\output share e reindirizza l'output standard a un file denominato hostname.out nella directory di lavoro, usare il comando seguente:

job add 39 /name:"My Task" /workdir:\\headnode\output share /stdout:"hostname.out" hostname.exe  

Per aggiungere un'attività di preparazione del nuovo nodo al processo con un identificatore di processo di 47 che esegue il comando ver , digitare:

job add 47 /type:NodePrep ver  

Per aggiungere una nuova attività parametrica denominata Sweep Task al processo con un identificatore di processo di 25, che esegue una serie di comandi echo * per un indice che inizia a 10 e aumenta di 2 fino a quando l'indice raggiunge 100 e che reindirizza l'output standard a una serie di file in \\headnode\output share\sweepstep*.out, usare il comando seguente:

job add 25 /name:"Sweep Task" /parametric:10-100:2 /stdout:\\headnode\output share\sweepstep*.out echo *  

L'esempio precedente esegue ognuna delle righe di comando seguenti in modo indipendente:

echo 10  
echo 12  
echo 14  
...  
echo 98  
echo 100  

Questo sweep parametrico crea i file seguenti nella directory condivisa \\headnode\output:

  • sweepstep10.out

  • sweepstep12.out

  • ...

  • sweepstep100.out

Lo sweep parametrico crea 45 file in tutti, ognuno dei quali contiene il relativo indice
numero.

Per creare un nuovo processo, aggiungere un'attività al processo e quindi inviare il processo, eseguire un file batch che include il comando seguente, che usa il comando per comando per ottenere l'identificatore del nuovo processo:

for /f "usebackq tokens=4 delims=. " %%i in (`job new`) do (  
job add %%i echo Hello World  
job submit /id:%%i  
)  

Riferimenti aggiuntivi