* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Synchronous and Asynchronous Models In Computer Science
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
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.