Opened 12 years ago

Last modified 12 years ago

#4732 new Feature Requests

Event Ports for Solaris

Reported by: jacquesg@… Owned by: chris_kohlhoff
Milestone: To Be Determined Component: asio
Version: Boost Development Trunk Severity: Optimization
Keywords: Cc:

Description

Hi,

Is it possible to add support for event ports on the Solaris platform? I've written an application that uses the thread-pool strategy from the HTTP Server 2 example. As I understand, the /dev/poll method on Solaris needs lots of synchronization between threads.

I've noticed that my application does not nearly scale linearly with an increase in threads. Highest throughput is obtained at approximately 7 threads, after which I get diminishing returns. I think this could be due to the inter-thread synchronization needed to access /dev/poll? Please find 2 links detailing event ports and/or comparison with /dev/poll.

Jacques

http://blogs.sun.com/dap/entry/event_ports_and_performance

http://developers.sun.com/solaris/articles/event_completion.html

Change History (1)

comment:1 by chris_kohlhoff, 12 years ago

If you are using the HTTP Server 2 design (io_service-per-CPU) then there is no contended synchronization in asio with respect to /dev/poll. Each io_service would have its own /dev/poll descriptor. The sub-linear scaling might be due to something else.

Realistically, support for event ports would need to be sponsored/funded. Please let me know if you are interested in pursuing that option.

Note: See TracTickets for help on using tickets.