nighthawk icon indicating copy to clipboard operation
nighthawk copied to clipboard

Use taskset/cpuset when starting processes

Open fktkrt opened this issue 5 years ago • 5 comments

Hi,

I've seen this task between the ones in the TODOs section. I am planning to experiment with this, but I have some initial questions:

  • Are there any ongoing experiment tackling this idea?
  • These would be environment (docker, binary) specific suggestions by default to parameters? A white paper listing the considerations might make sense in this case.
  • CPU throttling (quota, share) could be also an option?

fktkrt avatar Aug 23 '20 17:08 fktkrt

  • re: ongoing experiments I have been manually experimenting with this with just the binaries and a bare-metal machine tuned for latency, and through empirical observation I learned that using taskset reduces outliers in latency measurements. I haven't quantified it, but the difference was easy to spot in simple tests.
  • re: environment specific suggestions / whitepaper This would need work, but maybe a design-doc sounds like a great idea to get this started and get feedback.
  • re: quota and share IMHO those could surely be nice to have options

Tangentially related, the Nighthawk client also runs a main thread and a flush worker. In light of minimizing the noise floor, isolating these from the worker threads that synthesize load and perform latency measurements might make sense too. Recently https://github.com/envoyproxy/nighthawk/issues/441 was opened to track that, feedback/thoughts are welcome there.

oschaaf avatar Aug 24 '20 14:08 oschaaf

I asked around, and as far as I know, nobody is planning to work on this in the short term.

oschaaf avatar Aug 24 '20 22:08 oschaaf

Alright, I can start putting together a design-doc to get some feedback direction-wise. Where should I add this for the time being? Is there maybe a community drive/storage to host this?

fktkrt avatar Aug 25 '20 16:08 fktkrt

So far everyone has been using Google docs (shared public, allowing comments). Would that work for you?

/cc @dubious90 A community drive sounds like a great idea to me, as it allows better consolidation of history by untying it to specific accounts. What do you think, is that something we could/should pursue?

oschaaf avatar Aug 25 '20 17:08 oschaaf

(@fktkrt fyi: I assigned this issue to you, so others can see someone is working on this)

oschaaf avatar Aug 25 '20 17:08 oschaaf