Practically Speaking, How High Can I Go with AWTs per AMP Today?

The best minds from Teradata, our partners, and customers blog about relevant topics and features.
Teradata Employee

Not getting the throughput you would like from your platform? Thinking that a big increase in the number of AMP worker tasks (AWTs) per AMP is the solution?


Hold on a minute, and let's review the considerations and limitations on today's most current hardware offerings.


First, let's look at a few numbers:

  • 80 – Default number of AWTs/AMP
  • 50 – Default number of AWTs allowed to be active of the Work00 work type
  • 500 – Maximum Number of AWTs/AMP that can be defined


Note: The practical maximum number of AWTs/AMP is usually somewhere in the mid-200 to the high 300 range. This practical max is determined by Teradata support personnel. 500 AWTs/AMP is a placeholder for the future and is not a consideration for any platform today. Many sites today are still well served by using the default of 80 AWTs/AMP, especially when starting out. 80 as the default has been in place for over 30 years and remains a reasonable starting point.


In the last few years there are a greater number of sites that are increasing that number to 100 or 120, with a small number of platforms with AWTs/AMP above 200. Increasing AWTs/AMP above the default of 80 is particularly useful for sites that have taken some AWTs out of the unassigned pool for tactical reserves. However, the practical limit today remains in the 200s to 300s. Even if you are thinking very aggressively about the number of AWTs you think you need, think no higher than that.


How is the number AMPs related to number of AWTs/AMP?

There are two important numbers related to AMP worker tasks that influence activity levels on your nodes:

  1. Number of AWTs per AMP
  2. Number of AMPs per node

In the past, the number of AMPs assigned to a node in a configuration was fairly predictable, based on design center recommendations that were typically applied to all platforms using that node type. But that predictableness in terms of number of AMPs configured on a node is giving way to more flexibility in current hardware configurations.


Expectations of how high you can increase AWTs/AMP need to factor in the number of AMPs on your particular system, for the following reasons:


  • The SLES 11 operating system operates at the node level. The operating system schedules all the tasks active on the node for node-level resources, such as CPU and memory. All tasks on a node, no matter what AMP they originate from, are under the control of the same operating system instance and will compete with one another for resources on that node.


  • Too many active tasks on a node can add stress to the operating system and cause tasks to be swapped in and out more frequently, heating up competition for resources. That means when you are thinking about increasing AWTs, it is important to consider not just the number of AWTs/AMP, but also consider the number of AMPs/node. Both contribute to the active task count on the node.


How do I know if I need an increase in AWTs/AMP?

Guidelines for when to consider increasing AWTs have not changed much over the years. Here are the situations which might lead you to consider more AWTs/AMP:

  • There are spare resources that are currently not able to be consumed
  • AMP worker tasks appear to be the bottleneck
  • There is adequate memory to support more AWTs/AMP
  • Reserved AWTs are being used to support tactical workloads leaving fewer AWTs available for other work
  • Work01 (spawned work) cannot get AWTs when needed

The number of AMPs/node is something that also need to be factored in. If you have 60 AMPs per node, for example, an increase of 10 AWTs/AMP will allow 600 new tasks to be active on each node. Other the other hand, if you have 20 AMPs per node, increasing AWT by 10 only adds the potential for 200 new active tasks on the node, one third less.


The more AMPs, the greater number of tasks per node you will be allowing to run with each single step up in AWTs. Testing has shown that an increase in AWTs/AMP needs to be done more conservatively using more modest increases when the platform supports a very large number AMPs per node.


Additional recommendations

One other point I just have to make: Don't use an increase in AWTs as a substitute for sensible tuning. Throwing more AWTs at the AMPs is not the recommended way to address skewed processing, or poorly-designed applications, or even frequent AWT exhaustion. Consider smart use of workload management techniques to channel resources away from lower priority work and better divvy up the AWTs you currently have available. And just a reminder, increasing AWTs is not a viable solution for a system that is already fully-utilized. It won't provide better throughput and it could slow things down.


And be cautious in making any workload management modifications immediately after an increase in AWTs. Give the added AWTs a chance to support the completion of work that is already being allowed on the system before you decide to raise throttle limits and let more work in.


What steps do I take if I still want more AWTs?

Increasing AWTs/AMP is a software change, but it is not something that should be done without the guidance of Teradata Support personnel. Changing the number of AWTs per AMP can have a critical iimpact in overall performance and throughput on your system. Small, gradual changes are usually a better choice than big bold ones.


If you think you meet the conditions listed above, and you've taken the obvious tuning steps to better balance resource usage, the next thing to do is open an incident with the support center and seek their advice. Then follow their advice.




Thanks Carrie for this blog !

My question is as:  If My system CPU utilization in bussiness hour is almost 90-99% and we see lot of Flow Control activity in system then still it is good to consider in increse of AWTs in system ? 

considering 'Too many active tasks on a node can add stress to the operating system'.

Teradata Employee



Generally-speaking, if there are periods of the day when CPU is maxed out, and that is when you are in flow control, then adding more AWTs is not likely to improve throughput. It may reduce the flow control, but will also cause more tasks to be contending for CPU and that can actually slow throughput down somewhat when there are no more resources to give.


However, if you have any doubts, it is best to open an incident with the support center and they can take a look at your entire system and provide a more comprehensive response.


Thanks, -Carrie