Re: Parallel processing and APC synchronization.

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



On Feb 25, 10:56 pm, "boris" <somewh...@xxxxxxxxxxx> wrote:
You could use IO completion ports in conjuntion with thread pool. Advantage:
it's possible to specify max number of threads (from the pool) to be active
at same time - you probably don't want more than 1 thread per core or in
case of Nehalem (with hyper-threading enabled) 2 threads per core. If one of
active threads (from thread pool) begins waiting for i/o and there're some
active work requests for completion port, completion port will activate
another thread from thread pool - thus trying to keep all CPU cores busy.
In spite of its name, IO completion port isn't necessarily related to i/o..
New work items can be submitted to IO completion port via
PostQueuedCompletionStatus API.

Sounds promising. I'll investigate this API.
Thank you for pointing out.

Regards,
.



Relevant Pages

  • Re: Parallel processing and APC synchronization.
    ... You could use IO completion ports in conjuntion with thread pool. ... it's possible to specify max number of threads to be active at same time - you probably don't want more than 1 thread per core or in case of Nehalem 2 threads per core. ... active work requests for completion port, completion port will activate another thread from thread pool - thus trying to keep all CPU cores busy. ... IO completion port isn't necessarily related to i/o. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: [RFC v5 PATCH 0/8] CFS Hard limits - v5
    ... Maintain a global run-time pool for each tg. ... of refill is gated by the runtime being input into the system via the per-tg ... Task A runs on cpus 0 and 1 for 5ms each, ... integer core amounts are going to become quite small on large systems. ...
    (Linux-Kernel)
  • Re: Which problems do Completion Ports solve?
    ... process asynchronous I/O requests" ... LIFO structure (I assume you're talking about selecting a thead from pool by Completion Port) helps to decrease amount of paging. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Fine tuning my queries !
    ... pool id, ... Pool name is always either suffixed by intl or core. ... suffix. ...
    (comp.databases.oracle.server)
  • Fine tuning my queries !
    ... pool id, ... Pool name is always either suffixed by intl or core. ... suffix. ...
    (comp.databases.oracle.server)