Programming Languages
|
|
- Maximillian Hopkins
- 5 years ago
- Views:
Transcription
1 Programming Languages Dr. Michael Petter Exam First Name Surname Student ID Signature Fill out the fields above. Make use only of an indelible pen in black or blue color. Do not make use of Tipp-Ex or something similar. To solve the exam you have 90 minutes. Check that you received 10 pages. The maximum number of points that you can obtain in this exam is 40. You need 16 points to pass. One annotated double-sided A4 sheet is permitted Σ 1
2 Assignment 1 MESI [8 Points] In this assignment, we assume a Hardware Model with caches and store buffers. Consider the following initialization code, with int a[4] s values being initally zero: i=1; t=1; a[0]=1; Next, ths P 0 and P 1 are spawned: Th P 0 : Th P 1 : while(i<4){ while(i<4){ // A (i<4) && (t==1) if (t==0) { if (t==1) { a[i]=a[i-1]*2; a[i]=a[i-1]*2; i++; i++; t=1; t=0; } } } } 1. [1P] Fill in the gap with either will, will never or may or may not : Th P 1 will terminate. 2. [1P] There is at least one execution of the program, in which th P 0 accesses array a out of bounds. (a) [1P] Provide a configuration (i.e. cache states, variable values, reachable from program start) of the machine passing the program point marked with the comment A, which fullfills the annotated conditions, yet may ultimately lead to P 0 trying to write to a[4]. (b) [6P] Provide an interleaving of instructions of the run from comment A on your configuration to the actual array access out of bounds. Draw the sequence diagram! 2
3 Solution 1 2. (a) i=3s, t=1s, a[0]=1s,a[1]=2s,a[2]=4s,a[3]=0s (b) P 1 (t==1) a[2]*2 a[3]=... i++ t=0 P 0 (i<4) (t==0) a[3]*2 a[4]=... P 1 t i a[2] a[3] sbuff sbuff [ ] a[3] S0 i S3 t S1 (t==1) S1 S3 S4 S0 [ ] (c) a[i-1]*2 a[i]=... i++ t=0 M8 [ a[3]=8 ][ a[3]=8,i=4 [ a[3]=8 ] ] invalidate inv ack I I I M0S0 M4 S4 write back S0 write back write back S4 S8 S8 > time P 0 (i<4) 1P interleaving 1P cascade in P 1 1P write cascade in P 1 going to SB 1P invalidate P 0 & propagate writes to cache 1P /write back cascade 1P ing outdated i and actual i Subtractions for don ts -1P for ignored sbuff -1P for ignored i-accesses -1P for ignored messages -1P for ignored states -1P for ignored initial states (t==0) a[i-1]+2 a[i]=... 3
4 Assignment 2 Transactional Memory [8 Points] In this assignment, we assume a hardware model with caches and Restricted Transactional Memory, but without storebuffers or invalidation buffers. Consider the following initialization code with int a[6] s values being initally zero: a[0]=1; a[1]=1; a[2]=2; Next, ths P 3... P 5 and R 3... R 5 are spawned: Th P i : while(_xbegin()==1){ if(a[i-1]*a[i-2]==0) _xabort(); a[i]=a[i-1]+a[i-2]; _xend(); } Th R i : while(_xbegin()==1){ if(a[i-2]*a[i-3]==0) _xabort(); a[i]=2*a[i-2]+a[i-3]; _xend(); } 1. [1P] Fill in the gap with either will, will not or may or may not : Given enough time, all P i and R i will terminate. 2. [1P] Fill in the gap with either exactly once, exactly twice or once or twice : Given enough time, some value will be stored to the memory address of a[i] with i {3,..., 5} exactly twice. 3. [1P] Fill in the gap with either All sequences, There exists a sequence or There is no sequence : There exists a sequence of executions such that ths P i and P j with i j terminate without ever aborting. 4. [5P] Consider the following interleaving of ths P i and R j : P i _xbegin()==1 (a[i-1]*a[i-2]==0) a[i-1]+a[i-2] a[i]=... _xend() R j _xbegin()==1 (a[j-2]*a[j-3]==0) 2*a[j-2]+a[j-3] a[j]=... _xend() > time (a) [1P] Choose a value for i and j resp., such that this interleaving is possible. (b) [4P] Draw a happened-before diagram of this interleaving. You can assume i and j to reside in registers, i.e. they do not need to be modeled in cache. The initial cache states for all a[*] are invalid. 4
5 Solution 2 4. (a) i=3, j=4 _xbegin()==1 P a[1] 3 I a[2] I a[3] I (b) (a[2]*a[1]==0) a[2]+a[1] a[3]=... _xend() TE1 TS1 S1 TE2 TS2 S2 TM3 M3 mem resp. resp. resp. resp. inv. resp. inv. resp. a[4] I a[2] I a[1] I TS1 TS2 TM5 M5 S2 S1 R 4 _xbegin()==1 (a[2]*a[1]==0) 2*a[2]+a[1] a[4]=... _xend() 1P Transaction opened exclusive in P 3 1P TS? in both 1P local computation 1P Transaction commit in both 5
6 Assignment 3 Dispatching Consider the following Java code: [8 Points] public class A { public static void p(object o) { System.out.print(o+" ");} public A func(a a) { p("a.func(a)"); return a; } public A proc(b b) { func(b); return b; } public A meth(b b) { b.func(this); return b; } public A trai(a a) { p("a.trai(a)"); return a; } } public class B extends A implements V { public A func(b b) { p("b.func(b)"); return b; } public A func(a a) { p("b.func(a)"); return a; } } public interface V { public default A trai(a a) { A.p("V.trai(A)"); return a; } } Provide the console output for the following statements: 1. B b = new B(); A a = b; a.func(a); B.func(A) 2. B b = new B(); A a = b; b.func(b); B.func(B) 3. B b = new B(); A a = b; a.func(b); B.func(A) 4. B b = new B(); A a = b; b.proc(b); B.func(A) 5. B b = new B(); A a = b; b.meth(b); B.func(A) 6. B b = new B(); A a = b; b.func(a).func(b); B.func(A) B.func(A) 7. B b = new B(); A a = b; b.trai(b); A.trai(A) 8. B b = new B(); V v = b; v.trai(b); A.trai(A) 6
7 Assignment 4 Multiple Inheritance [8 Points] 1. [3P] Consider the following C++ class definitions: class A { public: int a; virtual void f(); } class B : public A { public: int b; virtual void f(); } class C : public A, public B { public: int c; virtual void f(); } Draw a memory representation diagram for a C-Object, and the virtual table for class C! 2. [3P] Consider the following C++ Class Definitions: class A { public: int a; virtual void f(); } class B : public virtual A { public: int b; virtual void f(); } class C : public B, public A { public: int c; virtual void f(); } Draw a memory representation diagram for a C-Object, and the virtual table for class C! 3. [2P] Extend the C++ Class hierarchy from assignment 4.2, such that the offset between the memory representation of class B and its virtual base A differs from the offset in assignment 4.2! Draw a memory representation diagram for your class-hierarchy! 7
8 Solution 4 1. B { B int b C int c 0 C::f() B C::Bf() 1P correct composition 1P correct s/subtables (incl.offset-to-top) 1P correct function pointers (incl. thunk marker) -1P forgotten 2nd A A1{ A2{ B int b C int c A2 0 C::f() A1 C::AinCf() A2 A2 2. C::AinBf() 1P correct composition 1P correct s/subtables (incl.offset-to-top & vbase-ptr) 1P correct function pointers (incl. vcall-offset, thunk marker) 3. class A { public: int a; virtual void f(); } class B : public virtual A { public: int b; virtual void f(); } class C : public B, public A { public: int c; virtual void f(); } class D : public C { public: int d; } A1{ A2{ B int b C int c D int d 1P correct extension of class specification 1P correct compostion idea 8
9 Assignment 5 Stream Wrapper Mixin with Prototypes Consider the following Lua code: [8 Points] Stream = {} Stream. index = Stream function Stream:write(character) function Stream:new(object) setmetatable(object,self) return object end Mutex = {} Mutex. index = Mutex function Mutex:lock()... end function Mutex:unlock()... end function Mutex:new() object = {} setmetatable(object,self) return object end... end 1. [4P] Create a memory diagram after execution of the code above together with: mystream = Stream:new({ mutex = Mutex:new() }) 2. [4P] Extend the program by a creator function. This function should produce a wrapper table for tables, that were created with Stream:new. More specifically, this wrapper table should delegate every lookup to the wrapped table, with one exception: in case, the function write is called, the new table should establish a Mutex-locked area around a call to the wrapped table s original write function. 9
10 Solution 5 Stream mystream index write new Stream 0x??? 0x??? Mutex index unlock lock Mutex 0x??? 0x??? meta Stream anonym new 0x??? mutex meta Mutex function creator(stream) local Wrapper = { mutex = Mutex:new() } setmetatable(wrapper,stream) function Wrapper:write(character) self.mutex:lock() getmetatable(self). index:write(character) self.mutex:unlock() end return Wrapper end 1P return a new table with a mutex for each stream 1P overwrite write with custom mutex access 1P call ancestor 1P delegate all else to ancestor 10
Programming Languages
Programming Languages Dr. Michael Petter WS 2016/17 Exercise Sheet 8 Assignment 8.1 Quiz 1. Can Smalltalk Inheritance be used to model Java s inheritance? What about attribute access? 2. In a Trait-based
More informationMarx Uncovering Class Hierarchies in C++ Programs
Marx Uncovering Class Hierarchies in C++ Programs NDSS 2017, San Diego Andre Pawlowski, Moritz Contag, Victor van der Veen, Chris Ouwehand, Thorsten Holz, Herbert Bos, Elias Anthonasopoulos, Cristiano
More informationUniversity of Waterloo Midterm Examination Term: Winter Year: 2013
University of Waterloo Midterm Examination Term: Winter Year: 2013 Student Family Name Student Given Name Student ID Number Section : Circle one (Brecht 11:30) (Brecht 1:00) Course Abbreviation and Number:
More informationMidterm assessment - MAKEUP Fall 2010
M257 MTA Faculty of Computer Studies Information Technology and Computing Date: /1/2011 Duration: 60 minutes 1-Version 1 M 257: Putting Java to Work Midterm assessment - MAKEUP Fall 2010 Student Name:
More informationLecture 25: Multiprocessors
Lecture 25: Multiprocessors Today s topics: Virtual memory wrap-up Snooping-based cache coherence protocol Directory-based cache coherence protocol Synchronization 1 TLB and Cache Is the cache indexed
More informationIntel Transactional Synchronization Extensions (Intel TSX) Linux update. Andi Kleen Intel OTC. Linux Plumbers Sep 2013
Intel Transactional Synchronization Extensions (Intel TSX) Linux update Andi Kleen Intel OTC Linux Plumbers Sep 2013 Elision Elision : the act or an instance of omitting something : omission On blocking
More informationMethod Resolution Approaches. Dynamic Dispatch
Method Resolution Approaches Static - procedural languages (w/o fcn ptrs) Dynamically determined by data values C with function pointers Compile-time analysis can estimate possible callees Dynamically
More informationGoal of Concurrency Control. Concurrency Control. Example. Solution 1. Solution 2. Solution 3
Goal of Concurrency Control Concurrency Control Transactions should be executed so that it is as though they executed in some serial order Also called Isolation or Serializability Weaker variants also
More informationTransactional Memory. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Transactional Memory Companion slides for The by Maurice Herlihy & Nir Shavit Our Vision for the Future In this course, we covered. Best practices New and clever ideas And common-sense observations. 2
More informationConcurrency Control. Chapter 17. Comp 521 Files and Databases Fall
Concurrency Control Chapter 17 Comp 521 Files and Databases Fall 2012 1 Conflict Serializable Schedules Recall conflicts (WR, RW, WW) were the cause of sequential inconsistency Two schedules are conflict
More informationMultithreading and Interactive Programs
Multithreading and Interactive Programs CS160: User Interfaces John Canny. Last time Model-View-Controller Break up a component into Model of the data supporting the App View determining the look of the
More informationPointers, Arrays and Parameters
Pointers, Arrays and Parameters This exercise is different from our usual exercises. You don t have so much a problem to solve by creating a program but rather some things to understand about the programming
More informationConcurrency Control. Chapter 17. Comp 521 Files and Databases Spring
Concurrency Control Chapter 17 Comp 521 Files and Databases Spring 2010 1 Conflict Serializable Schedules Recall conflicts (WW, RW, WW) were the cause of sequential inconsistency Two schedules are conflict
More informationConcurrent programming: From theory to practice. Concurrent Algorithms 2015 Vasileios Trigonakis
oncurrent programming: From theory to practice oncurrent Algorithms 2015 Vasileios Trigonakis From theory to practice Theoretical (design) Practical (design) Practical (implementation) 2 From theory to
More informationLecture 20: Transactional Memory. Parallel Computer Architecture and Programming CMU , Spring 2013
Lecture 20: Transactional Memory Parallel Computer Architecture and Programming Slide credit Many of the slides in today s talk are borrowed from Professor Christos Kozyrakis (Stanford University) Raising
More informationTransactional Memory. How to do multiple things at once. Benjamin Engel Transactional Memory 1 / 28
Transactional Memory or How to do multiple things at once Benjamin Engel Transactional Memory 1 / 28 Transactional Memory: Architectural Support for Lock-Free Data Structures M. Herlihy, J. Eliot, and
More informationPotential violations of Serializability: Example 1
CSCE 6610:Advanced Computer Architecture Review New Amdahl s law A possible idea for a term project Explore my idea about changing frequency based on serial fraction to maintain fixed energy or keep same
More informationCS 448 Database Systems. Serializability Issues
CS 448 Database Systems Serializability Issues 1 Locking in B+ Trees How can we efficiently lock a particular leaf node? Btw, don t confuse this with multiple granularity locking! One solution: Ignore
More informationCS 541 Database Systems. Serializability Issues
CS 541 Database Systems Serializability Issues 1 Locking in B+ Trees! How can we efficiently lock a particular leaf node? " Btw, don t confuse this with multiple granularity locking!! One solution: Ignore
More informationConcurrency Control. R &G - Chapter 19
Concurrency Control R &G - Chapter 19 Smile, it is the key that fits the lock of everybody's heart. Anthony J. D'Angelo, The College Blue Book Review DBMSs support concurrency, crash recovery with: ACID
More informationAtomic Transactions in Cilk Project Presentation 12/1/03
Atomic Transactions in Cilk 6.895 Project Presentation 12/1/03 Data Races and Nondeterminism int x = 0; 1: read x 1: write x time cilk void increment() { x = x + 1; cilk int main() { spawn increment();
More informationProblem Max Points Score Total 100
University of California, Berkeley College of Engineering Computer Science Division EECS Fall 2011 Anthony D. Joseph and Ion Stoica Final Exam December 15, 2011 CS162 Operating Systems Your Name: SID AND
More informationYork University AS/AK/ITEC INTRODUCTION TO DATA STRUCTURES. Midterm Sample I. Examiner: S. Chen Duration: One Hour and 30 Minutes
York University AS/AK/ITEC 2620 3.0 INTRODUCTION TO DATA STRUCTURES Midterm Sample I Examiner: S. Chen Duration: One Hour and 30 Minutes This exam is closed textbook(s) and closed notes. Use of any electronic
More informationConcurrency Control CHAPTER 17 SINA MERAJI
Concurrency Control CHAPTER 17 SINA MERAJI Announcement Sign up for final project presentations here: https://docs.google.com/spreadsheets/d/1gspkvcdn4an3j3jgtvduaqm _x4yzsh_jxhegk38-n3k/edit#gid=0 Deadline
More informationOptimistic Concurrency Control. April 13, 2017
Optimistic Concurrency Control April 13, 2017 1 Serializability Executing transactions serially wastes resources Interleaving transactions creates correctness errors Give transactions the illusion of isolation
More informationCPS 310 first midterm exam, 10/6/2014
CPS 310 first midterm exam, 10/6/2014 Your name please: Part 1. More fun with fork and exec* What is the output generated by this program? Please assume that each executed print statement completes, e.g.,
More informationMCS-378 Intraterm Exam 1 Serial #:
MCS-378 Intraterm Exam 1 Serial #: This exam is closed-book and mostly closed-notes. You may, however, use a single 8 1/2 by 11 sheet of paper with hand-written notes for reference. (Both sides of the
More informationMatriculation number:
Department of Informatics Prof. Dr. Michael Böhlen Binzmühlestrasse 14 8050 Zurich Phone: +41 44 635 4333 Email: boehlen@ifi.uzh.ch AlgoDat Repetition Exam Spring 2018 18.05.2018 Name: Matriculation number:
More informationSymmetric Multiprocessors: Synchronization and Sequential Consistency
Constructive Computer Architecture Symmetric Multiprocessors: Synchronization and Sequential Consistency Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology November
More informationCPS 310 second midterm exam, 11/14/2014
CPS 310 second midterm exam, 11/14/2014 Your name please: Part 1. Sticking points Consider the Java code snippet below. Is it a legal use of Java synchronization? What happens if two threads A and B call
More informationConcurrency Control. [R&G] Chapter 17 CS432 1
Concurrency Control [R&G] Chapter 17 CS432 1 Conflict Serializable Schedules Two schedules are conflict equivalent if: Involve the same actions of the same transactions Every pair of conflicting actions
More informationSynchronization. Heechul Yun. Disclaimer: some slides are adopted from the book authors and Dr. Kulkani
Synchronization Heechul Yun Disclaimer: some slides are adopted from the book authors and Dr. Kulkani 1 Synchronization Spinlock Recap Implement using h/w instructions (e.g., test-and-set) Mutex Sleep
More informationHigh Performance Computing
Master Degree Program in Computer Science and Networking, 2014-15 High Performance Computing 1 st appello January 13, 2015 Write your name, surname, student identification number (numero di matricola),
More informationFile Systems: Consistency Issues
File Systems: Consistency Issues File systems maintain many data structures Free list/bit vector Directories File headers and inode structures res Data blocks File Systems: Consistency Issues All data
More informationConcurrency Control. Conflict Serializable Schedules. Example. Chapter 17
Concurrency Control Chapter 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Conflict Serializable Schedules Two schedules are conflict equivalent if: Involve the same actions of the
More informationSynchronization via Transactions
Synchronization via Transactions 1 Concurrency Quiz If two threads execute this program concurrently, how many different final values of X are there? Initially, X == 0. Thread 1 Thread 2 void increment()
More informationEECE.4810/EECE.5730: Operating Systems Spring 2017 Homework 2 Solution
1. (15 points) A system with two dual-core processors has four processors available for scheduling. A CPU-intensive application (e.g., a program that spends most of its time on computation, not I/O or
More informationCSCE 145 Exam 1 Review Answers. This exam totals to 100 points. Follow the instructions. Good luck!
CSCE 145 Exam 1 Review Answers This exam totals to 100 points. Follow the instructions. Good luck! Chapter 1 This chapter was mostly terms so expect a fill in the blank style questions on definition. Remember
More informationYou have 90 minutes to complete the exam of InformatikIIb. The following rules apply:
Department of Informatics Prof. Dr. Michael Böhlen Binzmühlestrasse 14 8050 Zurich Phone: +41 44 635 4333 Email: boehlen@ifi.uzh.ch AlgoDat Nachholtest Spring 2016 20.05.2016 Name: Advice You have 90 minutes
More informationProgramming Languages
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Programming Languages Mixins Dr. Michael Petter Winter 2014 Mixins 1 / 30 What advanced techiques are there besides multiple implementation inheritance?
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4303 April 9, 2010 14.00-15.30 This exam (6 pages) consists of 52 True/False
More informationHardware Transactional Memory on Haswell
Hardware Transactional Memory on Haswell Viktor Leis Technische Universität München 1 / 15 Introduction transactional memory is a very elegant programming model transaction { transaction { a = a 10; c
More informationIntermediate Code Generation
Intermediate Code Generation In the analysis-synthesis model of a compiler, the front end analyzes a source program and creates an intermediate representation, from which the back end generates target
More informationLecture 25: Multiprocessors. Today s topics: Snooping-based cache coherence protocol Directory-based cache coherence protocol Synchronization
Lecture 25: Multiprocessors Today s topics: Snooping-based cache coherence protocol Directory-based cache coherence protocol Synchronization 1 Snooping-Based Protocols Three states for a block: invalid,
More informationCS558 Programming Languages Winter 2013 Lecture 8
OBJECT-ORIENTED PROGRAMMING CS558 Programming Languages Winter 2013 Lecture 8 Object-oriented programs are structured in terms of objects: collections of variables ( fields ) and functions ( methods ).
More informationInside core.async Channels. Rich Hickey
Inside core.async s Rich Hickey Warning! Implementation details Subject to change The Problems Single channel implementation For use from both dedicated threads and go threads simultaneously, on same channel
More informationCOMP3151/9151 Foundations of Concurrency Lecture 8
1 COMP3151/9151 Foundations of Concurrency Lecture 8 Transactional Memory Liam O Connor CSE, UNSW (and data61) 8 Sept 2017 2 The Problem with Locks Problem Write a procedure to transfer money from one
More informationCPSC 213, Winter 2009, Term 2 Midterm Exam Date: March 12, 2010; Instructor: Mike Feeley
CPSC 213, Winter 2009, Term 2 Midterm Exam Date: March 12, 2010; Instructor: Mike Feeley This is a closed book exam. No notes. Electronic calculators are permitted. Answer in the space provided. Show your
More informationManchester University Transactions for Scala
Manchester University Transactions for Scala Salman Khan salman.khan@cs.man.ac.uk MMNet 2011 Transactional Memory Alternative to locks for handling concurrency Locks Prevent all other threads from accessing
More informationMatriculation number:
Department of Informatics Prof. Dr. Michael Böhlen Binzmühlestrasse 14 8050 Zurich Phone: +41 44 635 4333 Email: boehlen@ifi.uzh.ch AlgoDat Midterm 2 Spring 2018 27.04.2018 Name: Matriculation number:
More informationSynchronization. Disclaimer: some slides are adopted from the book authors slides 1
Synchronization Disclaimer: some slides are adopted from the book authors slides 1 Recap Synchronization instructions test&set, compare&swap All or nothing Spinlock Spin on wait Good for short critical
More informationInter-process communication (IPC)
Inter-process communication (IPC) We have studied IPC via shared data in main memory. Processes in separate address spaces also need to communicate. Consider system architecture both shared memory and
More informationOptimistic Concurrency Control. April 18, 2018
Optimistic Concurrency Control April 18, 2018 1 Serializability Executing transactions serially wastes resources Interleaving transactions creates correctness errors Give transactions the illusion of isolation
More informationTopics. Java arrays. Definition. Data Structures and Information Systems Part 1: Data Structures. Lecture 3: Arrays (1)
Topics Data Structures and Information Systems Part 1: Data Structures Michele Zito Lecture 3: Arrays (1) Data structure definition: arrays. Java arrays creation access Primitive types and reference types
More informationCS 351 Final Review Quiz
CS 351 Final Review Quiz Notes: You must explain your answers to receive partial credit. You will lose points for incorrect extraneous information, even if the answer is otherwise correct. Question 1:
More informationConcurrent & Distributed Systems Supervision Exercises
Concurrent & Distributed Systems Supervision Exercises Stephen Kell Stephen.Kell@cl.cam.ac.uk November 9, 2009 These exercises are intended to cover all the main points of understanding in the lecture
More informationConcurrency Control. Chapter 17. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke
Concurrency Control Chapter 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Confict Serializable Schedules Two schedules are confict equivalent if: Involve the same actions of the same
More informationObject-Oriented Concepts
JAC444 - Lecture 3 Object-Oriented Concepts Segment 2 Inheritance 1 Classes Segment 2 Inheritance In this segment you will be learning about: Inheritance Overriding Final Methods and Classes Implementing
More informationLecture 24: Virtual Memory, Multiprocessors
Lecture 24: Virtual Memory, Multiprocessors Today s topics: Virtual memory Multiprocessors, cache coherence 1 Virtual Memory Processes deal with virtual memory they have the illusion that a very large
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4020 July 5, 2007 14.00-15.30 This exam (8 pages) consists of 60 True/False
More informationObject-Oriented Design Lecture 11 CS 3500 Spring 2010 (Pucella) Tuesday, Feb 16, 2010
Object-Oriented Design Lecture 11 CS 3500 Spring 2010 (Pucella) Tuesday, Feb 16, 2010 11 Polymorphism The functional iterator interface we have defined last lecture is nice, but it is not very general.
More informationCMSC Computer Architecture Lecture 15: Memory Consistency and Synchronization. Prof. Yanjing Li University of Chicago
CMSC 22200 Computer Architecture Lecture 15: Memory Consistency and Synchronization Prof. Yanjing Li University of Chicago Administrative Stuff! Lab 5 (multi-core) " Basic requirements: out later today
More informationHigh Performance Computing
Master Degree Program in Computer Science and Networking, 2017-18 High Performance Computing 2 nd Midterm - December 19, 2017 Write your name, surname, student identification number (numero di matricola),
More informationCS 31: Intro to Systems Pointers and Memory. Kevin Webb Swarthmore College October 2, 2018
CS 31: Intro to Systems Pointers and Memory Kevin Webb Swarthmore College October 2, 2018 Overview How to reference the location of a variable in memory Where variables are placed in memory How to make
More informationLast Class: Multiple Inheritance. Implementing Polymorphism. Criteria. Problem. Smalltalk Message Passing. Smalltalk
Last lass: Multiple Inheritance Multiple Inheritance Renaming Delegation Tricky cases in inheritance (stretchable circles) Implementing Polymorphism Not in the book... Problem How to efficiently find and
More informationCSE351 Spring 2018, Final Exam June 6, 2018
CSE351 Spring 2018, Final Exam June 6, 2018 Please do not turn the page until 2:30. Last Name: First Name: Student ID Number: Name of person to your left: Name of person to your right: Signature indicating:
More informationCSE 504: Compiler Design. Intermediate Representations Symbol Table
Intermediate Representations Symbol Table Pradipta De pradipta.de@sunykorea.ac.kr Current Topic Intermediate Representations Graphical IRs Linear IRs Symbol Table Information in a Program Compiler manages
More informationCSCI 135 Exam #0 Fundamentals of Computer Science I Fall 2012
CSCI 135 Exam #0 Fundamentals of Computer Science I Fall 2012 Name: This exam consists of 7 problems on the following 6 pages. You may use your single- side hand- written 8 ½ x 11 note sheet during the
More informationCS 160: Interactive Programming
CS 160: Interactive Programming Professor John Canny 3/8/2006 1 Outline Callbacks and Delegates Multi-threaded programming Model-view controller 3/8/2006 2 Callbacks Your code Myclass data method1 method2
More informationThread-Level Speculation on Off-the-Shelf Hardware Transactional Memory
Thread-Level Speculation on Off-the-Shelf Hardware Transactional Memory Rei Odaira Takuya Nakaike IBM Research Tokyo Thread-Level Speculation (TLS) [Franklin et al., 92] or Speculative Multithreading (SpMT)
More informationCSE 401 Final Exam. December 16, 2010
CSE 401 Final Exam December 16, 2010 Name You may have one sheet of handwritten notes plus the handwritten notes from the midterm. You may also use information about MiniJava, the compiler, and so forth
More informationMidterm Exam Solutions and Grading Guidelines March 3, 1999 CS162 Operating Systems
University of California, Berkeley College of Engineering Computer Science Division EECS Spring 1999 Anthony D. Joseph Midterm Exam Solutions and Grading Guidelines March 3, 1999 CS162 Operating Systems
More informationSynchronization. Disclaimer: some slides are adopted from the book authors slides 1
Synchronization Disclaimer: some slides are adopted from the book authors slides 1 Recap Synchronization instructions test&set, compare&swap All or nothing Spinlock Spin on wait Good for short critical
More informationCS 153 Design of Operating Systems Winter 2016
CS 153 Design of Operating Systems Winter 2016 Lecture 17: Paging Lecture Overview Recap: Today: Goal of virtual memory management: map 2^32 byte address space to physical memory Internal fragmentation
More informationSample Examination. Family Name:... Other Names:... Signature:... Student Number:...
Family Name:... Other Names:... Signature:... Student Number:... THE UNIVERSITY OF NEW SOUTH WALES SCHOOL OF COMPUTER SCIENCE AND ENGINEERING Sample Examination COMP1917 Computing 1 EXAM DURATION: 2 HOURS
More informationTime : 3 hours. Full Marks : 75. Own words as far as practicable. The questions are of equal value. Answer any five questions.
XEV (H-3) BCA (6) 2 0 1 0 Time : 3 hours Full Marks : 75 Candidates are required to give their answers in their Own words as far as practicable. The questions are of equal value. Answer any five questions.
More informationM4 Parallelism. Implementation of Locks Cache Coherence
M4 Parallelism Implementation of Locks Cache Coherence Outline Parallelism Flynn s classification Vector Processing Subword Parallelism Symmetric Multiprocessors, Distributed Memory Machines Shared Memory
More informationOOPLs - Inheritance. Inheritance
OOPLs - Inheritance Desirable properties Models of inheritance Class-based: with single, multiple parents Delegation Mix-ins Functionality as code reuse as subtyping 1 Inheritance Data abstraction plus
More informationIntroduction to Computer Science Midterm 3 Fall, Points
Introduction to Computer Science Fall, 2001 100 Points Notes 1. Tear off this sheet and use it to keep your answers covered at all times. 2. Turn the exam over and write your name next to the staple. Do
More informationsample exam Concurrent Programming tda383/dit390 Sample exam March 2016 Time:?? Place: Johanneberg
sample exam Concurrent Programming tda383/dit390 Sample exam March 2016 Time:?? Place: Johanneberg Responsible Michał Pałka 0707966066 Result Available no later than?-?-2016 Aids Max 2 books and max 4
More informationCPS 512 midterm exam #1, 10/7/2016
CPS 512 midterm exam #1, 10/7/2016 Your name please: NetID: Answer all questions. Please attempt to confine your answers to the boxes provided. If you don t know the answer to a question, then just say
More informationCode Generation & Parameter Passing
Code Generation & Parameter Passing Lecture Outline 1. Allocating temporaries in the activation record Let s optimize our code generator a bit 2. A deeper look into calling sequences Caller/Callee responsibilities
More informationMidterm 2. CMSC 430 Introduction to Compilers Fall Instructions Total 100. Name: November 20, 2013
Name: Midterm 2 CMSC 430 Introduction to Compilers Fall 2013 November 20, 2013 Instructions This exam contains 9 pages, including this one. Make sure you have all the pages. Write your name on the top
More informationStudent Name: University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science CS 162 Spring 2011 I. Stoica FINAL EXAM Friday, May 13, 2011 INSTRUCTIONS READ THEM
More informationLOCKLESS ALGORITHMS. Lockless Algorithms. CAS based algorithms stack order linked list
Lockless Algorithms CAS based algorithms stack order linked list CS4021/4521 2017 jones@scss.tcd.ie School of Computer Science and Statistics, Trinity College Dublin 2-Jan-18 1 Obstruction, Lock and Wait
More informationCS4411 Intro. to Operating Systems Exam 1 Fall points 9 pages
CS4411 Intro. to Operating Systems Exam 1 Fall 2009 1 CS4411 Intro. to Operating Systems Exam 1 Fall 2009 150 points 9 pages Name: Most of the following questions only require very short answers. Usually
More informationOperating System. Project #
Operating System Project #5 16. 11. 28 Project Plan 5 projects Install Xv6 System call + scheduling Virtual memory (stack growth + COW) Thread-support Concurrency Single-handed project Syncronization on
More informationTHE AUSTRALIAN NATIONAL UNIVERSITY Final Examination November COMP1730 / COMP6730 Programming for Scientists
THE AUSTRALIAN NATIONAL UNIVERSITY Final Examination November 2016 COMP1730 / COMP6730 Programming for Scientists Study Period: 15 minutes Time Allowed: 3 hours Permitted Materials: One A4 page (1 sheet)
More informationObject Model. Object Oriented Programming Spring 2015
Object Model Object Oriented Programming 236703 Spring 2015 Class Representation In Memory A class is an abstract entity, so why should it be represented in the runtime environment? Answer #1: Dynamic
More informationCS164: Midterm Exam 2
CS164: Midterm Exam 2 Fall 2004 Please read all instructions (including these) carefully. Write your name, login, and circle the time of your section. Read each question carefully and think about what
More informationYork University AK/ITEC OBJECT-BASED PROGRAMMING. Midterm Test Sample. Examiner: S.Y. Chen Duration: One Hour and Fifteen Minutes
York University AK/ITEC 1620 3.0 OBJECT-BASED PROGRAMMING Midterm Test Sample Examiner: S.Y. Chen Duration: One Hour and Fifteen Minutes This exam is closed textbook(s) and closed notes. Use of any electronic
More informationOperating Systems. Lab. Class Week 14
Operating Systems Lab. Class Week 14 Project Plan 6 projects 0. Install xv6 1. System call 2. Scheduling 3. Virtual memory 1 4. Virtual memory 2 5. Concurrency 1 6. Concurrency 2 Individual projects 2016-06-01
More informationParallel Computer Architecture Spring Distributed Shared Memory Architectures & Directory-Based Memory Coherence
Parallel Computer Architecture Spring 2018 Distributed Shared Memory Architectures & Directory-Based Memory Coherence Nikos Bellas Computer and Communications Engineering Department University of Thessaly
More information2 Threads vs. Processes
9 2 Threads vs. Processes A process includes an address space (defining all the code and data pages) a resource container (OS resource and accounting information) a thread of control, which defines where
More informationGraphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java
More informationWeek 8 Locking, Linked Lists, Scheduling Algorithms. Classes COP4610 / CGS5765 Florida State University
Week 8 Locking, Linked Lists, Scheduling Algorithms Classes COP4610 / CGS5765 Florida State University 1 Concurrency Aspects of Project 2 Synchronizing access to request queue(s) Multiple producers may
More informationCS 110 Practice Final Exam originally from Winter, Instructions: closed books, closed notes, open minds, 3 hour time limit.
Name CS 110 Practice Final Exam originally from Winter, 2003 Instructions: closed books, closed notes, open minds, 3 hour time limit. There are 4 sections for a total of 49 points. Part I: Basic Concepts,
More informationSoftware Development & Education Center. Java Platform, Standard Edition 7 (JSE 7)
Software Development & Education Center Java Platform, Standard Edition 7 (JSE 7) Detailed Curriculum Getting Started What Is the Java Technology? Primary Goals of the Java Technology The Java Virtual
More informationThere are 8 total numbered pages, 6 Questions. You have 60 minutes. Budget your time carefully!
UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING MIDTERM EXAMINATION, March, 2017 Third Year Materials ECE344H1 - Operating Systems Calculator Type: 2 Exam Type: A Examiner D. Yuan Please
More informationVirtual Memory. Kevin Webb Swarthmore College March 8, 2018
irtual Memory Kevin Webb Swarthmore College March 8, 2018 Today s Goals Describe the mechanisms behind address translation. Analyze the performance of address translation alternatives. Explore page replacement
More information