Download Synchronous and Asynchronous Models In Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Stream processing wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Corecursion wikipedia , lookup

Coding theory wikipedia , lookup

Join-pattern wikipedia , lookup

Data-intensive computing wikipedia , lookup

Reactive programming wikipedia , lookup

Error detection and correction wikipedia , lookup

Transcript
Synchronous &
Asynchronous
Models in
Computing
By: James Pauer
What is Asynchronous

What is synchronous?

Greek: prefix; no, absence of, without, lack of,
not
Another Way
Basics of Synchronies
 Actions
occur at specific times and
intervals
 Measured against a time reference, or a
clock signal
 Takes time to communicate with the
receiver beforehand
 Accommodates complex and larger
transmissions
Basics of Asynchronies
 Each
byte holds its own signal bits
Each byte holds it’s
own signal bits
Basics of Asynchronies
 Each
byte holds it’s own signal bits
 Responds to another signal
 Not governed by a synchronized clock
 AKA “best effort”
 Simple small transmission


Connect to a modem / network
Point-to-Point Protocol (PPP)
 Authentication,

PPPOE
encryption, compression
In Computer science
 Transmission
 Threading
 Programming
Language
 Circuits
 Data

Data integrity
In Computer science
 Transmission
Transmission (Synchronous)
 No
start/stop bits
 Synchronizes transmission speeds / clocks
 Meant for continuous flow of data
 High transfer rate
 Errors



Clock out of sync, eventually
Bytes arriving at unknown time
Dropped packets/lost bits
 Solutions


Re-synchronization
Check digits
Check digit
 ISBN
10
 ISBN 13
 EAN
 UPC “036000241457”




Add odds, multiply by 3
Add evens
Add the two results
Mod 10 , minus 10
Transmission (Asynchronous)
 Has
start/stop bits
 Intermittent
 Arbitrary
flow of data
waiting time
 Parity


Error detection technique
= check digit
Parity Bits
7 bits of data


8 bits including parity
(number of 1s) even
odd
0000000 (0)
00000000
10000000
1010001 (3)
11010001
01010001
1101001 (4)
01101001
11101001
1111111 (7)
11111111
01111111
Parity bit - 0 = true
Zero is even
1= false
In Computer science
 Transmission
 Threading
Synchronous I/O
Synchronous I/O cont.
 AKA
“blocking I/O”
 Problems

Large delay times
 The
I/O operation completes
 An I/O error occurs.
 The function CancelSynchronousIO was
called, terminating the thread
 The blocked thread is terminated by the
system; the process itself is terminated
Asynchronous I/O
Asynchronous I/O cont.
 Continues
to process non I/O related tasks
 AKA “non-Blocking I/O” or “overlapped I/O”
 Beneficial to:


Backup of a large database
Slow communication links
 Optimizes
processing efficiency
In Computer science
 Transmission
 Threading
 Programming
Language
Programming Languages
(Synchronous)
 Argos
 LEA
 Atom
 Lustre
 Averest
 PLEXIL
 ChucK
 SIGNAL
 Esterel
 SOL
 LabVIEW
 SyncCharts
Programming Languages
(Synchronous)
 Often
used for reactive systems
 Eg.
Flight simulator
 AKA “real-time” systems
 AKA
“Synchronous Reactive Programming
(SRP)”
 “Logical Ticks”


Sequence of ticks
Computations assumed instantaneous
Programming Languages
(Asynchronous)


AJAX (Asynchronous JavaScript and XML)
Support asynchronous methods:

JavaScript


C# / Visual Basic


Await operator
C++


Promises/A
Task class, then
Windows Runtime



Displaying a message dialog
Working with the file system
Sending/receiving data to/from the internet
In Computer science
 Transmission
 Threading
 Programming
 Circuits
Language
Circuits (Synchronous)
 Parts
are synchronized
 Disadvantages


Larger circuits/clock propagation
Heating/gate switching
Circuits (Asynchronous)
 Parts
are autonomous
 Wait for signals through data transfer protocols
 Benefits



Components can run at different speeds
Uses less power
Emits less heat
 UART
(Universal Asynchronous Receiver
Transmitter)

Translates data between parallel and serial
In Computer science
 Transmission
 Threading
 Programming
Language
 Circuits
 Data

Data integrity
Data Integrity




File synchronization
 such as syncing a hand-held MP3 player to a desktop computer.
Cluster file systems
 which are file systems that maintain data or indexes in a coherent
fashion across a whole computing cluster.
Cache coherency
 maintaining multiple copies of data in sync across multiple caches.
RAID
 where data is written in a redundant fashion across multiple disks, so
that the loss of any one disk does not lead to a loss of data.

Database replication, where copies of data on a database are kept in
sync, despite possible large geographical separation.

Journaling, a technique to make sure that file metadata are updated
on a disk in a coherent, consistent manner.