Why are so many of my tasks pending?

Take a look at the number of running tasks for your application. If this number approximates the number of slots you believe your application is entitled to, it is likely that everything is fine. The reason that this number may not exactly match the entitled number of slots is because workload may be in fluctuation. You might catch the system while tasks are moving between states. This is especially likely if your tasks run in sub-second time.

Make sure that your session is not in the SUSPENDED state. If your session is in the SUSPENDED state, it will not be assigned resources on which to run workload. To allow your session to receive resources and run workload again, you must resume it.

Navigate to Symphony Workload > Monitor Workload in the cluster management console to check what state your session is in. To resume a suspended session, select Actions > Resume for your session. To resume multiple suspended sessions, select the sessions to resume and then choose Global Actions > Resume all selected sessions.

If you have created a new session and there is already an OPEN session that is using all of the resources for your application, it might take awhile for those resources to be re-distributed to your new session. This is normal behavior, but may be particularly noticeable with long-running tasks. This is because existing workload is not preempted to rebalance resources across sessions within the same application. A currently running task will run to completion. When the task has finished, the Session Manager's policy will decide which session deserves the resource.

There might be a problem starting your application's service. Refer to Why won't my service start? for more information.

IBM Spectrum Symphony Developer Edition

Symphony DE can block slots from your application. If a slot is blocked for your application, IBM® Spectrum Symphony Developer Edition cannot allocate that slot back to your application. You will have no resources or fewer resources than expected serving your application, more tasks will be in the PENDING state, and workload will complete at a slower rate.

To check for blocked slots and unblock slots for your application:
  1. Navigate to $SOAM_HOME/logs on Linux® or %SOAM_HOME%\logs on Windows.
  2. Open the ssm.hostname.appname.log file and search for WARN or ERROR messages regarding blocked hosts. If you find such a message, one or more slots may be blocked.
  3. To unblock the slots, you must disable and re-enable your application:
    1. In the cluster management console, navigate to Symphony Workload > Configure Applications.
    2. Disable your application by selecting Actions > Disable next to your application name.
    3. Enable your application again by selecting Actions > Enable next to your application name.

IBM Spectrum Symphony

Check that there are no blocked hosts for your application. If a host is blocked for your application, EGO cannot allocate that host back to your application until it is explicitly unblocked. If a host is blocked, you will have no resources or fewer resources than expected serving your application, more tasks will be in the PENDING state, and workload will complete at a slower rate. Refer to Why are there blocked hosts for my application? for more information.

Check to see that the number of slots allocated to your application is what you expect. To do this, navigate to the cluster management console Dashboard and look at the Compute Allocation in the SOA Workload table. If the compute allocation is not as expected, refer to Why is the number of resources allocated to my application less than what I expect?