[erlang-questions] Semaphores

Corrado Santoro <>
Thu Mar 15 15:27:49 CET 2007


Danesh Daroui wrote:
> Its cool. I am interested to find out more about your solution. 
Maybe at the next EUC ;-)

> It seems 
> that you have solved the problem using State Machines, but if you use a 
> server to pass messages through it, it might be the reason that message 
> passing is not fast enough as you expect. However, you said that the 
> problem is solved, but defining a channel which is accessible by all 
> processes to send their request (asynchronous or synchronous doesn't 
> matter but synchronous needs its own simulation in Erlang) to one or 
> more than one processes which handle requests. Each sender can also have 
> its private channel to get the result. Anyway, I thought sending 
> messages between processes (not in a distributes architecture) is fast 
> enough to avoid such problems. Your task must be very critical. ;)
They are not so critical, but an unexpected latency could cause e.g. a 
wrong navigation. For example, one task is to make the robot rotate of a 
given angle: we turn on the motors and then we "poll" reading the 
current orientation. This is made by means a couple of communicating 
processes (one for interacting with the motor controller and another to 
perform rotation control): if the latencies are too high, the robot 
could overcome the target and stop with a wrong orientation.

In our current implementation, there are no unexpected latencies. But, 
we experienced these problems when we used OTP behaviours (gen_fsm, 
etc.). Please note that the robot is quite fast, so milliseconds are 
important.

In any case, if we have time, we'll make some measurement in order to 
give some numerical quantities!

--Corrado

-- 
==================================================================
Eng. Corrado Santoro, Ph.D.
University of Catania - ITALY - Engineering Faculty

Tel: +39 095 7382380        VoIP: sip:

Personal Home Page: http://www.diit.unict.it/users/csanto
     NUXI Home Page: http://nuxi.diit.unict.it
==================================================================




More information about the erlang-questions mailing list