Concurrent Programming

Size: px
Start display at page:

Download "Concurrent Programming"

Transcription

1 Cncurrent Prgramming Cncurrency: Crrectly and efficiently managing access t shared resurces frm mul7ple pssibly-simultaneus clients Requires crdina(n, par7cularly synchrniza7n t avid incrrect simultaneus access: make smebdy blck Want t blck un7l anther thread is dne using what we need nt cmpletely dne execu7ng Even crrect cncurrent applica7ns are usually highly nn-determinis7c: hw threads are scheduled affects what pera7ns frm ther threads they see when nn-repeatability cmplicates tes7ng and debugging 1

2 Examples Mul7ple threads: 1. Prcessing different bank-accunt pera7ns What if 2 threads change the same accunt at the same 7me? 2. Using a shared cache f recent files (e.g., hashtable) What if 2 threads insert the same file at the same 7me? 3. Crea7ng a pipeline (think assembly line) with a queue fr handing wrk t next thread in sequence? What if enqueuer and dequeuer adjust a circular array queue at the same 7me? 2

3 Java Cncurrency The java.lang.runnable interface vid run(); The java.lang.thread class Thread(Runnable r); vid start(); sta7c vid sleep(lng millis); vid jin(); blean isalive(); sta7c Thread currentthread();

4 Atmicity An ac7n is atmic if it is indivisible Effec7vely, it happens all at nce N effects f the ac7n are visible un7l it is cmplete N ther ac7ns have an effect during the ac7n In Java, integer increment (i++) is nt atmic 1. Lad data frm variable 2. Increment data by 1 3. Stre data t variable i

5 Race Cndi7n A race cndi7n is when mul7ple threads access shared data and unexpected results ccur depending n the rder f their ac7ns

6 Why threads? Unlike parallelism, nt abut implemen7ng algrithms faster But threads s7ll useful fr: Cde structure fr respnsiveness Example: Respnd t GUI events in ne thread while anther thread is perfrming an expensive cmputa7n Prcessr u(liza(n (mask I/O latency) If 1 thread ges t disk, have smething else t d Failure isla(n Cnvenient structure if want t interleave mul7ple tasks and d nt want an excep7n in ne t stp the ther 6

7 Sharing resurces It is cmmn in cncurrent prgrams that: Different threads might access the same resurces in an unpredictable rder r even at abut the same 7me Prgram crrectness requires that simultaneus access be prevented using synchrniza7n Simultaneus access is rare Makes tes7ng difficult Must be much mre disciplined when designing / implemen7ng a cncurrent prgram Will discuss cmmn idims knwn t wrk 7

8 Alice, Bb Bill and the Bank A. Alice t pay Bb $30 Bank actins A1. Des Alice have $30? A2. Give $30 t Bb A3. Take $30 frm Alice B. Alice t pay Bill $30 Bank actins B1. Des Alice have $30? B2. Give $30 t Bill B3. Take $30 frm Alice If Alice starts with $40, can Bb and Bill bth get $30?

9 Alice, Bb Bill and the Bank A. Alice t pay Bb $30 Bank actins A1. Des Alice have $30? A2. Give $30 t Bb A3. Take $30 frm Alice B. Alice t pay Bill $30 Bank actins B1. Des Alice have $30? B2. Give $30 t Bill B3. Take $30 frm Alice A.1 A.2 B.1 B.2 A.3 B.3 If Alice starts with $40, can Bb and Bill bth get $30?

10 Cannical example Crrect cde in a single-threaded wrld class BankAccunt { private int balance = 0; int getbalance() { return balance; vid setbalance(int x) { balance = x; vid withdraw(int amunt) { int b = getbalance(); if(amunt > b) thrw new WithdrawTLargeExceptin(); setbalance(b amunt); // ther peratins like depsit, etc. 10

11 Interleaving Suppse: Thread T1 calls x.withdraw(100) Thread T2 calls y.withdraw(100) If secnd call starts befre first finishes, we say the calls interleave Culd happen even with ne prcessr since a thread can be pre-empted at any pint fr 7me-slicing If x and y refer t different accunts, n prblem Yu ck in yur kitchen while I ck in mine But if x and y alias, pssible truble 11

12 A bad interleaving Interleaved withdraw(100) calls n the same accunt Assume ini7al balance == 150 Time Thread 1 Thread 2 int b = getbalance(); if(amunt > b) thrw new ; setbalance(b amunt); int b = getbalance(); if(amunt > b) thrw new ; setbalance(b amunt); Lst withdraw unhappy bank 12

13 Incrrect fix It is temp7ng and almst always wrng t fix a bad interleaving by rearranging r repea7ng pera7ns, such as: vid withdraw(int amunt) { if(amunt > getbalance()) thrw new WithdrawTLargeExceptin(); // maybe balance changed setbalance(getbalance() amunt); This fixes nthing! Narrws the prblem by ne statement (Nt even that since the cmpiler culd turn it back int the ld versin because yu didn t indicate need t synchrnize) And nw a nega7ve balance is pssible why? 13

14 Mutual exclusin Sane fix: Allw at mst ne thread t withdraw frm accunt A at a 7me Exclude ther simultaneus pera7ns n A t (e.g., depsit) Called mutual exclusin: One thread using a resurce (here: an accunt) means anther thread must wait a.k.a. cri7cal sec7ns, which technically have ther requirements Prgrammer must implement cri7cal sec7ns The cmpiler has n idea what interleavings shuld r shuld nt be allwed in yur prgram yu need language primi7ves t d it! 14

15 Wrng! Why can t we implement ur wn mutualexclusin prtcl? It s technically pssible under certain assump7ns, but wn t wrk in real languages anyway class BankAccunt { private int balance = 0; private blean busy = false; vid withdraw(int amunt) { while(busy) { /* spin-wait */ busy = true; int b = getbalance(); if(amunt > b) thrw new WithdrawTLargeExceptin(); setbalance(b amunt); busy = false; // depsit wuld spin n same blean 15

16 Just mved the prblem! Time Thread 1 Thread 2 while(busy) { while(busy) { busy = true; busy = true; int b = getbalance(); if(amunt > b) thrw new ; setbalance(b amunt); int b = getbalance(); if(amunt > b) thrw new ; setbalance(b amunt); Lst withdraw unhappy bank 16

17 What we need We need help frm the language One basic slu7n: Lcks Nt Java yet, thugh Java s apprach is similar and slightly mre cnvenient An ADT with pera7ns: new: make a new lck, ini7ally nt held acquire: blcks if this lck is already currently held ü Once nt held, makes lck held [all at nce!] release: makes this lck nt held ü If >= 1 threads are blcked n it, exactly 1 will acquire it 17

18 Why that wrks An ADT with pera7ns new, acquire, release The lck implementa7n ensures that given simultaneus acquires and/r releases, a crrect thing will happen Example: Tw acquires: ne will win and ne will blck Hw can this be implemented? Need t check if held and if nt make held all-at-nce Uses special hardware and O/S supprt ü See cmputer-architecture r pera7ng-systems curse Here, we take this as a primi7ve and use it 18

19 Almst-crrect pseudcde class BankAccunt { private int balance = 0; private Lck lk = new Lck(); vid withdraw(int amunt) { lk.acquire(); // may blck int b = getbalance(); if(amunt > b) thrw new WithdrawTLargeExceptin(); setbalance(b amunt); lk.release(); // depsit wuld als acquire/release lk 19

20 Sme mistakes A lck is a very primi7ve mechanism S7ll up t yu t use crrectly t implement cri7cal sec7ns Incrrect: Use different lcks fr withdraw and depsit Mutual exclusin wrks nly when using same lck balance field is the shared resurce being prtected Pr perfrmance: Use same lck fr every bank accunt N simultaneus pera7ns n different accunts Incrrect: Frget t release a lck (blcks ther threads frever!) Previus slide is wrng because f the excep7n pssibility! if(amunt > b) { lk.release(); // hard t remember! thrw new WithdrawTLargeExceptin(); 20

21 Other pera7ns If withdraw and depsit use the same lck, then simultaneus calls t these methds are prperly synchrnized But what abut getbalance and setbalance? Assume they are public, which may be reasnable If they d nt acquire the same lck, then a race between setbalance and withdraw culd prduce a wrng result If they d acquire the same lck, then withdraw wuld blck frever because it tries t acquire a lck it already has 21

22 Re-entrant lck A re-entrant lck (a.k.a. recursive lck) Remembers the thread (if any) that currently hlds it a cunt When the lck ges frm nt-held t held, the cunt is set t 0 If (cde running in) the current hlder calls acquire: it des nt blck it increments the cunt On release: if the cunt is > 0, the cunt is decremented if the cunt is 0, the lck becmes nt-held 22

23 Re-entrant lcks wrk int setbalance(int x) { lk.acquire(); balance = x; lk.release(); vid withdraw(int amunt) { lk.acquire(); setbalance1(b amunt); lk.release(); This simple cde wrks fine prvided lk is a reentrant lck Okay t call setbalance directly Okay t call withdraw (wn t blck frever) 23

24 Nw sme Java Java has built-in supprt fr re-entrant lcks Several differences frm ur pseudcde Fcus n the synchrnized statement synchrnized (expressin) { statements 1. Evaluates expressin t an bject Every bject (but nt primi7ve types) is a lck in Java 2. Acquires the lck, blcking if necessary If yu get past the {, yu have the lck 3. Releases the lck at the matching Even if cntrl leaves due t thrw, return, etc. S impssible t frget t release the lck 24

25 Java versin #1 (crrect but nn-idima7c) class BankAccunt { private int balance = 0; private Object lk = new Object(); int getbalance() { synchrnized (lk) { return balance; vid setbalance(int x) { synchrnized (lk) { balance = x; vid withdraw(int amunt) { synchrnized (lk) { int b = getbalance(); if(amunt > b) thrw setbalance(b amunt); // depsit wuld als use synchrnized(lk) 25

26 Imprving the Java As wrinen, the lck is private Might seem like a gd idea But als prevents cde in ther classes frm wri7ng pera7ns that synchrnize with the accunt pera7ns Mre idima7c is t synchrnize n this Als mre cnvenient: n need t have an extra bject 26

27 Java versin #2 class BankAccunt { private int balance = 0; int getbalance() { synchrnized (this){ return balance; vid setbalance(int x) { synchrnized (this){ balance = x; vid withdraw(int amunt) { synchrnized (this) { int b = getbalance(); if(amunt > b) thrw setbalance(b amunt); // depsit wuld als use synchrnized(this) 27

28 Syntac7c sugar Versin #2 is slightly pr style because there is a shrter way t say the same thing: Pupng synchrnized befre a methd declara7n means the en7re methd bdy is surrunded by synchrnized(this){ Therefre, versin #3 (next slide) means exactly the same thing as versin #2 but is mre cncise 28

29 Java versin #3 (final versin) class BankAccunt { private int balance = 0; synchrnized int getbalance() { return balance; synchrnized vid setbalance(int x) { balance = x; synchrnized vid withdraw(int amunt) { int b = getbalance(); if(amunt > b) thrw setbalance(b amunt); // depsit wuld als use synchrnized 29

30 Mre Java ntes Class java.util.cncurrent.lcks.reentran tlck wrks much mre like ur pseudcde Oqen use try { finally { t avid frgepng t release the lck if there s an excep7n Als library and/r language supprt fr readers/ writer lcks and cndi(n variables (future lecture) Java prvides many ther features and details. See, fr example: Java Cncurrency in Prac7ce by Getz et al 30

31 31

Programmazione di sistemi multicore

Programmazione di sistemi multicore Programmazione di sistemi multicore A.A. 2015-2016 LECTURE 12 IRENE FINOCCHI http://wwwusers.di.uniroma1.it/~finocchi/ Shared-memory concurrency & mutual exclusion TASK PARALLELISM AND OVERLAPPING MEMORY

More information

A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 4 Shared-Memory Concurrency & Mutual Exclusion

A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 4 Shared-Memory Concurrency & Mutual Exclusion A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 4 Shared-Memory Concurrency & Mutual Exclusion Dan Grossman Last Updated: August 2010 For more information, see http://www.cs.washington.edu/homes/djg/teachingmaterials/

More information

CSE 332: Data Structures & Parallelism Lecture 17: Shared-Memory Concurrency & Mutual Exclusion. Ruth Anderson Winter 2019

CSE 332: Data Structures & Parallelism Lecture 17: Shared-Memory Concurrency & Mutual Exclusion. Ruth Anderson Winter 2019 CSE 332: Data Structures & Parallelism Lecture 17: Shared-Memory Concurrency & Mutual Exclusion Ruth Anderson Winter 2019 Toward sharing resources (memory) So far, we have been studying parallel algorithms

More information

CSE332: Data Abstractions Lecture 22: Shared-Memory Concurrency and Mutual Exclusion. Tyler Robison Summer 2010

CSE332: Data Abstractions Lecture 22: Shared-Memory Concurrency and Mutual Exclusion. Tyler Robison Summer 2010 CSE332: Data Abstractions Lecture 22: Shared-Memory Concurrency and Mutual Exclusion Tyler Robison Summer 2010 1 Toward sharing resources (memory) So far we ve looked at parallel algorithms using fork-join

More information

CS510 Concurrent Systems Class 2. A Lock-Free Multiprocessor OS Kernel

CS510 Concurrent Systems Class 2. A Lock-Free Multiprocessor OS Kernel CS510 Cncurrent Systems Class 2 A Lck-Free Multiprcessr OS Kernel The Synthesis kernel A research prject at Clumbia University Synthesis V.0 ( 68020 Uniprcessr (Mtrla N virtual memry 1991 - Synthesis V.1

More information

CSE 3320 Operating Systems Synchronization Jia Rao

CSE 3320 Operating Systems Synchronization Jia Rao CSE 3320 Operating Systems Synchrnizatin Jia Ra Department f Cmputer Science and Engineering http://ranger.uta.edu/~jra Recap f the Last Class Multiprcessr scheduling Tw implementatins f the ready queue

More information

CSE332: Data Abstractions Lecture 19: Mutual Exclusion and Locking

CSE332: Data Abstractions Lecture 19: Mutual Exclusion and Locking CSE332: Data Abstractions Lecture 19: Mutual Exclusion and Locking James Fogarty Winter 2012 Including slides developed in part by Ruth Anderson, James Fogarty, Dan Grossman Banking Example This code is

More information

CS4500/5500 Operating Systems Synchronization

CS4500/5500 Operating Systems Synchronization Operating Systems Synchrnizatin Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Recap f the Last Class Multiprcessr scheduling Tw implementatins f the ready

More information

But for better understanding the threads, we are explaining it in the 5 states.

But for better understanding the threads, we are explaining it in the 5 states. Life cycle f a Thread (Thread States) A thread can be in ne f the five states. Accrding t sun, there is nly 4 states in thread life cycle in java new, runnable, nn-runnable and terminated. There is n running

More information

CSE 3320 Operating Systems Deadlock Jia Rao

CSE 3320 Operating Systems Deadlock Jia Rao CSE 3320 Operating Systems Deadlck Jia Ra Department f Cmputer Science and Engineering http://ranger.uta.edu/~jra Recap f the Last Class Race cnditins Mutual exclusin and critical regins Tw simple appraches

More information

CS510 Concurrent Systems Class 1a. Linux Kernel Locking Techniques

CS510 Concurrent Systems Class 1a. Linux Kernel Locking Techniques CS510 Cncurrent Systems Class 1a Linux Kernel Lcking Techniques Intr t kernel lcking techniques (Linux) Why d we need lcking in the kernel? Which prblems are we trying t slve? What implementatin chices

More information

Sec$on 6: Mutual Exclusion. Michelle Ku5el

Sec$on 6: Mutual Exclusion. Michelle Ku5el Sec$on 6: Mutual Exclusion Michelle Ku5el mku5el@cs.uct.ac.za Toward sharing resources (memory) Have been studying parallel algorithms using fork- join Lower span via parallel tasks Algorithms all had

More information

CS1150 Principles of Computer Science Loops

CS1150 Principles of Computer Science Loops CS1150 Principles f Cmputer Science Lps Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Clrad Springs Annuncement HW1 graded HW2 due tnight HW3 will be psted sn Due

More information

COP2800 Homework #3 Assignment Spring 2013

COP2800 Homework #3 Assignment Spring 2013 YOUR NAME: DATE: LAST FOUR DIGITS OF YOUR UF-ID: Please Print Clearly (Blck Letters) YOUR PARTNER S NAME: DATE: LAST FOUR DIGITS OF PARTNER S UF-ID: Please Print Clearly Date Assigned: 15 February 2013

More information

- Replacement of a single statement with a sequence of statements(promotes regularity)

- Replacement of a single statement with a sequence of statements(promotes regularity) ALGOL - Java and C built using ALGOL 60 - Simple and cncise and elegance - Universal - Clse as pssible t mathematical ntatin - Language can describe the algrithms - Mechanically translatable t machine

More information

Operating systems. Module 7 IPC (Interprocess communication) PART I. Tami Sorgente 1

Operating systems. Module 7 IPC (Interprocess communication) PART I. Tami Sorgente 1 Operating systems Mdule 7 IPC (Interprcess cmmunicatin) PART I Tami Srgente 1 INTERPROCESS COMMUNICATION Prcesses within a system may be independent r cperating Cperating prcess can affect r be affected

More information

1 Binary Trees and Adaptive Data Compression

1 Binary Trees and Adaptive Data Compression University f Illinis at Chicag CS 202: Data Structures and Discrete Mathematics II Handut 5 Prfessr Rbert H. Slan September 18, 2002 A Little Bttle... with the wrds DRINK ME, (r Adaptive data cmpressin

More information

Experience With Processes and Monitors in Mesa

Experience With Processes and Monitors in Mesa Advanced Tpics in Cmputer Systems, CS262A Prf. Eric Brewer Experience With Prcesses and Mnitrs in Mesa I. Experience With Prcesses and Mnitrs in Mesa Fcus f this paper: light-weight prcesses (threads in

More information

CS1150 Principles of Computer Science Methods

CS1150 Principles of Computer Science Methods CS1150 Principles f Cmputer Science Methds Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Clrad Springs Opening Prblem Find the sum f integers frm 1 t 10, frm 20

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Yu will learn the fllwing in this lab: The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Cmp 541 Digital Lgic and Cmputer Design Spring 2016 Lab Prject (PART A): A Full Cmputer! Issued Fri 4/8/16; Suggested

More information

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash UiPath Autmatin Walkthrugh Walkthrugh Calculate Client Security Hash Walkthrugh Calculate Client Security Hash Start with the REFramewrk template. We start ff with a simple implementatin t demnstrate the

More information

Overview of Threads and Concurrency

Overview of Threads and Concurrency CS533 Cncepts f Operating Systems Class 2 Overview f Threads and Cncurrency Questins Why study threads and cncurrent prgramming in an OS class? What is a thread? Is multi-threaded prgramming easy? If nt,

More information

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash UiPath Autmatin Walkthrugh Walkthrugh Calculate Client Security Hash Walkthrugh Calculate Client Security Hash Start with the REFramewrk template. We start ff with a simple implementatin t demnstrate the

More information

Reading and writing data in files

Reading and writing data in files Reading and writing data in files It is ften very useful t stre data in a file n disk fr later reference. But hw des ne put it there, and hw des ne read it back? Each prgramming language has its wn peculiar

More information

Lab 4. Name: Checked: Objectives:

Lab 4. Name: Checked: Objectives: Lab 4 Name: Checked: Objectives: Learn hw t test cde snippets interactively. Learn abut the Java API Practice using Randm, Math, and String methds and assrted ther methds frm the Java API Part A. Use jgrasp

More information

Programming Project: Building a Web Server

Programming Project: Building a Web Server Prgramming Prject: Building a Web Server Submissin Instructin: Grup prject Submit yur cde thrugh Bb by Dec. 8, 2014 11:59 PM. Yu need t generate a simple index.html page displaying all yur grup members

More information

To over come these problems collections are recommended to use. Collections Arrays

To over come these problems collections are recommended to use. Collections Arrays Q1. What are limitatins f bject Arrays? The main limitatins f Object arrays are These are fixed in size ie nce we created an array bject there is n chance f increasing r decreasing size based n ur requirement.

More information

Second Assignment Tutorial lecture

Second Assignment Tutorial lecture Secnd Assignment Tutrial lecture INF5040 (Open Distributed Systems) Faraz German (farazg@ulrik.ui.n) Department f Infrmatics University f Osl Octber 17, 2016 Grup Cmmunicatin System Services prvided by

More information

ClassFlow Administrator User Guide

ClassFlow Administrator User Guide ClassFlw Administratr User Guide ClassFlw User Engagement Team April 2017 www.classflw.cm 1 Cntents Overview... 3 User Management... 3 Manual Entry via the User Management Page... 4 Creating Individual

More information

Primitive Types and Methods. Reference Types and Methods. Review: Methods and Reference Types

Primitive Types and Methods. Reference Types and Methods. Review: Methods and Reference Types Primitive Types and Methds Java uses what is called pass-by-value semantics fr methd calls When we call a methd with input parameters, the value f that parameter is cpied and passed alng, nt the riginal

More information

Iteration Part 2. Review: Iteration [Part 1] Flow charts for two loop constructs. Review: Syntax of loops. while continuation_condition : statement1

Iteration Part 2. Review: Iteration [Part 1] Flow charts for two loop constructs. Review: Syntax of loops. while continuation_condition : statement1 Review: Iteratin [Part 1] Iteratin Part 2 CS111 Cmputer Prgramming Department f Cmputer Science Wellesley Cllege Iteratin is the repeated executin f a set f statements until a stpping cnditin is reached.

More information

Eastern Mediterranean University School of Computing and Technology Information Technology Lecture2 Functions

Eastern Mediterranean University School of Computing and Technology Information Technology Lecture2 Functions Eastern Mediterranean University Schl f Cmputing and Technlgy Infrmatin Technlgy Lecture2 Functins User Defined Functins Why d we need functins? T make yur prgram readable and rganized T reduce repeated

More information

LAB 7 (June 29/July 4) Structures, Stream I/O, Self-referential structures (Linked list) in C

LAB 7 (June 29/July 4) Structures, Stream I/O, Self-referential structures (Linked list) in C LAB 7 (June 29/July 4) Structures, Stream I/O, Self-referential structures (Linked list) in C Due: July 9 (Sun) 11:59 pm 1. Prblem A Subject: Structure declaratin, initializatin and assignment. Structure

More information

Profiling & Debugging

Profiling & Debugging Prfiling & Debugging CISC 879 Tristan Vanderbruggen & Jhn Cavazs Dept f Cmputer & Infrmatin Sciences University f Delaware 1 Lecture Overview Prfiling and Debugging Why? Tls Data sets Race Cnditin and

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Yu will learn the fllwing in this lab: The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Designing a mdule with multiple memries Designing and using a bitmap fnt Designing a memry-mapped display Cmp 541 Digital

More information

TRAINING GUIDE. Lucity Mobile

TRAINING GUIDE. Lucity Mobile TRAINING GUIDE The Lucity mbile app gives users the pwer f the Lucity tls while in the field. They can lkup asset infrmatin, review and create wrk rders, create inspectins, and many mre things. This manual

More information

McGill University School of Computer Science COMP-206. Software Systems. Due: September 29, 2008 on WEB CT at 23:55.

McGill University School of Computer Science COMP-206. Software Systems. Due: September 29, 2008 on WEB CT at 23:55. Schl f Cmputer Science McGill University Schl f Cmputer Science COMP-206 Sftware Systems Due: September 29, 2008 n WEB CT at 23:55 Operating Systems This assignment explres the Unix perating system and

More information

Max 8/16 and T1/E1 Gateway, Version FAQs

Max 8/16 and T1/E1 Gateway, Version FAQs Frequently Asked Questins Max 8/16 and T1/E1 Gateway, Versin 1.5.10 FAQs The FAQs have been categrized int the fllwing tpics: Calling Calling Cmpatibility Cnfiguratin Faxing Functinality Glssary Q. When

More information

Memory Hierarchy. Goal of a memory hierarchy. Typical numbers. Processor-Memory Performance Gap. Principle of locality. Caches

Memory Hierarchy. Goal of a memory hierarchy. Typical numbers. Processor-Memory Performance Gap. Principle of locality. Caches Memry Hierarchy Gal f a memry hierarchy Memry: hierarchy f cmpnents f varius speeds and capacities Hierarchy driven by cst and perfrmance In early days Primary memry = main memry Secndary memry = disks

More information

On the road again. The network layer. Data and control planes. Router forwarding tables. The network layer data plane. CS242 Computer Networks

On the road again. The network layer. Data and control planes. Router forwarding tables. The network layer data plane. CS242 Computer Networks On the rad again The netwrk layer data plane CS242 Cmputer Netwrks The netwrk layer The transprt layer is respnsible fr applicatin t applicatin transprt. The netwrk layer is respnsible fr hst t hst transprt.

More information

Lab 5 Sorting with Linked Lists

Lab 5 Sorting with Linked Lists UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C WINTER 2013 Lab 5 Srting with Linked Lists Intrductin Reading This lab intrduces

More information

* The mode WheelWork starts in can be changed using command line options.

* The mode WheelWork starts in can be changed using command line options. OperatiOns Manual Overview Yur muse mst likely has a wheel n it. If yu lk at yur muse frm the side, that wheel rtates clckwise and cunterclckwise, like a knb. If yu lk at the muse frm the tp, the wheel

More information

FIREWALL RULE SET OPTIMIZATION

FIREWALL RULE SET OPTIMIZATION Authr Name: Mungle Mukupa Supervisr : Mr Barry Irwin Date : 25 th Octber 2010 Security and Netwrks Research Grup Department f Cmputer Science Rhdes University Intrductin Firewalls have been and cntinue

More information

Systems & Operating Systems

Systems & Operating Systems McGill University COMP-206 Sftware Systems Due: Octber 1, 2011 n WEB CT at 23:55 (tw late days, -5% each day) Systems & Operating Systems Graphical user interfaces have advanced enugh t permit sftware

More information

Contents: Module. Objectives. Lesson 1: Lesson 2: appropriately. As benefit of good. with almost any planning. it places on the.

Contents: Module. Objectives. Lesson 1: Lesson 2: appropriately. As benefit of good. with almost any planning. it places on the. 1 f 22 26/09/2016 15:58 Mdule Cnsideratins Cntents: Lessn 1: Lessn 2: Mdule Befre yu start with almst any planning. apprpriately. As benefit f gd T appreciate architecture. it places n the understanding

More information

Please contact technical support if you have questions about the directory that your organization uses for user management.

Please contact technical support if you have questions about the directory that your organization uses for user management. Overview ACTIVE DATA CALENDAR LDAP/AD IMPLEMENTATION GUIDE Active Data Calendar allws fr the use f single authenticatin fr users lgging int the administrative area f the applicatin thrugh LDAP/AD. LDAP

More information

INSTALLING CCRQINVOICE

INSTALLING CCRQINVOICE INSTALLING CCRQINVOICE Thank yu fr selecting CCRQInvice. This dcument prvides a quick review f hw t install CCRQInvice. Detailed instructins can be fund in the prgram manual. While this may seem like a

More information

NVIDIA S KEPLER ARCHITECTURE. Tony Chen 2015

NVIDIA S KEPLER ARCHITECTURE. Tony Chen 2015 NVIDIA S KEPLER ARCHITECTURE Tny Chen 2015 Overview 1. Fermi 2. Kepler a. SMX Architecture b. Memry Hierarchy c. Features 3. Imprvements 4. Cnclusin 5. Brief verlk int Maxwell Fermi ~2010 40 nm TSMC (sme

More information

Project #1 - Fraction Calculator

Project #1 - Fraction Calculator AP Cmputer Science Liberty High Schl Prject #1 - Fractin Calculatr Students will implement a basic calculatr that handles fractins. 1. Required Behavir and Grading Scheme (100 pints ttal) Criteria Pints

More information

Create Your Own Report Connector

Create Your Own Report Connector Create Yur Own Reprt Cnnectr Last Updated: 15-December-2009. The URS Installatin Guide dcuments hw t cmpile yur wn URS Reprt Cnnectr. This dcument prvides a guide t what yu need t create in yur cnnectr

More information

Summary. Server environment: Subversion 1.4.6

Summary. Server environment: Subversion 1.4.6 Surce Management Tl Server Envirnment Operatin Summary In the e- gvernment standard framewrk, Subversin, an pen surce, is used as the surce management tl fr develpment envirnment. Subversin (SVN, versin

More information

STUDIO DESIGNER. Design Projects Basic Participant

STUDIO DESIGNER. Design Projects Basic Participant Design Prjects Basic Participant Thank yu fr enrlling in Design Prjects 2 fr Studi Designer. Please feel free t ask questins as they arise. If we start running shrt n time, we may hld ff n sme f them and

More information

Log shipping is a HA option. Log shipping ensures that log backups from Primary are

Log shipping is a HA option. Log shipping ensures that log backups from Primary are LOG SHIPPING Lg shipping is a HA ptin. Lg shipping ensures that lg backups frm Primary are cntinuusly applied n standby. Lg shipping fllws a warm standby methd because manual prcess is invlved t ensure

More information

Pages of the Template

Pages of the Template Instructins fr Using the Oregn Grades K-3 Engineering Design Ntebk Template Draft, 12/8/2011 These instructins are fr the Oregn Grades K-3 Engineering Design Ntebk template that can be fund n the web at

More information

TRAINING GUIDE. Overview of Lucity Spatial

TRAINING GUIDE. Overview of Lucity Spatial TRAINING GUIDE Overview f Lucity Spatial Overview f Lucity Spatial In this sessin, we ll cver the key cmpnents f Lucity Spatial. Table f Cntents Lucity Spatial... 2 Requirements... 2 Setup... 3 Assign

More information

Overview of Threads and Concurrency

Overview of Threads and Concurrency CS533 Cncepts f Operating Systems Class 2 Overview f Threads and Cncurrency Questins Why study threads and cncurrent prgramming in an OS class? What is a thread? Is multi-threaded prgramming easy? If nt,

More information

Report Writing Guidelines Writing Support Services

Report Writing Guidelines Writing Support Services Reprt Writing Guidelines Writing Supprt Services Overview The guidelines presented here shuld give yu an idea f general cnventins fr writing frmal reprts. Hwever, yu shuld always cnsider yur particular

More information

It has hardware. It has application software.

It has hardware. It has application software. Q.1 What is System? Explain with an example A system is an arrangement in which all its unit assemble wrk tgether accrding t a set f rules. It can als be defined as a way f wrking, rganizing r ding ne

More information

Link-layer switches. Jurassic Park* LANs with backbone hubs are good. LANs with backbone hubs are bad. Hubs, bridges, and switches

Link-layer switches. Jurassic Park* LANs with backbone hubs are good. LANs with backbone hubs are bad. Hubs, bridges, and switches Link-layer switches Jurassic Park* Hubs, bridges, and switches CS4 Cmputer Netwrks Department f Cmputer Science Wellesley Cllege *A multi-tier hub design. Switches 0- LANs with backbne hubs are gd. Prvide

More information

IT Essentials (ITE v6.0) Chapter 5 Exam Answers 100% 2016

IT Essentials (ITE v6.0) Chapter 5 Exam Answers 100% 2016 IT Essentials (ITE v6.0) Chapter 5 Exam Answers 100% 2016 1. What are tw functins f an perating system? (Chse tw.) cntrlling hardware access managing applicatins text prcessing flw chart editing prgram

More information

ClubRunner. Volunteers Module Guide

ClubRunner. Volunteers Module Guide ClubRunner Vlunteers Mdule Guide 2014 Vlunteer Mdule Guide TABLE OF CONTENTS Overview... 3 Basic vs. Enhanced Versins... 3 Navigatin... 4 Create New Vlunteer Signup List... 5 Manage Vlunteer Tasks... 7

More information

CS1150 Principles of Computer Science Boolean, Selection Statements (Part II)

CS1150 Principles of Computer Science Boolean, Selection Statements (Part II) CS1150 Principles f Cmputer Science Blean, Selectin Statements (Part II) Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang CS1150 Review What s the scientific ntatin f 9,200,000?

More information

Custodial Integrator. Release Notes. Version 3.11 (TLM)

Custodial Integrator. Release Notes. Version 3.11 (TLM) Custdial Integratr Release Ntes Versin 3.11 (TLM) 2018 Mrningstar. All Rights Reserved. Custdial Integratr Prduct Versin: V3.11.001 Dcument Versin: 020 Dcument Issue Date: December 14, 2018 Technical Supprt:

More information

1 Version Spaces. CS 478 Homework 1 SOLUTION

1 Version Spaces. CS 478 Homework 1 SOLUTION CS 478 Hmewrk SOLUTION This is a pssible slutin t the hmewrk, althugh there may be ther crrect respnses t sme f the questins. The questins are repeated in this fnt, while answers are in a mnspaced fnt.

More information

One reason for controlling access to an object is to defer the full cost of its creation and initialization until we actually need to use it.

One reason for controlling access to an object is to defer the full cost of its creation and initialization until we actually need to use it. Prxy 1 Intent Prvide a surrgate r placehlder fr anther bject t cntrl access t it. Als Knwn As Surrgate Mtivatin One reasn fr cntrlling access t an bject is t defer the full cst f its creatin and initializatin

More information

Towne Information Systems, Inc. Inter-Office Correspondence

Towne Information Systems, Inc. Inter-Office Correspondence Twne Infrmatin Systems, Inc. Inter-Office Crrespndence Date: 2/25/2019 Frm: Bill Salyers Subject: Getting Started with O365 By nw yu shuld have read abut ur mve t Micrsft O365 a new versin f Micrsft Office.

More information

CS1150 Principles of Computer Science Methods

CS1150 Principles of Computer Science Methods CS1150 Principles f Cmputer Science Methds Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Clrad Springs Passing Parameters public static vid nprintln(string message,

More information

2. What is the most cost-effective method of solving interface congestion that is caused by a high level of traffic between two switches?

2. What is the most cost-effective method of solving interface congestion that is caused by a high level of traffic between two switches? CCNA 3 Chapter 3 v5.0 Exam Answers 2015 (100%) 1. Refer t the exhibit. Which switching technlgy wuld allw each access layer switch link t be aggregated t prvide mre bandwidth between each Layer 2 switch

More information

Copy your Course: Export and Import

Copy your Course: Export and Import Center f elearning The exprt curse feature creates a ZIP file f yur curse cntent yu will imprt t yur new curse. Exprt packages are dwnladed and imprted as cmpressed ZIP files. D nt unzip an exprt package

More information

$ARCSIGHT_HOME/current/user/agent/map. The files are named in sequential order such as:

$ARCSIGHT_HOME/current/user/agent/map. The files are named in sequential order such as: Lcatin f the map.x.prperties files $ARCSIGHT_HOME/current/user/agent/map File naming cnventin The files are named in sequential rder such as: Sme examples: 1. map.1.prperties 2. map.2.prperties 3. map.3.prperties

More information

CS1150 Principles of Computer Science Midterm Review

CS1150 Principles of Computer Science Midterm Review CS1150 Principles f Cmputer Science Midterm Review Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Clrad Springs Office hurs 10/15, Mnday, 12:05 12:50pm 10/17, Wednesday

More information

Project 4: System Calls 1

Project 4: System Calls 1 CMPT 300 1. Preparatin Prject 4: System Calls 1 T cmplete this assignment, it is vital that yu have carefully cmpleted and understd the cntent in the fllwing guides which are psted n the curse website:

More information

Welcome to Remote Access Services (RAS) Virtual Desktop vs Extended Network. General

Welcome to Remote Access Services (RAS) Virtual Desktop vs Extended Network. General Welcme t Remte Access Services (RAS) Our gal is t prvide yu with seamless access t the TD netwrk, including the TD intranet site, yur applicatins and files, and ther imprtant wrk resurces -- whether yu

More information

The Java if statement is used to test the condition. It checks Boolean condition: true or false. There are various types of if statement in java.

The Java if statement is used to test the condition. It checks Boolean condition: true or false. There are various types of if statement in java. Java If-else Statement The Java if statement is used t test the cnditin. It checks Blean cnditin: true r false. There are varius types f if statement in java. if statement if-else statement if-else-if

More information

DECISION CONTROL CONSTRUCTS IN JAVA

DECISION CONTROL CONSTRUCTS IN JAVA DECISION CONTROL CONSTRUCTS IN JAVA Decisin cntrl statements can change the executin flw f a prgram. Decisin cntrl statements in Java are: if statement Cnditinal peratr switch statement If statement The

More information

Spin Leading OS Research Astray?

Spin Leading OS Research Astray? Advanced Tpics in Cmputer Systems, CS262B Prf Eric A. Brewer Spin Leading OS Research Astray? January 27, 2004 I. Extensibility, Safety and Perfrmance in the SPIN Operating System Gal: extensible OS that

More information

Operating systems. Module 15 kernel I/O subsystem. Tami Sorgente 1

Operating systems. Module 15 kernel I/O subsystem. Tami Sorgente 1 Operating systems Mdule 15 kernel I/O subsystem Tami Srgente 1 SWAP SPACE MANAGEMENT Swap space can be defined as a temprary strage lcatin that is used when system s memry requirements exceed the size

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Cmp 541 Digital Lgic and Cmputer Design Prf. Mntek Singh Spring 2019 Lab #7: A Basic Datapath; and a Sprite-Based Display Issued Fri 3/1/19; Due Mn 3/25/19

More information

FIT 100. Lab 10: Creating the What s Your Sign, Dude? Application Spring 2002

FIT 100. Lab 10: Creating the What s Your Sign, Dude? Application Spring 2002 FIT 100 Lab 10: Creating the What s Yur Sign, Dude? Applicatin Spring 2002 1. Creating the Interface fr SignFinder:... 1 2. Creating Variables t hld values... 4 3. Assigning Values t Variables... 4 4.

More information

Computer Information Systems Department. Computer Information Systems: Programming. o Work Experience, General. o Open Entry/Exit

Computer Information Systems Department. Computer Information Systems: Programming. o Work Experience, General. o Open Entry/Exit SECTION A - Curse Infrmatin 1. Curse ID: 2. Curse Title: 3. Divisin: 4. Department: 5. Subject: 6. Shrt Curse Title: 7. Effective Term:: CISP 21 Prgramming in Java Business Divisin Cmputer Infrmatin Systems

More information

ECE 545 Project Deliverables

ECE 545 Project Deliverables Tp-level flder: _ Secnd-level flders: 1_assumptins 2_blck_diagrams 3_interface 4_ASM_charts 5_surce_cdes 6_verificatin 7_timing_analysis 8_results 9_benchmarking 10_bug_reprts

More information

Chapter 6: Lgic Based Testing LOGIC BASED TESTING: This unit gives an indepth verview f lgic based testing and its implementatin. At the end f this unit, the student will be able t: Understand the cncept

More information

Overview of OPC Alarms and Events

Overview of OPC Alarms and Events Overview f OPC Alarms and Events Cpyright 2016 EXELE Infrmatin Systems, Inc. EXELE Infrmatin Systems (585) 385-9740 Web: http://www.exele.cm Supprt: supprt@exele.cm Sales: sales@exele.cm Table f Cntents

More information

Gmail and Google Drive for Rutherford County Master Gardeners

Gmail and Google Drive for Rutherford County Master Gardeners Gmail and Ggle Drive fr Rutherfrd Cunty Master Gardeners Gmail Create a Ggle Gmail accunt. https://www.yutube.cm/watch?v=kxbii2dprmc&t=76s (Hw t Create a Gmail Accunt 2014 by Ansn Alexander is a great

More information

Test Pilot User Guide

Test Pilot User Guide Test Pilt User Guide Adapted frm http://www.clearlearning.cm Accessing Assessments and Surveys Test Pilt assessments and surveys are designed t be delivered t anyne using a standard web brwser and thus

More information

Computer Organization and Architecture

Computer Organization and Architecture Campus de Gualtar 4710-057 Braga UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA Departament de Infrmática Cmputer Organizatin and Architecture 5th Editin, 2000 by William Stallings Table f Cntents I. OVERVIEW.

More information

Greeting a client who is coming back to your salon Consulting with a client you have worked with before Describing several different hairstyles

Greeting a client who is coming back to your salon Consulting with a client you have worked with before Describing several different hairstyles Unit 3 Greeting a Returning Custmer Objectives: Greeting a client wh is cming back t yur saln Cnsulting with a client yu have wrked with befre Describing several different hairstyles It is nt enugh t get

More information

Preparation: Follow the instructions on the course website to install Java JDK and jgrasp on your laptop.

Preparation: Follow the instructions on the course website to install Java JDK and jgrasp on your laptop. Lab 1 Name: Checked: (instructr r TA initials) Objectives: Learn abut jgrasp - the prgramming envirnment that we will be using (IDE) Cmpile and run a Java prgram Understand the relatinship between a Java

More information

Employee Self Service (ESS) FAQs

Employee Self Service (ESS) FAQs Emplyee Self Service (ESS) FAQs ESS User Access & Lgin/Passwrd Inf Upgrade Changes t ESS Recently we upgrades t versin 10 f ur HR/Payrll system which includes the Emplyee Self Service (ESS) mdule. Just

More information

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 1 - Calculatr Intrductin In this lab yu will be writing yur first

More information

Troubleshooting of network problems is find and solve with the help of hardware and software is called troubleshooting tools.

Troubleshooting of network problems is find and solve with the help of hardware and software is called troubleshooting tools. Q.1 What is Trubleshting Tls? List their types? Trubleshting f netwrk prblems is find and slve with the help f hardware and sftware is called trubleshting tls. Trubleshting Tls - Hardware Tls They are

More information

Integrating QuickBooks with TimePro

Integrating QuickBooks with TimePro Integrating QuickBks with TimePr With TimePr s QuickBks Integratin Mdule, yu can imprt and exprt data between TimePr and QuickBks. Imprting Data frm QuickBks The TimePr QuickBks Imprt Facility allws data

More information

Lesson 4 Advanced Transforms

Lesson 4 Advanced Transforms Lessn 4 Advanced Transfrms Chapter 4B Extract, Split and replace 10 Minutes Chapter Gals In this Chapter, yu will: Understand hw t use the fllwing transfrms: Replace Extract Split Chapter Instructins YOUR

More information

Definiens XD Release Notes

Definiens XD Release Notes Definiens XD 1.1.2 Release Ntes Errr! N text f specified style in dcument. Definiens XD 1.1.2 - Release Ntes Imprint and Versin Dcument Versin XD 1.1.2 Cpyright 2009 Definiens AG. All rights reserved.

More information

Laboratory #13: Trigger

Laboratory #13: Trigger Schl f Infrmatin and Cmputer Technlgy Sirindhrn Internatinal Institute f Technlgy Thammasat University ITS351 Database Prgramming Labratry Labratry #13: Trigger Objective: - T learn build in trigger in

More information

Ascii Art Capstone project in C

Ascii Art Capstone project in C Ascii Art Capstne prject in C CSSE 120 Intrductin t Sftware Develpment (Rbtics) Spring 2010-2011 Hw t begin the Ascii Art prject Page 1 Prceed as fllws, in the rder listed. 1. If yu have nt dne s already,

More information

Upgrading Kaltura MediaSpace TM Enterprise 1.0 to Kaltura MediaSpace TM Enterprise 2.0

Upgrading Kaltura MediaSpace TM Enterprise 1.0 to Kaltura MediaSpace TM Enterprise 2.0 Upgrading Kaltura MediaSpace TM Enterprise 1.0 t Kaltura MediaSpace TM Enterprise 2.0 Assumptins: The existing cde was checked ut f: svn+ssh://mediaspace@kelev.kaltura.cm/usr/lcal/kalsurce/prjects/m ediaspace/scial/branches/production/website/.

More information

The programming for this lab is done in Java and requires the use of Java datagrams.

The programming for this lab is done in Java and requires the use of Java datagrams. Lab 2 Traffic Regulatin This lab must be cmpleted individually Purpse f this lab: In this lab yu will build (prgram) a netwrk element fr traffic regulatin, called a leaky bucket, that runs ver a real netwrk.

More information

1on1 Sales Manager Tool. User Guide

1on1 Sales Manager Tool. User Guide 1n1 Sales Manager Tl User Guide Table f Cntents Install r Upgrade 1n1 Page 2 Setting up Security fr Dynamic Reprting Page 3 Installing ERA-IGNITE Page 4 Cnverting (Imprting) Queries int Dynamic Reprting

More information

Municode Website Instructions

Municode Website Instructions Municde Website instructins Municde Website Instructins The new and imprved Municde site allws yu t navigate t, print, save, e-mail and link t desired sectins f the Online Cde f Ordinances with greater

More information