cancel
Showing results for 
Search instead for 
Did you mean: 

TP Core Usage

leguan
New Contributor II

Hello Everyone, 

I would like to ask how to make TP use all cores/taskSets to which the TP binds.  I have a TP has 4 taskSets, but only one of the four is working at this moment, reaching to a very high cpu usage  (99.8%) while the rest 3 are all in ideal(0.0%). This results to the TP fails consume all data in time from upstream data-feeder. But the way, the TP works in batching mode(pubs in every 100ms) with "multi-pub" set to false.

thank you all!

leguan,

1 ACCEPTED SOLUTION

rocuinneagain
Contributor
Contributor

The traditional tick.q is a single threaded process but there are many areas you can investigate to ensure performance is at it's best:

  • Use taskset to ensure other processes are not using the same core/recourses as the TP 
  • As the TP persists data to a log file ensuring that you have evaluated your hardware configuration is important to validate that your storage disk is not bottlenecking your system
  • Chained tickerplants can be used to balance the flow of data in a system, particularly when there are many subscribers
  • Async broadcast can be used to optimise publishing the same data to multiple subscribers
  • Ensure the system is setup to follow best practices outlined in Linux production notes
  • Use Unix domain sockets when opening connections on localhost to reduce CPU usage
  • Unix domain sockets are also available from C feedhandlers
  • Whitepaper on Kdb+ tick profiling 

KX Platform:

View solution in original post

2 REPLIES 2

rocuinneagain
Contributor
Contributor

The traditional tick.q is a single threaded process but there are many areas you can investigate to ensure performance is at it's best:

  • Use taskset to ensure other processes are not using the same core/recourses as the TP 
  • As the TP persists data to a log file ensuring that you have evaluated your hardware configuration is important to validate that your storage disk is not bottlenecking your system
  • Chained tickerplants can be used to balance the flow of data in a system, particularly when there are many subscribers
  • Async broadcast can be used to optimise publishing the same data to multiple subscribers
  • Ensure the system is setup to follow best practices outlined in Linux production notes
  • Use Unix domain sockets when opening connections on localhost to reduce CPU usage
  • Unix domain sockets are also available from C feedhandlers
  • Whitepaper on Kdb+ tick profiling 

KX Platform:

View solution in original post

leguan
New Contributor II

Hello  Ruiconneagain, thank you for detailed response!