[zeromq-dev] What's a tickless timer?

Apostolis Xekoukoulotakis xekoukou at gmail.com
Tue Feb 5 20:40:16 CET 2013


Those delayed msgs are used to wake up the actor.

2013/2/5 Apostolis Xekoukoulotakis <xekoukou at gmail.com>

> Let me say one of my use cases that, i think cant be handled by timers.
> This is WIP.
>
> I have in each thread multiple actors. Each such actor might want to ask
> for a service (like a database).
> It sends a message and then work passes to other actors. Since there is a
> chance that the response from the service is lost,
> I want to use the lazy pirate pattern per actor. So what I did was add a
> tickless service with poll
>  that sends msgs to a socket (or directly to the same thread that has the
> poll ) after a specific delay.
>
> I think that having payloads on timers is a useful pattern in general.
>
> 2013/2/5 Pieter Hintjens <ph at imatix.com>
>
>> On Tue, Feb 5, 2013 at 5:35 PM, Apostolis Xekoukoulotakis
>> <xekoukou at gmail.com> wrote:
>>
>> > If you have a timer to expire after 1m , you dont check every 20 ms if
>> it
>> > expired, you use poll() that wakes after 1m if no other event happens.
>>
>> Right. The original goal is to reduce CPU wakeups, so tickless code
>> will work nicely on low power devices. The concept comes from the
>> Linux kernel: https://lesswatts.org/projects/tickless/
>>
>> As well as reducing CPU wakeups it makes it easier to schedule precise
>> events, e.g. send PING once per second, even if there was some other
>> activity in the meantime. You need this when you are doing anything
>> complex.
>>
>> zmq_poll should IMO have tickless timers built in, and it's something
>> I'd like to add to CZMQ (poll class with tickless timers).
>>
>> -Pieter
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>
>
>
> --
>
>
> Sincerely yours,
>
>      Apostolis Xekoukoulotakis
>
>


-- 


Sincerely yours,

     Apostolis Xekoukoulotakis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130205/6ee07864/attachment.html>


More information about the zeromq-dev mailing list