Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4e47efe

Browse files
R2024a release!
1 parent 5bff782 commit 4e47efe

File tree

9 files changed

+1134
-6
lines changed

9 files changed

+1134
-6
lines changed

‎README.md‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,22 @@ If you already have an Azure account set up and ready to use, you can start a MA
105105

106106
To learn about setting quotas, see [Azure subscription and service limits](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits).
107107

108+
### What is an Azure Spot Virtual Machine, and what factors should I consider before enabling it?
109+
110+
Spot Virtual Machines allow you to use Azure VMs at a reduced cost. Azure uses Spot Virtual Machines to sell unused instances within their data centers. However, Azure can reclaim these Virtual Machines at any time. For more details, see the Azure documentation on [Spot Virtual Machines](https://azure.microsoft.com/products/virtual-machines/spot).
111+
112+
Before enabling Spot Virtual Machines, consider these aspects:
113+
114+
* Pricing: Spot Virtual Machines offer discounts compared to On-Demand Virtual Machines. The actual discount depends on the available unused capacity of the Virtual Machines within the Availability Zone (AZ). For more details, refer to the [Azure documentation](https://azure.microsoft.com/pricing/details/virtual-machines/linux/).
115+
116+
* Behavior of your cluster when Azure reclaims a Spot Virtual Machine: Spot Virtual Machines are used only for the worker nodes, whereas the head node always uses an On-Demand Virtual Machine. This is to ensure that you do not lose any user job and task information when an Virtual Machine is reclaimed by Azure. If a spot Virtual Machine for a worker is interrupted when it is running a task, the task is marked as failed. Jobs in the queue are run when a new worker instance is available. For more information, refer to [How Parallel Computing Toolbox Runs a Job](https://www.mathworks.com/help/parallel-computing/how-parallel-computing-products-run-a-job.html).
117+
118+
* The following VM sizes are not supported for Azure Spot Virtual Machines:
119+
* B-series
120+
* Promo versions of any size (like Dv2, NV, NC, H promo sizes)
121+
122+
For more information about the limitations of using Spot Virtual Machines, refer to [Azure Spot Virtual Machines for Virtual Machine Scale Sets](https://learn.microsoft.com/azure/virtual-machine-scale-sets/use-spot).
123+
108124
# Technical Support
109125
If you require assistance or have a request for additional features or capabilities, contact [MathWorks Technical Support](https://www.mathworks.com/support/contact_us.html).
110126

‎releases/R2024a/README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Clicking the **Deploy to Azure** button opens the "Custom deployment" page in yo
2626
| **Num Workers Per Node** | Number of MATLAB worker processes to start on each Virtual Machine (VM). Specify 1 worker for every 2 vCPUs, because this results in 1 worker per physical core. For example, a Standard_D64s_v3 VM has 64 vCPUs, so can support 32 MATLAB workers. See https://learn.microsoft.com/azure/virtual-machines/sizes for details on vCPUs for each VM size. |
2727
| **Head Node Vm Size** | Azure VM size to use for the headnode, which runs the job manager. No workers are started on this node, so this can be a smaller VM type than the worker nodes. By default, the heap memory for the job manager is set between 1024 MiB and a maximum of half of the VM memory, depending on the total number of MATLAB workers. See https://learn.microsoft.com/azure/virtual-machines/sizes for a list of VMs. |
2828
| **Worker Vm Size** | Azure VM size to use for the workers. By default, the heap memory for all worker process is set between 1024 MiB and a maximum of a quarter of the VM memory, depending on the number of MATLAB workers on the VM. See https://learn.microsoft.com/azure/virtual-machines/sizes for a list of VMs. |
29+
| **Use Spot Instances For Worker Nodes** | Option indicating whether to enable Azure Spot Virtual Machines for worker nodes. For more information, refer to the FAQ section in the deployment README. |
2930
| **Database Volume Size** | Size in GB of the volume to store the database files. All job and task information, including input and output data is stored on this volume and should therefore have enough capacity to store the expected amount of data. If set to 0, no volume is created and the root volume of the VM is used for the database. |
3031
| **Client IP Address** | IP address range that can be used to access the cluster from MATLAB. This must be a valid IP CIDR range of the form x.x.x.x/x. Use the value <your_public_ip_address>/32 to restrict access to only your computer. |
3132
| **Admin Username** | Admin username for the cluster. To avoid any deployment errors, check the list of [disallowed values](https://learn.microsoft.com/rest/api/compute/virtual-machines/create-or-update?tabs=HTTP#osprofile) for adminUsername. |

‎releases/R2024a/azuredeploy-R2024a-test.json‎

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@
7979
"description": "Azure VM size to use for the workers. By default, the heap memory for all worker process is set between 1024 MiB and a maximum of a quarter of the VM memory, depending on the number of MATLAB workers on the VM. See https://learn.microsoft.com/azure/virtual-machines/sizes for a list of VMs."
8080
}
8181
},
82+
"useSpotInstancesForWorkerNodes": {
83+
"defaultValue": "No",
84+
"type": "string",
85+
"allowedValues": [
86+
"Yes",
87+
"No"
88+
],
89+
"metadata": {
90+
"description": "Option indicating whether to enable Azure Spot Virtual Machines for worker nodes. For more information, refer to the FAQ section in the deployment README."
91+
}
92+
},
8293
"databaseVolumeSize": {
8394
"type": "Int",
8495
"defaultValue": 100,
@@ -229,7 +240,8 @@
229240
"[concat('$Env:MaxNodes=', parameters('maxWorkerNodes'))]"
230241
],
231242
"startupParametersWorker": [
232-
"$Env:NodeType='worker'"
243+
"$Env:NodeType='worker'",
244+
"[concat('$Env:USE_SPOT_INSTANCE=\"', parameters('UseSpotInstancesForWorkerNodes'), '\"')]"
233245
],
234246
"autoscalingRoleName": "[guid(resourceGroup().id, 'autoscaling-role')]",
235247
"privateIPAddressForNodes": "[concat(variables('headnodeMachineName'), variables('networkInterfacePostfix'))]",
@@ -518,7 +530,18 @@
518530
"upgradepolicy": {
519531
"mode": "Automatic"
520532
},
533+
"singlePlacementGroup": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), bool('true'), json('null'))]",
521534
"virtualMachineProfile": {
535+
"priority": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), 'Spot', 'Regular')]",
536+
"evictionPolicy": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), 'Delete', json('null'))]",
537+
"billingProfile": {
538+
"maxPrice": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), -1, json('null'))]"
539+
},
540+
"scheduledEventsProfile": {
541+
"terminateNotificationProfile": {
542+
"enable": true
543+
}
544+
},
522545
"osProfile": {
523546
"computerNamePrefix": "[variables('vmssName')]",
524547
"AdminUsername": "[parameters('adminUsername')]",

‎releases/R2024a/azuredeploy-R2024a.json‎

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@
6161
"description": "Azure VM size to use for the workers. By default, the heap memory for all worker process is set between 1024 MiB and a maximum of a quarter of the VM memory, depending on the number of MATLAB workers on the VM. See https://learn.microsoft.com/azure/virtual-machines/sizes for a list of VMs."
6262
}
6363
},
64+
"useSpotInstancesForWorkerNodes": {
65+
"defaultValue": "No",
66+
"type": "string",
67+
"allowedValues": [
68+
"Yes",
69+
"No"
70+
],
71+
"metadata": {
72+
"description": "Option indicating whether to enable Azure Spot Virtual Machines for worker nodes. For more information, refer to the FAQ section in the deployment README."
73+
}
74+
},
6475
"databaseVolumeSize": {
6576
"type": "Int",
6677
"defaultValue": 100,
@@ -160,7 +171,7 @@
160171
"publisher": "mathworks-inc",
161172
"offer": "matlab-parallel-server-ref-arch-vm-win-offer",
162173
"sku": "matlab-parallel-server-ref-arch-r2024a-vm-win-sku",
163-
"version": "1.0.0",
174+
"version": "latest",
164175
"imageReference": {
165176
"publisher": "[variables('publisher')]",
166177
"offer": "[variables('offer')]",
@@ -237,7 +248,8 @@
237248
"[concat('$Env:MaxNodes=', parameters('maxWorkerNodes'))]"
238249
],
239250
"startupParametersWorker": [
240-
"$Env:NodeType='worker'"
251+
"$Env:NodeType='worker'",
252+
"[concat('$Env:USE_SPOT_INSTANCE=\"', parameters('UseSpotInstancesForWorkerNodes'), '\"')]"
241253
],
242254
"autoscalingRoleName": "[guid(resourceGroup().id, 'autoscaling-role')]",
243255
"privateIPAddressForNodes": "[concat(variables('headnodeMachineName'), variables('networkInterfacePostfix'))]",
@@ -510,7 +522,18 @@
510522
"upgradepolicy": {
511523
"mode": "Automatic"
512524
},
525+
"singlePlacementGroup": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), bool('true'), json('null'))]",
513526
"virtualMachineProfile": {
527+
"priority": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), 'Spot', 'Regular')]",
528+
"evictionPolicy": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), 'Delete', json('null'))]",
529+
"billingProfile": {
530+
"maxPrice": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), -1, json('null'))]"
531+
},
532+
"scheduledEventsProfile": {
533+
"terminateNotificationProfile": {
534+
"enable": true
535+
}
536+
},
514537
"osProfile": {
515538
"computerNamePrefix": "[variables('vmssName')]",
516539
"AdminUsername": "[parameters('adminUsername')]",

‎releases/R2024a/azuredeploy-existing-vnet-R2024a-test.json‎

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@
7979
"description": "Azure VM size to use for the workers. By default, the heap memory for all worker process is set between 1024 MiB and a maximum of a quarter of the VM memory, depending on the number of MATLAB workers on the VM. See https://learn.microsoft.com/azure/virtual-machines/sizes for a list of VMs."
8080
}
8181
},
82+
"useSpotInstancesForWorkerNodes": {
83+
"defaultValue": "No",
84+
"type": "string",
85+
"allowedValues": [
86+
"Yes",
87+
"No"
88+
],
89+
"metadata": {
90+
"description": "Option indicating whether to enable Azure Spot Virtual Machines for worker nodes. For more information, refer to the FAQ section in the deployment README."
91+
}
92+
},
8293
"databaseVolumeSize": {
8394
"type": "Int",
8495
"defaultValue": 100,
@@ -242,7 +253,8 @@
242253
"[concat('$Env:MaxNodes=', parameters('maxWorkerNodes'))]"
243254
],
244255
"startupParametersWorker": [
245-
"$Env:NodeType='worker'"
256+
"$Env:NodeType='worker'",
257+
"[concat('$Env:USE_SPOT_INSTANCE=\"', parameters('UseSpotInstancesForWorkerNodes'), '\"')]"
246258
],
247259
"autoscalingRoleName": "[guid(resourceGroup().id, 'autoscaling-role')]",
248260
"privateIPAddressForNodes": "[concat(variables('headnodeMachineName'), variables('networkInterfacePostfix'))]",
@@ -531,7 +543,18 @@
531543
"upgradepolicy": {
532544
"mode": "Automatic"
533545
},
546+
"singlePlacementGroup": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), bool('true'), json('null'))]",
534547
"virtualMachineProfile": {
548+
"priority": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), 'Spot', 'Regular')]",
549+
"evictionPolicy": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), 'Delete', json('null'))]",
550+
"billingProfile": {
551+
"maxPrice": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), -1, json('null'))]"
552+
},
553+
"scheduledEventsProfile": {
554+
"terminateNotificationProfile": {
555+
"enable": true
556+
}
557+
},
535558
"osProfile": {
536559
"computerNamePrefix": "[variables('vmssName')]",
537560
"AdminUsername": "[parameters('adminUsername')]",

‎releases/R2024a/azuredeploy-existing-vnet-R2024a.json‎

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@
6161
"description": "Azure VM size to use for the workers. By default, the heap memory for all worker process is set between 1024 MiB and a maximum of a quarter of the VM memory, depending on the number of MATLAB workers on the VM. See https://learn.microsoft.com/azure/virtual-machines/sizes for a list of VMs."
6262
}
6363
},
64+
"useSpotInstancesForWorkerNodes": {
65+
"defaultValue": "No",
66+
"type": "string",
67+
"allowedValues": [
68+
"Yes",
69+
"No"
70+
],
71+
"metadata": {
72+
"description": "Option indicating whether to enable Azure Spot Virtual Machines for worker nodes. For more information, refer to the FAQ section in the deployment README."
73+
}
74+
},
6475
"databaseVolumeSize": {
6576
"type": "Int",
6677
"defaultValue": 100,
@@ -173,7 +184,7 @@
173184
"publisher": "mathworks-inc",
174185
"offer": "matlab-parallel-server-ref-arch-vm-win-offer",
175186
"sku": "matlab-parallel-server-ref-arch-r2024a-vm-win-sku",
176-
"version": "1.0.0",
187+
"version": "latest",
177188
"imageReference": {
178189
"publisher": "[variables('publisher')]",
179190
"offer": "[variables('offer')]",
@@ -250,7 +261,8 @@
250261
"[concat('$Env:MaxNodes=', parameters('maxWorkerNodes'))]"
251262
],
252263
"startupParametersWorker": [
253-
"$Env:NodeType='worker'"
264+
"$Env:NodeType='worker'",
265+
"[concat('$Env:USE_SPOT_INSTANCE=\"', parameters('UseSpotInstancesForWorkerNodes'), '\"')]"
254266
],
255267
"autoscalingRoleName": "[guid(resourceGroup().id, 'autoscaling-role')]",
256268
"privateIPAddressForNodes": "[concat(variables('headnodeMachineName'), variables('networkInterfacePostfix'))]",
@@ -523,7 +535,18 @@
523535
"upgradepolicy": {
524536
"mode": "Automatic"
525537
},
538+
"singlePlacementGroup": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), bool('true'), json('null'))]",
526539
"virtualMachineProfile": {
540+
"priority": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), 'Spot', 'Regular')]",
541+
"evictionPolicy": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), 'Delete', json('null'))]",
542+
"billingProfile": {
543+
"maxPrice": "[if(equals(parameters('useSpotInstancesForWorkerNodes'), 'Yes'), -1, json('null'))]"
544+
},
545+
"scheduledEventsProfile": {
546+
"terminateNotificationProfile": {
547+
"enable": true
548+
}
549+
},
527550
"osProfile": {
528551
"computerNamePrefix": "[variables('vmssName')]",
529552
"AdminUsername": "[parameters('adminUsername')]",

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /