Node Provisioning Strategy
SOCA does support multiple type of node provisioning:
On-Demand Instance | AlwaysOn Instance | AlwaysOn Terminate-When-Idle Instance | |
---|---|---|---|
Cost Optimization | Best (Node exist only during the time of the job) | Low (Node exist even if there is no job) | Ok (Node will be automatically terminated if idle) |
Capacity Provisioning | Automatic | Manual | Manual |
Capacity Termination | Automatic | Manual | Automatic |
Average Job Start Time | ~5 minutes (can be reduced to 1 minute with SOCA Optimized AMI) | < 1 minute | < 1 minute |
On-Demand Instance¶
Once you submit a job, SOCA will calculate the compute/storage resources and provision the right number of EC2 instance to run your jobs. This mode is cost-effective as you don't pay for EC2 capacity unless you have jobs in the queue. However, you usually will see a startup cold time of ~5 minutes, which is the time needed for SOCA to provision and configure the capacity provisioned on AWS.
Capacity provisioning and termination are managed automatically by SOCA.
You can reduce this cold-start time by creating SOCA Optimized AMIs
Note
On-Demand provisioning is the default provisioning mode on SOCA
AlwaysOn Instance¶
AlwaysOn instances are a pool of machine running 24/7 and ready to execute jobs as soon as they are queued. There is no cold-start penalty as the capacity is already available. However, this mode may incur additional costs as capacity is available even if there is no job in the queue.
Capacity provisioning and termination are managed manually.
Click here to learn more about Always-On instance
AlwaysOn Terminate-When-Idle Instance¶
AlwaysOn with Terminate-When-Idle instance is the same as AlwaysOn instance except the capacity is automatically deleted if no jobs have been running on them for a specific amount of time. For example, you can automatically terminate a node if this node has not served any job for 30 minutes.
Capacity provisioning is managed manually and termination is automatically managed by SOCA.
Click here to learn more about AlwaysOn Terminate-When-Idle instance