FAQ > Performance Tuning: CPU Bound vs. I/O Bound

Performance Tuning: CPU Bound vs. I/O Bound

Article #: Product: Version:

Summary

An important step in analyzing the performance of your DMExpress tasks is determining whether the task is CPU bound or I/O bound:

Observing the elapsed vs. CPU time in the DMExpress statistics can provide insight into where your task is bound and how you might improve the performance of your task.

Symptom

Tasks are taking longer than expected to run.

Resolution

The most straightforward way to determine whether a task is I/O bound or CPU bound is to compare the elapsed time of the task with the CPU time of the task. These values can be found in the DMExpress statistics. For example:

Here we can see that this task took roughly 1 minute of elapsed time and 3 minutes of CPU time. The CPU time shown is the aggregate of all CPUs utilized, so the CPU time being a little over 3 times that of the elapsed time implies that the task used about 3 CPUs, thereby parallelizing 3 minutes of processing time into 1 minute of elapsed time.

Additional Information

To find the DMExpress statistics for MapReduce jobs, see Finding DMExpress Hadoop Logs on MRv1 or Finding DMExpress Hadoop Logs on YARN (MRv2).

Last updated: