Skip to content

Spot Score is always the same value (3) ?

0

We are currently integrating the GetSpotPlacementScores API (using Go SDK v2) into our application to optimize Spot Instance selection. We are observing a consistent Spot Placement Score of 3 across a wide range of current-generation x86_64 and arm64 instance types in us-west-2a and us-west-2b Availability Zones, even when querying for a TargetCapacity of 1 vCPU.

This consistent low score is concerning as it suggests a very low likelihood of successfully provisioning Spot capacity, which seems unusual given the diversity of instance types being evaluated.

Below is a sample of our test output, showing the consistent score of 3 for various viable Spot instance candidates:

DEBUG: Top 10 cheapest viable Spot instance candidates (MinMemoryMB: 512, CpuType: arm64):
  1. InstanceType: t4g.nano, SpotPrice: 0.001800, AZ: us-west-2a, Subnet: subnet-088622121ab34bfa3, Memory: 512 MiB, CPU: arm64, Spot Score: 3
  2. InstanceType: t4g.nano, SpotPrice: 0.002200, AZ: us-west-2b, Subnet: subnet-0cbf8dcfe316e1b49, Memory: 512 MiB, CPU: arm64, Spot Score: 3
  3. InstanceType: t4g.micro, SpotPrice: 0.003500, AZ: us-west-2a, Subnet: subnet-088622121ab34bfa3, Memory: 1024 MiB, CPU: arm64, Spot Score: 3
  4. InstanceType: t4g.micro, SpotPrice: 0.003600, AZ: us-west-2b, Subnet: subnet-0cbf8dcfe316e1b49, Memory: 1024 MiB, CPU: arm64, Spot Score: 3
  5. InstanceType: t4g.small, SpotPrice: 0.008100, AZ: us-west-2b, Subnet: subnet-0cbf8dcfe316e1b49, Memory: 2048 MiB, CPU: arm64, Spot Score: 3
  6. InstanceType: t4g.small, SpotPrice: 0.008800, AZ: us-west-2a, Subnet: subnet-088622121ab34bfa3, Memory: 2048 MiB, CPU: arm64, Spot Score: 3
  7. InstanceType: c6g.medium, SpotPrice: 0.014300, AZ: us-west-2b, Subnet: subnet-0cbf8dcfe316e1b49, Memory: 2048 MiB, CPU: arm64, Spot Score: 3
  8. InstanceType: c6g.medium, SpotPrice: 0.014600, AZ: us-west-2a, Subnet: subnet-088622121ab34bfa3, Memory: 2048 MiB, CPU: arm64, Spot Score: 3
  9. InstanceType: c7g.medium, SpotPrice: 0.014800, AZ: us-west-2b, Subnet: subnet-0cbf8dcfe316e1b49, Memory: 2048 MiB, CPU: arm64, Spot Score: 3
  10. InstanceType: c7g.medium, SpotPrice: 0.014900, AZ: us-west-2b, Subnet: subnet-0cbf8dcfe316e1b49, Memory: 2048 MiB, CPU: arm64, Spot Score: 3

We have also performed an "unfiltered" query (not shown here, but similar results) across all current-generation x86_64 and arm64 instance types in these AZs, and still observe they all return "3".

Could you please provide insight into:

  1. Why are we consistently receiving a Spot Placement Score of 3 for a wide range of instance types in us-west-2a and us-west-2b?
  2. What specific factors might be contributing to this exact low score, even with a TargetCapacity of 1 vCPU?
  3. Are there any known issues or specific configurations in us-west-2 that might lead to such consistent low scores?
  4. What recommendations do you have for interpreting and improving these scores in our specific context?

Any guidance on how to achieve more differentiated and potentially higher Spot Placement Scores would be greatly appreciated.

asked a month ago74 views
2 Answers
1

The consistent Spot Placement Score of 3 across different instance types and Availability Zones is not a system error but reflects the current likelihood of fulfilling your Spot capacity request in those specific locations at the time of your query.

Spot Placement Scores are calculated on a scale from 1 to 10, with 10 indicating a high likelihood of success and 1 indicating a very low likelihood. A score of 3 suggests a relatively low probability of successfully provisioning your requested Spot capacity in those specific Availability Zones at that particular moment.

Several factors could be contributing to this consistent low score:

  1. Current Spot capacity conditions: The score is based on the historical and current Spot usage trends in those Availability Zones. A score of 3 suggests that there might be limited available Spot capacity in us-west-2a and us-west-2b at the time of your request.

  2. Time-based fluctuations: Spot capacity fluctuates constantly. The same Spot placement score request can yield different scores when calculated at different times. Your score of 3 represents a point-in-time assessment.

  3. Regional capacity constraints: There might be higher demand for Spot Instances in the us-west-2 region compared to other regions, resulting in consistently lower scores across multiple instance types.

To improve your Spot Placement Scores and increase the likelihood of successful Spot capacity provisioning:

  1. Expand your regional flexibility: Consider querying for Spot Placement Scores across multiple AWS regions, not just us-west-2. Different regions may have significantly different scores.

  2. Try different times: Request Spot placement scores at different times of the day, as capacity fluctuates based on demand patterns.

  3. Increase instance type flexibility: While you're already evaluating multiple instance types, ensure you're considering a wide range of instance families that meet your workload requirements.

  4. Consider using the capacity-optimized allocation strategy: The Spot Placement Score assumes the use of the capacity-optimized allocation strategy. Ensure you're using this strategy when requesting Spot Instances.

  5. Request scores for Regions rather than specific AZs: If your application can run in any AZ within a region, requesting scores at the Region level (which assumes all AZs can be used) might yield better results.

Remember that Spot Placement Scores are recommendations and not guarantees. Even with a low score, you might still successfully provision Spot capacity, and conversely, a high score doesn't guarantee availability.
Sources
GetSpotPlacementScores - Amazon Elastic Compute Cloud
How Spot placement score works - Amazon Elastic Compute Cloud
Best practices for Amazon EC2 Spot - Amazon Elastic Compute Cloud
SpotPlacementScore - Amazon Elastic Compute Cloud

answered a month ago
-1

Thank you for reaching out regarding the consistent Spot Placement Score of 3 across your instance types.

While Spot Placement Scores can sometimes show similar values across multiple instance types due to factors such as:

  • Current Spot capacity conditions in specific Availability Zones
  • Regional demand patterns at the time of the query
  • Time-based capacity fluctuations
  • The specific API request parameters being used
  • Consistently receiving identical scores across all instance types and AZs may warrant deeper investigation into your specific configuration and API request structure.

For more targeted assistance with your specific use case, I recommend reaching out to AWS Support, who can review your account, API calls, and provide personalised guidance based on your exact implementation and requirements.

AWS
answered a month ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.