intel / QAT_Engine

Intel QuickAssist Technology( QAT) OpenSSL Engine (an OpenSSL Plug-In Engine) which provides cryptographic acceleration for both hardware and optimized software using Intel QuickAssist Technology enabled Intel platforms. https://developer.intel.com/quickassist
BSD 3-Clause "New" or "Revised" License
408 stars 128 forks source link

Issue about asynch_mode_nginx, duplicated #89

Open jiavictor opened 6 years ago

jiavictor commented 6 years ago

Hello team,

I had created an issue about asynch_mode_nginx: https://github.com/intel/asynch_mode_nginx/issues/2

And no response for nealy a week.

So I open an issue here. Sorry for the duplicated.

paulturx commented 6 years ago

Hi jiavictor Please refer to the readme.md for a brief explanation of heuristic polling. We can expand on this explanation if you require more detail. Internal polling is not explicitly explained in the readme.md file: it comprises a separate pthread which is created internally by the QAT engine code - unlike external polling where it is the application's responsibility to use the POLL message to check for messages that have been returned from the hardware accelerator. The internal polling pthread periodically checks for messages returned from the accelerator at a cadence which is set by the SET_INTERNAL_POLL_INTERVAL engine message, an explanation of which can be found in the readme. Regarding efficiency of one polling method over the other, the internal polling method lacks the feedback control of the number of requests in flight that the heuristic polling method has, the only control being the polling interval set by an engine message, and so I would expect that the internal polling method would be less efficient in low traffic conditions, this efficiency exacerbated by a poll interval set too low, meaning that polling is being done at too high a frequency for the traffic rate. Hope this helps. Do not hesitate if you have further questions or require a more detailed response.

Regards, Paul Turner

jiavictor commented 6 years ago

Hello @paulturx Thank you for your information. It is very helpful for understanding how the engine works with different modes. My thread of https://github.com/intel/asynch_mode_nginx/issues/2 also has some replies, so I will do some testing.

Thanks again.