Saturday 25 May 2019

SAP HANA system High CPU Utilization Caused by Multiple Threads in sse_icc_lib::mgetSearchi_SSE4impl

Tags


Symptom

You experience high CPU utilization. In kernel profiler trace or runteimdump you identify multiple threads in callstack:

sse_icc_lib::mgetSearchi_SSE4impl
sse_icc_lib::mgetSearchi_SSE4
TRexUtils::IndexVectorRef::mgetSearch
...
TRexUtils::JobParallelMgetSearch::run()
TRexUtils::Parallel::JobBase::runEx()
TRexUtils::Parallel::JobBase::run
...

or

sse_icc_lib::mgetSearchi_AVX2impl
sse_icc_lib::mgetSearchi_AVX2
TRexUtils::IndexVectorRef::mgetSearch
...
TRexUtils::JobParallelMgetSearch::run()'
TRexUtils::Parallel::JobBase::runEx()
TRexUtils::Parallel::JobBase::run
...

or

sse_icc_lib::mgetSearchi_AVX512impl
sse_icc_lib::mgetSearchi_AVX512
TRexUtils::IndexVectorRef::mgetSearch
...
TRexUtils::JobParallelMgetSearch::run()'
TRexUtils::Parallel::JobBase::runEx()
TRexUtils::Parallel::JobBase::run

Other Terms

SAP HANA, column store, high CPU, secondary index
Reason and Prerequisites

Reason:

Above callstack points to single attribute scan on a column store table.


Solution

This can be alleviated by creating a secondary index on the table and columns to be searched.

Creating the index will improve query performance significantly (factor 10 and more) and reduce CPU consumption, but will also increase memeory consumption as a concatenated attribute will be generated.




 More details : 2321573


EmoticonEmoticon

Note: only a member of this blog may post a comment.