Information Technology Reference
In-Depth Information
interval separating them. Traffic lights are synchronized at an intersection
to prevent cross traffic from moving at the same time. Further, they can
be synchronized to give the green corridor effect for rush-hour traffic on
important roads. They may not all turn green at the same time but are
timed so that they turn green by the time traffic from one intersection
reaches the next intersection. This also gives cross traffic an opportunity
to flow. The periodicity of each light turning from red to green and back
to red is preset — based on the distance between the intersections and
the prescribed minimum and maximum speed in the zone.
Conversely, in an asynchronous environment, the two events do not
have to happen at the same time or rate. The entities are still known;
however, one event occurrence has no impact, or causal effect, on the
other in any deterministic way. Phone conversations are typically asyn-
chronous although both parties must be connected for any voice signals
to travel. Within that connection we can always switch topics, speak at
the same time, or even discontinue talking. An e-mail is also a form of
asynchronous computer-mediated communication. One should not con-
fuse asynchronous as something that is not “live” and real-time. Do
synchronous events always need to happen in real-time?
Most digital design is based on a synchronous approach. Interacting
systems (and their subsystems) defined as finite state automata are gov-
erned through a clock. They change states on the edges of a regular
clock. In asynchronous design, however, there is no single clock to
determine the timing of state changes.
Synchronous transmission may be more efficient but because asyn-
chronous transmission is simple and inexpensive to implement, it is the
choice of most architects. A word of caution: debugging an asynchronous
design is extremely difficult. Because synchronous events are causal in
nature, investigating failure, providing fixes, and, more importantly, testing
them, are doable. In an asynchronous system, events can happen at any
time. Most problems occur when interacting systems get into an
“unknown” state because of the timing of events. Once the problem has
occurred, it is extremely difficult to retrace the failing logic path, and the
event timing that made the problem occur.
In computer science, quite often
is also associated with
the concept of waiting. If events are synchronous, it gives an impression
that they would need to wait for each other before the execution of the
system can proceed. This indicates an element of inefficiency. The con-
verse is most likely the case — when discussing linear execution traces
of systems, where asynchronous events may still need to be accounted
for at some point in time. The hope is that multi-tasking, multi-program-
ming, and multi-processing can effectively utilize the resources in a system,
at various times, instead of forcing a certain predetermined order.
synchronous
Search WWH ::




Custom Search