* 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.