The existing poller, while it works, quickly breaks down when number of polled devices increase and is quite problematic when devices have large amount of interfaces and where the RTT is high (device is on a different continent, etc) - especially when trying to use 1 minute polling resolution.
High performance asynchronous poller with in-flight window tuning on a per device basis and maintaining specific amount of outstanding requests to each device at any one time woulds solve this problem.
AKIPS guys implemented this, their poller is capable of polling hundreds of thousands of MIB objects per second using just a fraction of compute power of a single CPU core on a modern hardware, some details: