chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] egg announcement: remote-repl


From: Elf
Subject: Re: [Chicken-users] egg announcement: remote-repl
Date: Tue, 19 Aug 2008 06:55:11 -0700 (PDT)

On Tue, 19 Aug 2008, Jörg F. Wittenberger wrote:

Am Montag, den 18.08.2008, 09:19 -0700 schrieb Elf:
On Mon, 18 Aug 2008, Jörg F. Wittenberger wrote:

<snip>

as a sidenote, i cannot think of any legitimate reason to change timeouts
dynamically.

So you probably never had to debug a larger amount of communicating
machines?  I consider it legitimate to test for behavioral changes of
the whole system, when timing changes and/or node become uncooperative.
Apart from wild guesses I can't even see another way to find out good
values.


ive had to debug a ridiculous amount of HA machines. ive helped optimise the physical layout on the bloody disk to improve seektimes over clusters
that were simultaneously parsing insane amounts of data while being queried
at tens of thousands of times per second, and needed to generate consistent
constraints over the data simultaneously. i have never had an application improve its characteristics from dynamic timeout changes. the closest
reasonable things that i HAVE needed to do are 1) figure out what the system
was doing beforehand, so i could find sane timeouts and quanta, and 2)
very rarely, have the machine repeat a loop before it 'should', to give it an extra chance. its not a particularly difficult set of algos to work out... its essentially a modification of starvation prevention algos. changing the timeouts while the system is running can have any number of bad effects, if you have carefully timed and optimised machines.

every repl session is in its own thread.  as tcp timeouts are parameters,
if you want to change the timeouts for that particular thread, all you have
to do is:

That's what I have been able to do bevor.  That's not the aim.  I need
to change all timeouts for all thread which are started after the
change.

then all you have to do is use the environments egg to make or copy the base env before starting the server, and define an evaler to eval certain expressions in that environment rather than the local. if you would read the docs, it might save us both a lot of time, as this is explained, and examples are given.

-elf

reply via email to

[Prev in Thread] Current Thread [Next in Thread]