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

Size: px
Start display at page:

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

Transcription

1 CS510 Cncurrent Systems Class 2 A Lck-Free Multiprcessr OS Kernel

2 The Synthesis kernel A research prject at Clumbia University Synthesis V.0 ( Uniprcessr (Mtrla N virtual memry Synthesis V.1 Dual 68030s virtual memry, threads, etc Lck-free kernel CS510 - Cncurrent Systems 2

3 Lcking Why d kernels nrmally use lcks? Lcks supprt a cncurrent prgramming style based n mutual exclusin Acquire lck n entry t critical sectins Release lck n exit Blck r spin if lck is held Only ne thread at a time executes the critical sectin Lcks prevent cncurrent access and enable sequential reasning abut critical sectin cde CS510 - Cncurrent Systems 3

4 S why nt use lcking? Granularity decisins Simplicity vs perfrmance Increasingly pr perfrmance (superscalar CPUs) Cmplicates cmpsitin Need t knw the lcks I m hlding befre calling a functin Need t knw if its safe t call while hlding thse lcks? Risk f deadlck Prpagates thread failures t ther threads What if I crash while hlding a lck? CS510 - Cncurrent Systems 4

5 Is there an alternative? Use lck-free, ptimistic synchrnizatin Execute the critical sectin uncnstrained, and check at the end t see if yu were the nly ne If s, cntinue. If nt rll back and retry Synthesis uses n lcks at all! Gal: Shw that Lck-Free synchrnizatin is... Sufficient fr all OS synchrnizatin needs Practical High perfrmance CS510 - Cncurrent Systems 5

6 Lcking is pessimistic Murphy's law: If it can g wrng, it will... In cncurrent prgramming: If we can have a race cnditin, we will... If anther thread culd mess us up, it will... Slutin: Hide the resurces behind lcked drs Make everyne wait until we're dne That is...if there was anyne at all We pay the same cst either way CS510 - Cncurrent Systems 6

7 Optimistic synchrnizatin The cmmn case is ften little r n cntentin Or at least it shuld be! D we really need t shut ut the whle wrld? Why nt prceed ptimistically and nly incur cst if we encunter cntentin? If there's little cntentin, there's n starvatin S we dn t need t be wait-free which guarantees n starvatin Lck-free is easier and cheaper than wait-free Small critical sectins really help perfrmance CS510 - Cncurrent Systems 7

8 Hw des it wrk? Cpy Write dwn any state we need in rder t retry D the wrk Perfrm the cmputatin Atmically test and cmmit r retry Cmpare saved assumptins with the actual state f the wrld If different, und wrk, and start ver with new state If precnditins still hld, cmmit the results and cntinue This is where the wrk becmes visible t the wrld (ideally) CS510 - Cncurrent Systems 8

9 Example stack pp Pp() { retry: ld_sp = SP; new_sp = ld_sp + 1; elem = *ld_sp; if (CAS(ld_SP, new_sp, &SP) == FAIL) gt retry; return elem; } CS510 - Cncurrent Systems 9

10 Example stack pp lp Pp() { retry: ld_sp = SP; new_sp = ld_sp + 1; elem = *ld_sp; if (CAS(ld_SP, new_sp, &SP) == FAIL) gt retry; return elem; } CS510 - Cncurrent Systems 10

11 Example stack pp Lcals - wn t change! Pp() { retry: ld_sp = SP; new_sp = ld_sp + 1; elem = *ld_sp; if (CAS(ld_SP, new_sp, &SP) == FAIL) gt retry; return elem; } Glbal - may change any time! Atmic read-mdify-write instructin CS510 - Cncurrent Systems 11

12 CAS CAS single wrd Cmpare and Swap An atmic read-mdify-write instructin Semantics f the single atmic instructin are: CAS(cpy, update, mem_addr) { if (*mem_addr == cpy) { *mem_addr = update; return SUCCESS; } else return FAIL; } CS510 - Cncurrent Systems 12

13 Example stack pp Pp() { retry: ld_sp = SP; new_sp = ld_sp + 1; elem = *ld_sp; if (CAS(ld_SP, new_sp, &SP) == FAIL) gt retry; return elem; } CS510 - Cncurrent Systems 13

14 Example stack pp Pp() { retry: ld_sp = SP; new_sp = ld_sp + 1; D Wrk elem = *ld_sp; if (CAS(ld_SP, new_sp, &SP) == FAIL) gt retry; return elem; } CS510 - Cncurrent Systems 14

15 Example stack pp Pp() { retry: ld_sp = SP; new_sp = ld_sp + 1; elem = *ld_sp; if (CAS(ld_SP, new_sp, &SP) == FAIL) gt retry; return elem; } CS510 - Cncurrent Systems 15

16 Example stack pp Pp() { retry: ld_sp = SP; new_sp = ld_sp + 1; D Wrk elem = *ld_sp; if (CAS(ld_SP, new_sp, &SP) == FAIL) gt retry; return elem; } CS510 - Cncurrent Systems 16

17 What made it wrk? It wrks because we can atmically cmmit the new stack pinter value and cmpare the ld stack pinter with the ne at cmmit time This allws us t verify n ther thread has accessed the stack cncurrently with ur peratin i.e. since we tk the cpy Well, at least we knw the address in the stack pinter is the same as it was when we started Des this guarantee there was n cncurrent activity? Des it matter? We have t be careful! CS510 - Cncurrent Systems 17

18 Stack push Push(elem) { retry: ld_sp = SP; new_sp = ld_sp 1; ld_val = *new_sp; if(cas2(ld_sp, ld_val, new_sp, elem, &SP, new_sp) == ( FAIL gt retry; } CS510 - Cncurrent Systems 18

19 Stack push Push(elem) { retry: Cpy ld_sp = SP; new_sp = ld_sp 1; ld_val = *new_sp; if(cas2(ld_sp, ld_val, new_sp, elem, &SP, new_sp) == ( FAIL gt retry; } CS510 - Cncurrent Systems 19

20 Stack push Push(elem) { retry: D Wrk ld_sp = SP; new_sp = ld_sp 1; ld_val = *new_sp; if(cas2(ld_sp, ld_val, new_sp, elem, &SP, new_sp) == ( FAIL gt retry; } CS510 - Cncurrent Systems 20

21 Stack push Push(elem) { retry: ld_sp = SP; new_sp = ld_sp 1; ld_val = *new_sp; if(cas2(ld_sp, ld_val, new_sp, elem, &SP, new_sp) == ( FAIL gt retry; } CS510 - Cncurrent Systems 21

22 Stack push Push(elem) { retry: ld_sp = SP; Unnecessary new_sp = ld_sp 1; } ld_val = *new_sp; Cmpare if(cas2(ld_sp, ld_val, new_sp, elem, &SP, new_sp) == ( FAIL gt retry; Nte: this is a duble cmpare and swap! Its needed t atmically update bth the new item and the new stack pinter CS510 - Cncurrent Systems 22

23 CAS2 CAS2 = duble cmpare and swap Smetimes referred t as DCAS CAS2(cpy1, cpy2, update1, update2, addr1, addr2) { if(addr1 == cpy1 && addr2 == cpy2) { *addr1 = update1; *addr2 = update2; return SUCCEED; } else return FAIL; } CS510 - Cncurrent Systems 23

24 Stack push Push(elem) { retry: ld_sp = SP; new_sp = ld_sp 1; D Wrk ld_val = *new_sp; if(cas2(ld_sp, ld_val, new_sp, elem, &SP, new_sp) == ( FAIL gt retry; } CS510 - Cncurrent Systems 24

25 Optimistic synchrnizatin in Synthesis Saved state is nly ne r tw wrds Cmmit is dne via Cmpare-and-Swap (CAS), r Duble-Cmpare-and-Swap (CAS2 r DCAS) Can we really d everything in nly tw wrds? Every synchrnizatin prblem in the Synthesis kernel is reduced t nly needing t atmically tuch tw wrds at a time! Requires sme very clever kernel architecture CS510 - Cncurrent Systems 25

26 Apprach Build data structures that wrk cncurrently Stacks Queues (array-based t avid allcatins) Linked lists Then build the OS arund these data structures Cncurrency is a first-class cncern CS510 - Cncurrent Systems 26

27 Why is this trickier than it seems? List peratins shw insert and delete at the head This is the easy case What abut insert and delete f interir ndes? Next pinters f deletable ndes are nt safe t traverse, even the first time! Need reference cunts and DCAS t atmically cmpare and update the cunt and pinter values This is expensive, s we may chse t defer deletes instead (mre n this later in the curse) Specialized list and queue implementatins can reduce the verheads CS510 - Cncurrent Systems 27

28 The fall-back psitin If yu can t reduce the wrk such that it requires atmic updates t tw r less wrds: Create a single server thread and d the wrk sequentially n a single CPU Why is this faster than letting multiple CPUs try t d it cncurrently? Callers pack the requested peratin int a message Send it t the server (using lck-free queues!) Wait fr a respnse/callback/... The queue effectively serializes the peratins CS510 - Cncurrent Systems 28

29 Lck vs lck-free critical sectins CS510 - Cncurrent Systems 29

30 Cnclusins This is really intriguing! Its pssible t build an entire OS withut lcks! But d yu really want t? Des it add r remve cmplexity? What if hardware nly gives yu CAS and n DCAS? What if critical sectins are large r lng lived? What if cntentin is high? What if we can t und the wrk?? CS510 - Cncurrent Systems 30

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

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

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

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

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

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

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

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

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

CSE 361S Intro to Systems Software Lab #2

CSE 361S Intro to Systems Software Lab #2 Due: Thursday, September 22, 2011 CSE 361S Intr t Systems Sftware Lab #2 Intrductin This lab will intrduce yu t the GNU tls in the Linux prgramming envirnment we will be using fr CSE 361S this semester,

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

* 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

CS4500/5500 Operating Systems Page Replacement Algorithms and Segmentation

CS4500/5500 Operating Systems Page Replacement Algorithms and Segmentation Operating Systems Page Replacement Algrithms and Segmentatin Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Ref. MOSE, OS@Austin, Clumbia, Rchester Recap f

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

CMU 15-7/381 CSPs. Teachers: Ariel Procaccia Emma Brunskill (THIS TIME) With thanks to Ariel Procaccia and other prior instructions for slides

CMU 15-7/381 CSPs. Teachers: Ariel Procaccia Emma Brunskill (THIS TIME) With thanks to Ariel Procaccia and other prior instructions for slides CMU 15-7/381 CSPs Teachers: Ariel Prcaccia Emma Brunskill (THIS TIME) With thanks t Ariel Prcaccia and ther prir instructins fr slides Class Scheduling Wes 4 mre required classes t graduate A: Algrithms

More information

CSE 3320 Operating Systems Page Replacement Algorithms and Segmentation Jia Rao

CSE 3320 Operating Systems Page Replacement Algorithms and Segmentation Jia Rao CSE 0 Operating Systems Page Replacement Algrithms and Segmentatin Jia Ra Department f Cmputer Science and Engineering http://ranger.uta.edu/~jra Recap f last Class Virtual memry Memry verlad What if the

More information

Distributed Data Structures xfs: Serverless Network File System

Distributed Data Structures xfs: Serverless Network File System Advanced Tpics in Cmputer Systems, CS262B Prf Eric A. Brewer Distributed Data Structures xfs: Serverless Netwrk File System February 3, 2004 I. DDS Gal: new persistent strage layer that is a better fit

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

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

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

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

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

- 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

These tasks can now be performed by a special program called FTP clients.

These tasks can now be performed by a special program called FTP clients. FTP Cmmander FAQ: Intrductin FTP (File Transfer Prtcl) was first used in Unix systems a lng time ag t cpy and mve shared files. With the develpment f the Internet, FTP became widely used t uplad and dwnlad

More information

CCNA Security v2.0 Chapter 3 Exam Answers

CCNA Security v2.0 Chapter 3 Exam Answers CCNA Security v2.0 Chapter 3 Exam Answers 1. Because f implemented security cntrls, a user can nly access a server with FTP. Which AAA cmpnent accmplishes this? accunting accessibility auditing authrizatin

More information

Using SPLAY Tree s for state-full packet classification

Using SPLAY Tree s for state-full packet classification Curse Prject Using SPLAY Tree s fr state-full packet classificatin 1- What is a Splay Tree? These ntes discuss the splay tree, a frm f self-adjusting search tree in which the amrtized time fr an access,

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

Scroll down to New and another menu will appear. Select Folder and a new

Scroll down to New and another menu will appear. Select Folder and a new Creating a New Flder Befre we begin with Micrsft Wrd, create a flder n yur Desktp named Summer PD. T d this, right click anywhere n yur Desktp and a menu will appear. Scrll dwn t New and anther menu will

More information

In Java, we can use Comparable and Comparator to compare objects.

In Java, we can use Comparable and Comparator to compare objects. Pririty Queues CS231 - Fall 2017 Pririty Queues In a pririty queue, things get inserted int the queue in rder f pririty Pririty queues cntain entries = {keys, values /** Interface fr a key- value pair

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

Access the site directly by navigating to in your web browser.

Access the site directly by navigating to   in your web browser. GENERAL QUESTIONS Hw d I access the nline reprting system? Yu can access the nline system in ne f tw ways. G t the IHCDA website at https://www.in.gv/myihcda/rhtc.htm and scrll dwn the page t Cmpliance

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

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

Word 2007 The Ribbon, the Mini toolbar, and the Quick Access Toolbar

Word 2007 The Ribbon, the Mini toolbar, and the Quick Access Toolbar Wrd 2007 The Ribbn, the Mini tlbar, and the Quick Access Tlbar In this practice yu'll get the hang f using the new Ribbn, and yu'll als master the use f the helpful cmpanin tls, the Mini tlbar and the

More information

OpenSceneGraph Tutorial

OpenSceneGraph Tutorial OpenSceneGraph Tutrial Michael Kriegel & Meiyii Lim, Herit-Watt University, Edinburgh February 2009 Abut Open Scene Graph: Open Scene Graph is a mdern pen surce scene Graph. Open Scene Graph (r shrt OSG)

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

In-Class Exercise. Hashing Used in: Hashing Algorithm

In-Class Exercise. Hashing Used in: Hashing Algorithm In-Class Exercise Hashing Used in: Encryptin fr authenticatin Hash a digital signature, get the value assciated with the digital signature,and bth are sent separately t receiver. The receiver then uses

More information

Infrastructure Series

Infrastructure Series Infrastructure Series TechDc WebSphere Message Brker / IBM Integratin Bus Parallel Prcessing (Aggregatin) (Message Flw Develpment) February 2015 Authr(s): - IBM Message Brker - Develpment Parallel Prcessing

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

Using the Swiftpage Connect List Manager

Using the Swiftpage Connect List Manager Quick Start Guide T: Using the Swiftpage Cnnect List Manager The Swiftpage Cnnect List Manager can be used t imprt yur cntacts, mdify cntact infrmatin, create grups ut f thse cntacts, filter yur cntacts

More information

Concurrent Programming

Concurrent Programming 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

More information

Student Guide. Where can I print? Charges for Printing & Copying. Top up your Print Credits Online, whenever you like

Student Guide. Where can I print? Charges for Printing & Copying. Top up your Print Credits Online, whenever you like Student Guide Where can I print? Yu can print ut yur wrk frm any Printer acrss Campus; in the Libraries, Open Access areas and IT Labs (which are available t wrk in when they are nt being used fr teaching).

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

Assignment #5: Rootkit. ECE 650 Fall 2018

Assignment #5: Rootkit. ECE 650 Fall 2018 General Instructins Assignment #5: Rtkit ECE 650 Fall 2018 See curse site fr due date Updated 4/10/2018, changes nted in green 1. Yu will wrk individually n this assignment. 2. The cde fr this assignment

More information

CS4500/5500 Operating Systems Computer and Operating Systems Overview

CS4500/5500 Operating Systems Computer and Operating Systems Overview Operating Systems Cmputer and Operating Systems Overview Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Ref. MOS4E, OS@Austin, Clumbia, UWisc Overview Recap

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

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

Using Some of those Nifty New Features You Might Have Missed

Using Some of those Nifty New Features You Might Have Missed Using Sme f thse Nifty New Features Yu Might Have Missed Jhn Tuhy March 2018 S why this talk? New versins f DataFlex are released n a regular basis Releases ften add majr new capabilities such as the new

More information

of Prolog An Overview 1.1 An example program: defining family relations

of Prolog An Overview 1.1 An example program: defining family relations An Overview f Prlg This chaptereviews basic mechanisms f Prlg thrugh an example prgram. Althugh the treatment is largely infrmal many imprtant cncepts are intrduced. 1.1 An example prgram: defining family

More information

Speculative Parallelization. Devarshi Ghoshal

Speculative Parallelization. Devarshi Ghoshal Speculative Parallelizatin Devarshi Ghshal Indiana University, Blmingtn 10/10/2011 1 Agenda Speculative Parallelizatin FastFrward-A Speculatin using Checkpint/Restart System Design Sftware-based Speculatin

More information

Software Toolbox Extender.NET Component. Development Best Practices

Software Toolbox Extender.NET Component. Development Best Practices Page 1 f 16 Sftware Tlbx Extender.NET Cmpnent Develpment Best Practices Table f Cntents Purpse... 3 Intended Audience and Assumptins Made... 4 Seeking Help... 5 Using the ErrrPrvider Cmpnent... 6 What

More information

Lecture Notes. UNIX Fast File System Log-Structured File System Analysis and Evolution of Journaling File Systems

Lecture Notes. UNIX Fast File System Log-Structured File System Analysis and Evolution of Journaling File Systems Advanced Tpics in Cmputer Systems, CS262A Prf. Eric Brewer FFS/LFS Lecture Ntes UNIX Fast File System Lg-Structured File System Analysis and Evlutin f Jurnaling File Systems I. Backgrund i-nde: structure

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

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

RISKMAN REFERENCE GUIDE TO USER MANAGEMENT (Non-Network Logins)

RISKMAN REFERENCE GUIDE TO USER MANAGEMENT (Non-Network Logins) Intrductin This reference guide is aimed at managers wh will be respnsible fr managing users within RiskMan where RiskMan is nt cnfigured t use netwrk lgins. This guide is used in cnjunctin with the respective

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

Getting Started with the Web Designer Suite

Getting Started with the Web Designer Suite Getting Started with the Web Designer Suite The Web Designer Suite prvides yu with a slew f Dreamweaver extensins that will assist yu in the design phase f creating a website. The tls prvided in this suite

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

Operating Systems Notes

Operating Systems Notes Operating Systems Ntes Here are are sme rugh ntes I put tgether as part f revisin fr a uni curse. They are heavily based n the curse lecture ntes by Kevin Elphinstne and Lenid Ryzhyk. All diagramsare surced

More information

The Mathematics of the Rubik s Cube

The Mathematics of the Rubik s Cube The Mathematics f the Rubik s Cube Middle Schl Natinal Standards Cmmn Cre State Standards Materials Instructinal prgrams frm prekindergarten thrugh grade 12 shuld enable all students t: Understand numbers,

More information

Life Cycle Objectives (LCO) CSE 403, Spring 2006, Alverson

Life Cycle Objectives (LCO) CSE 403, Spring 2006, Alverson Life Cycle Objectives (LCO) CSE 403, Spring 2006, Alversn Readings Anchring the Sftware Prcess, Barry Behm, USC CSE 403, Spring 2006, Alversn Outline Life Cycle Objectives Assignment 1 LCO review fr yur

More information

Proper Document Usage and Document Distribution. TIP! How to Use the Guide. Managing the News Page

Proper Document Usage and Document Distribution. TIP! How to Use the Guide. Managing the News Page Managing the News Page TABLE OF CONTENTS: The News Page Key Infrmatin Area fr Members... 2 Newsletter Articles... 3 Adding Newsletter as Individual Articles... 3 Adding a Newsletter Created Externally...

More information

Arduino Basics Intro to ArduBlocks

Arduino Basics Intro to ArduBlocks Arduin Basics Intr t ArduBlcks Materials: Arduin ArduBlcks Sftware Arduin IDE Laptp Breadbard Wires Resistrs LEDs Ptentimeter Temprary Push Buttn Get the Sftware Dwnlad Arduin IDE https://www.arduin.cc/en/main/sftware

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

An Introduction to Crescendo s Maestro Application Delivery Platform

An Introduction to Crescendo s Maestro Application Delivery Platform An Intrductin t Crescend s Maestr Applicatin Delivery Platfrm Intrductin This dcument is intended t serve as a shrt intrductin t Crescend s Maestr Platfrm and its cre features/benefits. The dcument will

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

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

Quick Start Guide for EAB Campus Advisors

Quick Start Guide for EAB Campus Advisors Student Success Cllabrative Quick Start Guide fr EAB Campus Advisrs Clemsn has launched the EAB Campus platfrm fr advisrs and thers, with the gal f helping students explre a path t timely graduatin cmpletin

More information

Chapter 14. Basic Planning Methodology

Chapter 14. Basic Planning Methodology Chapter 14 Basic Planning Methdlgy This chapter prvides a basic and generic methdlgy fr planning prtectin requirements. It fcuses n the primary cnsideratins fr designing and implementing a basic strage

More information

Procurement Contract Portal. User Guide

Procurement Contract Portal. User Guide Prcurement Cntract Prtal User Guide Cntents Intrductin...2 Access the Prtal...2 Hme Page...2 End User My Cntracts...2 Buttns, Icns, and the Actin Bar...3 Create a New Cntract Request...5 Requester Infrmatin...5

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

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

Composition class is responsible for maintaining and updating the linebreaks of text displayed in a text viewer.

Composition class is responsible for maintaining and updating the linebreaks of text displayed in a text viewer. Strategy 1 Intent Define a family f algrithms, encapsulate each ne, and make them interchangeable. Strategy lets the algrithm vary independently frm clients that use it. Als Knwn As Plicy Mtivatin The

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

Using the Swiftpage Connect List Manager

Using the Swiftpage Connect List Manager Quick Start Guide T: Using the Swiftpage Cnnect List Manager The Swiftpage Cnnect List Manager can be used t imprt yur cntacts, mdify cntact infrmatin, create grups ut f thse cntacts, filter yur cntacts

More information

Performance of VSA in VMware vsphere 5

Performance of VSA in VMware vsphere 5 Perfrmance f VSA in VMware vsphere 5 Perfrmance Study TECHNICAL WHITE PAPER Table f Cntents Intrductin... 3 Executive Summary... 3 Test Envirnment... 3 Key Factrs f VSA Perfrmance... 4 Cmmn Strage Perfrmance

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

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

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

$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

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

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

Last time: search strategies

Last time: search strategies Last time: search strategies Uninfrmed: Use nly infrmatin available in the prblem frmulatin Breadth-first Unifrm-cst Depth-first Depth-limited Iterative deepening Infrmed: Use heuristics t guide the search

More information

UBC BLOGS NSYNC PLUGIN

UBC BLOGS NSYNC PLUGIN UBC BLOGS NSYNC PLUGIN THE NSYNC 1.1 PLUGIN IN UBC BLOGS ALLOWS YOU TO PERMIT OTHER SITES TO PUSH CONTENT FROM THEIR SITE TO YOUR SITE BY ASSIGNING POSTS TO PRE-DETERMINED CATEGORIES. As shwn belw, psts

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

Faculty Textbook Adoption Instructions

Faculty Textbook Adoption Instructions Faculty Textbk Adptin Instructins The Bkstre has partnered with MBS Direct t prvide textbks t ur students. This partnership ffers ur students and parents mre chices while saving them mney, including ptins

More information

Beyond Verification. Software Synthesis

Beyond Verification. Software Synthesis Beynd Verificatin Sftware Synthesis 1 What d we mean by synthesis We want t get cde frm high-level specs - Pythn and VB are pretty high level, why is that nt synthesis? Supprt cmpsitinal and incremental

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

Data Structure Interview Questions

Data Structure Interview Questions Data Structure Interview Questins A list f tp frequently asked Data Structure interview questins and answers are given belw. 1) What is Data Structure? Explain. Data structure is a way that specifies hw

More information

Quick Guide on implementing SQL Manage for SAP Business One

Quick Guide on implementing SQL Manage for SAP Business One Quick Guide n implementing SQL Manage fr SAP Business One The purpse f this dcument is t guide yu thrugh the quick prcess f implementing SQL Manage fr SAP B1 SQL Server databases. SQL Manage is a ttal

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

Administrativia. Assignment 1 due tuesday 9/23/2003 BEFORE midnight. Midterm exam 10/09/2003. CS 561, Sessions 8-9 1

Administrativia. Assignment 1 due tuesday 9/23/2003 BEFORE midnight. Midterm exam 10/09/2003. CS 561, Sessions 8-9 1 Administrativia Assignment 1 due tuesday 9/23/2003 BEFORE midnight Midterm eam 10/09/2003 CS 561, Sessins 8-9 1 Last time: search strategies Uninfrmed: Use nly infrmatin available in the prblem frmulatin

More information

Lab 0: Compiling, Running, and Debugging

Lab 0: Compiling, Running, and Debugging UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 0: Cmpiling, Running, and Debugging Intrductin Reading This is the

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

ComplyWorks Subscription User Guide. October 6, 2011

ComplyWorks Subscription User Guide. October 6, 2011 CmplyWrks Subscriptin User Guide Octber 6, 2011 Cntents 1. Register... 3 2. Get cmpliant... 3 a) Pay fr yur accunt... 3 b) Cllect the dcuments yu ll need... 4 c) Enter yur infrmatin... 4 d) Publish yur

More information

InformationNOW Letters

InformationNOW Letters InfrmatinNOW Letters Abut this Guide This Quick Reference Guide prvides an verview f letters in InfrmatinNOW. There are three types f letters: Student: May be used t create varius letters, frms, custmized

More information

You try: Find an equivalent fraction. 1 Find an equivalent fraction to 4. Model: Model: 6. Multiply by a Form of One: 8

You try: Find an equivalent fraction. 1 Find an equivalent fraction to 4. Model: Model: 6. Multiply by a Form of One: 8 WCCUSD Grade Find an equivalent fractin t. Mdel: Study Guide Yu try: Find an equivalent fractin. Mdel: Multiply by a Frm f One: Find an equivalent fractin t. Multiply by a Frm f One: Simplify: 0 Find an

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

CSCI L Topics in Computing Fall 2018 Web Page Project 50 points

CSCI L Topics in Computing Fall 2018 Web Page Project 50 points CSCI 1100-1100L Tpics in Cmputing Fall 2018 Web Page Prject 50 pints Assignment Objectives: Lkup and crrectly use HTML tags in designing a persnal Web page Lkup and crrectly use CSS styles Use a simple

More information

CSE 3320 Operating Systems Computer and Operating Systems Overview Jia Rao

CSE 3320 Operating Systems Computer and Operating Systems Overview Jia Rao CSE 3320 Operating Systems Cmputer and Operating Systems Overview Jia Ra Department f Cmputer Science and Engineering http://ranger.uta.edu/~jra Overview Recap f last class What is an perating system?

More information