Understanding and Exploring Memory Hierarchies

Size: px
Start display at page:

Download "Understanding and Exploring Memory Hierarchies"

Transcription

1 Understanding and Exploring Memory Hierarchies Issued : Thursday 27th January 2011 Due : Friday 11th March 2011 at 4.00pm (at the ITO) This assignment represents the total practical component of the Computer Architecture module of Inf3. This practical contributes 25% of the overall mark for the module. It consists of a programming exercise culminating in a brief written report. Assessment of this practical will be based on the correctness and the clarity of the solution (see more details below), and on the completeness and clarity of the written report. This practical is to be solved individually to assess your competence on the subject. Please bear in mind the School of Informatics guidelines on plagiarism. You must return your solutions to the ITO before the due date shown above. This practical is handed out well in advance of the coverage of caching techniques in the lectures. The aim of handing out the practical so early in the semester is to maximise your opportunity for scheduling your time most effectively. You are strongly advised to read up on cache architectures in the course textbook and to start the practical as soon as possible. This will ease your workload approaching the common deadline around the end of week 9. 1 Introduction Program transformation techniques are often used to try to improve the cache hit rate of heavily used programs. A detailed understanding of the cache s dynamic behaviour is usually obtained by software simulation rather than monitoring of hardware. In this exercise you are asked to investigate the memory access behaviour of a pair of code fragments which are related by a simple program transformation. To do this, you will have to write a reasonably flexible cache simulator and also devise a mechanism for generating the address traces which will form its main input. You will need to undertake the following sub-tasks: 1. Generation of address traces. Your experiments will be fuelled by files which list the sequence of memory accesses made by programs. Such files are called traces. The required format of a trace file is described in section Implementation of a cache simulator. You must write a program which accepts a trace file as input and reports upon its behaviour. The cache configuration (number of blocks, size of blocks, associativity and so on) will be described as part of the trace file. The degree of flexibility allowed by your system is open ended, but the minimal credible system would implement a direct-mapped write-allocate write-through cache with the block size and the number of blocks controllable from the trace file. As well as the key statistic of hit-rate, your simulator will offer a selection of other output options, including access by access textual explanation of what s happening and the ability to display interesting aspects of the contents of the cache at any time. 1

2 3. Validation of the simulator. In order that both you and your tutor have high confidence in the validity of your results, you should provide a clear written description of the structure and operation of your simulator and a set of small, artificial examples which use the various output options to demonstrate that your simulator is working correctly. 4. Design and execution of experiments. The aim is to investigate the circumstances under which the transformed version of the test program has better cache behaviour than the original, and the extent of the improvement (the programs are shown in the Appendix). Think carefully about the experiments you run. Experiments on realistically sized caches by today s standards are unlikely to be feasible in practical terms, but the same effects should be visible on much smaller examples. 5. Writing a Report. You must report and discuss the results of your experiments. Did the transformed program outperform the simple original? Under what circumstances (if any)? Make sure that your data is presented for easy consumption (e.g. graphically). 2 Format of your submission Your submission should clearly indicate (in both the report and the code) which cache features you have simulated completely and which you have only partially completed. You should submit hard copy of the following items, neatly bound or otherwise collated and marked clearly with your name and your tutor s name, to the ITO before 4pm on Friday 11th March Source code listing of your simulator program, with explanatory comments. 2. Written description of the internal structure and workings of your simulator (1-2 pages depending upon complexity), explaining clearly which parts are complete and which incomplete. 3. Written description of your trace generation method (a few sentences). 4. Extracts of simple trace files used for validation and a description of expected and actual results on these, in order to convince your tutor that your simulations are accurate (a few pages including examples). 5. A report detailing the experiments you ran and giving a critical summary of the results (2-4 pages including results). You should provide enough information to make the experiments repeatable. Present your data clearly and concisely. 2

3 3 Target Architecture Our imaginary architecture has a very simple main memory model. There is only one data type, the integer, and one kind of addressable memory location, the word, which stores an integer. Data memory addresses start from 0. There is no virtual memory. Thus address 0 indexes the first integer in memory, address 1 the second integer and so on. Our cache blocks will correspond to some number of words (set in the trace file). The main point of this simple model is that your simulator doesn t have to concern itself with byte addressing within words, word alignment and so on. 4 Trace File Format Your simulator must accept its input from trace files which have the format described here. The first part of the trace describes the structure of the cache. This description consists of a sequence of lines, each starting with an integer, optionally followed by some comment text which describes the cache parameter being set (the text is just there for the reader s convenience and should be ignored by the simulator). The lines are as follows: 1. the first line describes the number of blocks in the cache 2. the second line describes the number of words in a cache block 3. the third line describes the set associativity (i.e. the number of blocks per set) 4. any subsequent lines in the first part are free for your own use in the later stages, when you make your simulator more complex, for example describing replacement policies for set-associative schemes (you should describe their use in your report) The second part of the trace contains the sequence of memory accesses to be simulated, one per line, together with commands which control the output generated by the simulator: 1. a memory access line consists of either l or s (indicating load or store respectively) followed by a space and then an integer indicating the memory address to be accessed. NB. We do not specify the actual data value being written, nor the register being used. Thus, your simulator cannot keep track of real data. All that matters in calculating hit rate is the sequence of addresses used. 2. an output control command is one of (a) v, indicating that full line-by-line explanation should be switched on (if it is currently off) or off (if it is currently on). The default is that it is off. 3

4 (b) p indicating that the complete content of the cache should be output in some suitable format (see below) (c) h indicating that the hit-rate achieved so far should be output For example, the following trace file indicates that the simulated cache has 8 words per block, and 16 blocks organised in a direct mapping (otherwise known as 1-way associative ). There is a sequence of six accesses of which the first three must be explained line by line in the output. The cache contents are printed after the fifth access and the hit rate is printed at the end. 16 (blocks in total) 8 (block size) 1 (1 way associative, in other words, direct mapped) v (switch on line by line explanation) l 17 l 29 s 17 v (switch off line by line explanation) l 25 l 35 p (print out the cache contents) s 29 h (print out the hit rate) Please notice that comments can take any form you like! Your simulator should ignore everything which follows the expected values on a line. 5 Output Format Output should be sent to standard output (though it will make sense to direct it to a file for large examples) and comes in four flavours: error messages, indicating that the simulator has found an erroneous input line, or that something silly is being asked for (e.g. associativity higher than cache size, negative addresses and so on) an indication of hit rate so far, triggered by an h input and printed out in some suitable format at your discretion a print out of the cache contents, triggered by a p input and displaying, in some suitable tabular format, everything your simulator knows about the current state of 4

5 the cache. This will include at least the tag and valid bit for the data stored in each block. As noted above, it will not include the real data values, because these are not provided by the trace. a full explanation of the behaviour of an access. This is generated for each access while the simulator is in full explanation mode, and should consist of some text describing what has just happened, for example A read to address 17 looked for tag 0 in block 2 and was a miss. or similar, at your discretion, to give as much information as you have. This will get more complicated and long-winded as you introduce more complex cache structures. Full explanation mode is initially switched off. Its state is toggled by v command. 6 Experiments A source-to-source program transformation known as loop fusion claims to improve the cache hit rate for suitably structured segments of code. Your task is to investigate this claim by experiment. Code fragment examples showing unfused and fused loops are presented in the appendix of this document. You will need to generate access traces for a number of runs of the fragments (e.g. varying N) and investigate their behaviour when simulated on a variety of cache configurations. It is up to you to decide exactly which experiments to conduct. You should be aiming to highlight trends which occur as the various parameters (cache size / structure and array size N) are varied, while focusing on the fundamental question of whether loop fusion seems to be helpful for this example. Note, choosing just one or two candidate values of N may give misleading results. 7 Generating Trace Files For your larger scale experiments it will be infeasible to write traces by hand. Instead, you will have to generate the access sequence sections of a trace by running a suitable adaptation of the source program being traced. Every time the original program would make a memory access, the adapted program should output a line of the trace. For the purposes of this exercise, you should only trace data accesses to the arrays a, b, c, and d. In other words, we are assuming that the compiler has placed the loop control variables i and j in registers and that instructions are cached separately (and are not of interest to us). You should assume that the arrays are laid out in memory one after another in alphabetical order, starting at address 0, with the contents of each array laid out row by row. Thus, a[0,0] is at address 0 and d[n-1,n-1] is at address 4N

6 8 Working in Stages This section contains some suggestions as to how you might tackle the work in stages. There is no obligation to follow these, but your report must make it clear exactly what your simulator can handle. However far you get, remember that one of the aims of the exercise is to experiment with loop fusion, so make sure to leave yourself time to do this. Stage 1 Restrict your simulator to direct mapped caches (in other words the set associativity must be 1 - reject trace files which do not have this property). You can test this out with hand generated traces. Use full explanation mode to verify that your simulator is doing what you think. Write trace files with easily predictable hit rates (e.g. think of a four access trace which uses four different addresses and has a 50% hit rate). Stage 2 For your report, you will need to generate some much longer traces from the given fused and unfused loops. Think about how to annotate these code fragments so that they generate an access trace in the prescribed format. You can easily add the cache parameter section of the trace by hand afterwards. Stage 3 Upgrade your simulator to cater for genuinely set-associative caches (i.e. with set size greater than 1). You could start by assuming some fixed scheme for resolving clashes (e.g. random) and then build in the ability to simulate other schemes (e.g. LRU). Add new commands to the input format to allow these to be specified as part of the trace and refine the output formats to explain their operation. Don t forget to explain what you ve done in your report. 6

7 Appendix - Test Programs a, b, c and d, are all N N arrays of integers. The unfused loops for (i=0; i<n; i++) for (j=0; j<n; j++) a[i][j] = 1/b[i][j] * c[i][j]; for (i=0; i<n; i++) for (j=0; j<n; j++) d[i][j] = a[i][j] + c[i][j]; The fused loops for (i=0; i<n; i++) for (j=0; j<n; j++) { a[i][j] = 1/b[i][j] * c[i][j]; d[i][j] = a[i][j] + c[i][j]; } Nigel Topham, January

COMP 3500 Introduction to Operating Systems Project 5 Virtual Memory Manager

COMP 3500 Introduction to Operating Systems Project 5 Virtual Memory Manager COMP 3500 Introduction to Operating Systems Project 5 Virtual Memory Manager Points Possible: 100 Submission via Canvas No collaboration among groups. Students in one group should NOT share any project

More information

Assignment 2: Understanding Data Cache Prefetching

Assignment 2: Understanding Data Cache Prefetching Assignment 2: Understanding Data Cache Prefetching Computer Architecture Due: Monday, March 27, 2017 at 4:00 PM This assignment represents the second practical component of the Computer Architecture module.

More information

Computer Architecture Practical 1 Pipelining

Computer Architecture Practical 1 Pipelining Computer Architecture Issued: Monday 28 January 2008 Due: Friday 15 February 2008 at 4.30pm (at the ITO) This is the first of two practicals for the Computer Architecture module of CS3. Together the practicals

More information

Assignment 1: Understanding Branch Prediction

Assignment 1: Understanding Branch Prediction Assignment 1: Understanding Branch Prediction Computer Architecture Due: Monday, February 20, 2017 at 4:00 PM This assignment represents the first practical component of the Computer Architecture module.

More information

CS2 Practical 6 CS2Bh 24 January 2005

CS2 Practical 6 CS2Bh 24 January 2005 CS2 Practical 6 Data Structures for Dictionaries This practical is based on material of the Algorithms and Data Structures thread. It has two parts: Part A, worth 40 marks, consists of four pen-and-paper

More information

CS2 Practical 2 CS2Ah

CS2 Practical 2 CS2Ah CS2 Practical 2 Finite automata This practical is based on material in the language processing thread. The practical is made up of two parts. Part A consists of four paper and pencil exercises, designed

More information

Major Assignment: Pacman Game

Major Assignment: Pacman Game Major Assignment: Pacman Game 300580 Programming Fundamentals Week 10 Assignment The major assignment involves producing a Pacman style game with Clara using the Greenfoot files that are given to you.

More information

ENCM 369 Winter 2019 Lab 6 for the Week of February 25

ENCM 369 Winter 2019 Lab 6 for the Week of February 25 page of ENCM 369 Winter 29 Lab 6 for the Week of February 25 Steve Norman Department of Electrical & Computer Engineering University of Calgary February 29 Lab instructions and other documents for ENCM

More information

CSSE2002/7023 The University of Queensland

CSSE2002/7023 The University of Queensland CSSE2002 / CSSE7023 Semester 1, 2016 Assignment 1 Goal: The goal of this assignment is to gain practical experience with data abstraction, unit testing and using the Java class libraries (the Java 8 SE

More information

Your submitted proj3.c must compile and run on linprog as in the following example:

Your submitted proj3.c must compile and run on linprog as in the following example: CDA3101 Project 3: Cache Simulator Due 8/3 I. Purpose The purpose of this project is to exercise your understanding of caches of various sizes and configurations, as well as the write policies of write-through

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c/su05 CS61C : Machine Structures Lecture #21: Caches 3 2005-07-27 CS61C L22 Caches III (1) Andy Carle Review: Why We Use Caches 1000 Performance 100 10 1 1980 1981 1982 1983

More information

FIT3056 Secure and trusted software systems. Unit Guide. Semester 2, 2010

FIT3056 Secure and trusted software systems. Unit Guide. Semester 2, 2010 FIT3056 Secure and trusted software systems Unit Guide Semester 2, 2010 The information contained in this unit guide is correct at time of publication. The University has the right to change any of the

More information

Homework 2. Ahmed Rezine. based on material by: Sudipta Chattopadhyay, Klas Arvidsson. January 21, 2017

Homework 2. Ahmed Rezine. based on material by: Sudipta Chattopadhyay, Klas Arvidsson. January 21, 2017 Homework 2 Ahmed Rezine based on material by: Sudipta Chattopadhyay, Klas Arvidsson January 21, 2017 Instructions You have to do research on the parts you do not understand. When you solve problems, do

More information

printf( Please enter another number: ); scanf( %d, &num2);

printf( Please enter another number: ); scanf( %d, &num2); CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful

More information

Portfolio Report (for all weekly practicals)

Portfolio Report (for all weekly practicals) Portfolio Report (for all weekly practicals) Getting Started Worth 15%, due in Week 13 6:00pm Fri 26 th Oct You ll learn, from this unit, using IT more effectively as a university student. For this purpose,

More information

GROUP FINAL REPORT GUIDELINES

GROUP FINAL REPORT GUIDELINES GROUP FINAL REPORT GUIDELINES Overview The final report summarizes and documents your group's work and final results. Reuse as much of your past reports as possible. As shown in Table 1, much of the final

More information

ENCM 369 Winter 2017 Lab 3 for the Week of January 30

ENCM 369 Winter 2017 Lab 3 for the Week of January 30 page 1 of 11 ENCM 369 Winter 2017 Lab 3 for the Week of January 30 Steve Norman Department of Electrical & Computer Engineering University of Calgary January 2017 Lab instructions and other documents for

More information

Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time)

Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time) CSE 11 Winter 2017 Program Assignment #2 (100 points) START EARLY! Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time) PROGRAM #2: DoubleArray11 READ THE ENTIRE ASSIGNMENT BEFORE STARTING In lecture,

More information

VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs.

VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. Lesson 2 VARIABLES Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. WHAT ARE VARIABLES? When you input data (i.e. information) into a computer

More information

Your submitted proj3.c must compile and run on linprog as in the following example:

Your submitted proj3.c must compile and run on linprog as in the following example: CDA3101 Project 3: Cache Simulator Due 12/7 I. Purpose The purpose of this project is to exercise your understanding of caches of various sizes and configurations, as well as the write policies of write-through

More information

CAHIIM HELP for Program Users

CAHIIM HELP for Program Users CAHIIM HELP for Program Users 2018 CAHIIM Table of Contents GETTING STARTED... 1 Performing Basic Functions... 1 Logging In... 1 Logging Out... 1 Resetting Password... 1 Viewing or Changing User Information...

More information

HESES18A submitting the workbook and data verification

HESES18A submitting the workbook and data verification HESES18A submitting the workbook and data verification Jon Baker Funding Round Adviser Friends House, London 04 September 2018 HESES process timeline Date October 2018 From late November 2018 Activity

More information

OPTIONS GUIDANCE COHORT JANUARY 2018 OPTIONS PROCESS.

OPTIONS GUIDANCE COHORT JANUARY 2018 OPTIONS PROCESS. OPTIONS GUIDANCE 2018-2020 COHORT JANUARY 2018 OPTIONS PROCESS. STUDENTS WILL NEED TO BRING CURRICULUM GUIDES BACK TO SCHOOL TO WORK ON DURING ENRICHMENT DAYS ON 17/18 JANUARY. Important Dates Monday 8

More information

CHARTERED MEMBER ASSESSMENT. Candidate Handbook LEADING GOVERNANCE

CHARTERED MEMBER ASSESSMENT. Candidate Handbook LEADING GOVERNANCE CHARTERED MEMBER ASSESSMENT Candidate Handbook LEADING GOVERNANCE 2 CHARTERED MEMBER ASSESSMENT Candidate Handbook The Chartered Member Assessment is a key criterion for entry to the category of Chartered

More information

FDA 483 The Definitive Guide to Responding to FDA 483 and Warning Letters

FDA 483 The Definitive Guide to Responding to FDA 483 and Warning Letters FDA 483! The Definitive Guide to Responding to FDA 483 and Warning Letters Jon Speer Founder & VP of QA/RA greenlight.guru Table of Contents 1 Introduction 2 What Is an FDA 483 Observation? 3 Know Who

More information

Loyola Marymount University School of Education

Loyola Marymount University School of Education Loyola Marymount University School of Education The California Teaching Performance Assessment (CalTPA) Frequently Asked Questions The information presented in this guide is meant to serve as introductory

More information

Informatics 1: Data & Analysis

Informatics 1: Data & Analysis Informatics 1: Data & Analysis Lecture 21: Exam Preparation Ian Stark School of Informatics The University of Edinburgh Friday 7 April 2017 Semester 2 Week 11 https://blog.inf.ed.ac.uk/da17 Plan! In this

More information

Decision Logic: if, if else, switch, Boolean conditions and variables

Decision Logic: if, if else, switch, Boolean conditions and variables CS 1044 roject 4 Summer I 2007 Decision Logic: if, if else, switch, Boolean conditions and variables This programming assignment uses many of the ideas presented in sections 3 through 5 of the course notes,

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 14 Caches III Lecturer SOE Dan Garcia Google Glass may be one vision of the future of post-pc interfaces augmented reality with video

More information

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit. Com S 227 Fall 2017 Miniassignment 1 50 points Due Date: Monday, October 16, 11:59 pm (midnight) Late deadline (25% penalty): Tuesday, October 17, 11:59 pm General information This assignment is to be

More information

Market Participant Client Platform

Market Participant Client Platform PUBLIC IESO_ISTD_0017 Market Participant Client Platform Information Technology Standard Issue 2.0 This document is intended to clearly and concisely present the standards and guidelines for the upgrade

More information

Instructions PLEASE READ (notice bold and underlined phrases)

Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercises wk02 Lab Basics First Lab of the course Required Reading Java Foundations - Section 1.1 - The Java Programming Language Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercise

More information

Software Engineering Large Practical (Android version) 2013/2014

Software Engineering Large Practical (Android version) 2013/2014 Software Engineering Large Practical (Android version) 2013/2014 Professor Stephen Gilmore School of Informatics Issued on: Wednesday 18 th September, 2013 About The Software Engineering Practical is available

More information

CS5340 Human-Computer Interaction.! February 21, 2013!!

CS5340 Human-Computer Interaction.! February 21, 2013!! CS5340 Human-Computer Interaction February 21, 2013 www.hcibook.com/e3 Today s Class T4 & T5 Design practicalities Evaluation techniques Paper Presentations T4 & T5 Due 6pm Feb 28 T4: Concept Selection

More information

1.2 Adding Integers. Contents: Numbers on the Number Lines Adding Signed Numbers on the Number Line

1.2 Adding Integers. Contents: Numbers on the Number Lines Adding Signed Numbers on the Number Line 1.2 Adding Integers Contents: Numbers on the Number Lines Adding Signed Numbers on the Number Line Finding Sums Mentally The Commutative Property Finding Sums using And Patterns and Rules of Adding Signed

More information

Advanced Systems Lab Report

Advanced Systems Lab Report Advanced Systems Lab Report Autumn Semester 2018 Name: YOUR NAME Legi: YOUR LEGI Grading Section 1 2 3 4 5 6 7 Total Points Version: 25.09.2018 1 Notes on writing the report (remove this page for submission)

More information

ECE-492 SENIOR ADVANCED DESIGN PROJECT

ECE-492 SENIOR ADVANCED DESIGN PROJECT ECE-492 SENIOR ADVANCED DESIGN PROJECT Meeting #4 1 ECE-492 Meeting#4 HW1: Teams show us your Requirements Specification? HW2: Teams show us your Conceptual Design? 2 ENGINEERING DESIGN MAKES A DIFFERENCE

More information

CS152 Computer Architecture and Engineering

CS152 Computer Architecture and Engineering CS152 Computer Architecture and Engineering Caches and the Memory Hierarchy Assigned 9/17/2016 Problem Set #2 Due Tue, Oct 4 http://inst.eecs.berkeley.edu/~cs152/fa16 The problem sets are intended to help

More information

CPSC 313, 04w Term 2 Midterm Exam 2 Solutions

CPSC 313, 04w Term 2 Midterm Exam 2 Solutions 1. (10 marks) Short answers. CPSC 313, 04w Term 2 Midterm Exam 2 Solutions Date: March 11, 2005; Instructor: Mike Feeley 1a. Give an example of one important CISC feature that is normally not part of a

More information

Advanced Vision Practical

Advanced Vision Practical Advanced Vision Practical Bob Fisher School of Informatics February 2018 Abstract This describes the Advanced Vision assessed practical. The main goal is to reconstruct a box from a set of 3D point clouds

More information

Journal Production FAQs

Journal Production FAQs Journal Production FAQs Please click on a question below to go directly to the answer. If your questions is not covered here, please direct it to your chosen journal s editor or your production contact.

More information

IMPORTANT INFORMATION: This tutorial letter contains the assignments for 2018, semesters 1 and 2.

IMPORTANT INFORMATION: This tutorial letter contains the assignments for 2018, semesters 1 and 2. INF211/102/3/2018 Tutorial Letter 102/3/2018 Visual Programming 2 INF211 Semesters 1 and 2 School of Computing IMPORTANT INFORMATION: This tutorial letter contains the assignments for 2018, semesters 1

More information

Unit 2: Collaborative Working

Unit 2: Collaborative Working Candidate MW Unit 2: Collaborative Working Assessment AO1 The focus of this unit is for candidates to work collaboratively with a small group of their peers to produce a final product (possibly a magazine

More information

HEIFES18 submitting the workbook and data verification

HEIFES18 submitting the workbook and data verification HEIFES18 submitting the workbook and data verification HEIFES process timeline Date October 2018 From late November 2018 Activity Initial HEIFES18 workbooks will be available to download Updated HEIFES18

More information

Black-box Testing Techniques

Black-box Testing Techniques T-76.5613 Software Testing and Quality Assurance Lecture 4, 20.9.2006 Black-box Testing Techniques SoberIT Black-box test case design techniques Basic techniques Equivalence partitioning Boundary value

More information

Midterms Save the Dates!

Midterms Save the Dates! University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Primitive Data Types Arithmetic Operators Readings Your textbook is Big Java (3rd Ed). This Week s Reading: Ch 2.1-2.5, Ch 4.1-4.2.

More information

Mission Seek Instruction Manual for Basic Partnership Level

Mission Seek Instruction Manual for Basic Partnership Level Mission Seek Instruction Manual for Basic Partnership Level Index Registering your Agency (This step is for new partners only) 2 & 3 Login after your Agency is registered.4 Account Pending and Verifying

More information

Directions for Moodle Scholarship Application Part 1: Entering Moodle for the First Time

Directions for Moodle Scholarship Application Part 1: Entering Moodle for the First Time Directions for Moodle Scholarship Application Part 1: Entering Moodle for the First Time Seniors will receive instruction for completing the Moodle application form through their English class or in the

More information

IB Computer Science Student Status Report for the Internal Assessment

IB Computer Science Student Status Report for the Internal Assessment Direct assignments that you have been given that are complete: You have created and share a Cloud9 environment named with your firstname_html. You have a directory named IA Under the IA directory you have

More information

- b: size of block in bytes. - s: number of sets in the cache (or total number of sets between split caches). - n: associativity of cache.

- b: size of block in bytes. - s: number of sets in the cache (or total number of sets between split caches). - n: associativity of cache. CDA3101 Project 3: Cache Simulator (Graduate Version) Due 8/1 I. Purpose The purpose of this project is to exercise your understanding of caches of various sizes and configurations, as well as the write

More information

Sets. Sets. Examples. 5 2 {2, 3, 5} 2, 3 2 {2, 3, 5} 1 /2 {2, 3, 5}

Sets. Sets. Examples. 5 2 {2, 3, 5} 2, 3 2 {2, 3, 5} 1 /2 {2, 3, 5} Sets We won t spend much time on the material from this and the next two chapters, Functions and Inverse Functions. That s because these three chapters are mostly a review of some of the math that s a

More information

Testing is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered.

Testing is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered. Testing Testing is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered. System stability is the system going to crash or not?

More information

Compiler Optimisation 2014 Course Project

Compiler Optimisation 2014 Course Project Compiler Optimisation 2014 Course Project Michael O Boyle Chris Margiolas January 2014 Course Work Based on GCC compiler One piece of course work: 25 % of course mark Set today and due Thursday 4pm February

More information

Lift Internal Revitalizing B2E Communication. LiftInternal.com

Lift Internal Revitalizing B2E Communication. LiftInternal.com Lift Internal Revitalizing B2E Communication LiftInternal.com Use this document to help you plan and execute B2E communication. Even if the topic seems simple, taking the time to think through the fundamentals

More information

University of Toronto Faculty of Applied Science and Engineering

University of Toronto Faculty of Applied Science and Engineering Print: First Name:............ Solutions............ Last Name:............................. Student Number:............................................... University of Toronto Faculty of Applied Science

More information

Practice Exercises 449

Practice Exercises 449 Practice Exercises 449 Kernel processes typically require memory to be allocated using pages that are physically contiguous. The buddy system allocates memory to kernel processes in units sized according

More information

LECTURE 11. Memory Hierarchy

LECTURE 11. Memory Hierarchy LECTURE 11 Memory Hierarchy MEMORY HIERARCHY When it comes to memory, there are two universally desirable properties: Large Size: ideally, we want to never have to worry about running out of memory. Speed

More information

Goal of the course: The goal is to learn to design and analyze an algorithm. More specifically, you will learn:

Goal of the course: The goal is to learn to design and analyze an algorithm. More specifically, you will learn: CS341 Algorithms 1. Introduction Goal of the course: The goal is to learn to design and analyze an algorithm. More specifically, you will learn: Well-known algorithms; Skills to analyze the correctness

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be

More information

[Maria Jackson Hittle] Thanks, Michael. Since the RSR was implemented in 2009, HAB has been slowing shifting its focus from data submission to data

[Maria Jackson Hittle] Thanks, Michael. Since the RSR was implemented in 2009, HAB has been slowing shifting its focus from data submission to data [Michael Costa] Welcome to today s Webcast. Thank you so much for joining us today! My name is Michael Costa. I m a member of the DART Team, one of several groups engaged by HAB to provide training and

More information

: Principles of Imperative Computation. Fall Assignment 5: Interfaces, Backtracking Search, Hash Tables

: Principles of Imperative Computation. Fall Assignment 5: Interfaces, Backtracking Search, Hash Tables 15-122 Assignment 3 Page 1 of 12 15-122 : Principles of Imperative Computation Fall 2012 Assignment 5: Interfaces, Backtracking Search, Hash Tables (Programming Part) Due: Monday, October 29, 2012 by 23:59

More information

Levels in memory hierarchy

Levels in memory hierarchy CS1C Cache Memory Lecture 1 March 1, 1999 Dave Patterson (http.cs.berkeley.edu/~patterson) www-inst.eecs.berkeley.edu/~cs1c/schedule.html Review 1/: Memory Hierarchy Pyramid Upper Levels in memory hierarchy

More information

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Science CPUtime = IC CPI Execution + Memory accesses Instruction

More information

Slide Set 9. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng

Slide Set 9. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng Slide Set 9 for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary March 2018 ENCM 369 Winter 2018 Section 01

More information

School of Informatics, University of Edinburgh

School of Informatics, University of Edinburgh CS1Ah Practical 4 Motorway Madness This is an individual practical exercise which requires you to submit some files electronically. A system which measures software similarity will be used to compare all

More information

CS 241 Data Organization using C

CS 241 Data Organization using C CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am

More information

Caches (Writing) P & H Chapter 5.2 3, 5.5. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University

Caches (Writing) P & H Chapter 5.2 3, 5.5. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Caches (Writing) P & H Chapter 5.2 3, 5.5 Hakim Weatherspoon CS 34, Spring 23 Computer Science Cornell University Welcome back from Spring Break! Welcome back from Spring Break! Big Picture: Memory Code

More information

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008 Course Syllabus Course Title: Advanced Databases Course Level: 4 Lecture Time: Course code:

More information

BTEC Centre Guide to Standards Verification

BTEC Centre Guide to Standards Verification BTEC Centre Guide to Standards Verification 2016-2017 Contents Introduction How to use this guide 1. What you need to do 2. What you need to know Standards verification 1. Allocation of your Standards

More information

BTEC Centre Guide to Standards Verification

BTEC Centre Guide to Standards Verification BTEC Centre Guide to Standards Verification 2017-2018 Contents Introduction How to use this guide 1. What you need to do 2. What you need to know Standards verification 1. Allocation of your Standards

More information

Design Proposal: Outline

Design Proposal: Outline Design Proposal: Outline This outline should be used as a checklist to help each member of the team make sure that every section of the document meets the requirements for a design proposal. Writing Style

More information

Two hours. Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Two hours. Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Two hours Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Agile Software Engineering Date: Monday 17th January 2011 Time: 09:45-11:45 Please answer

More information

A GUIDE TO WRITING TECHNICAL REPORTS

A GUIDE TO WRITING TECHNICAL REPORTS A GUIDE TO WRITING TECHNICAL REPORTS Faculty of Engineering and Applied Science Memorial University of Newfoundland Abstract This guide is designed to help you learn how to format and organize a formal

More information

WEST MIDLANDS FIRE SERVICE CUSTOMER CARE AND COMPLIMENTS, COMMENTS AND COMPLAINTS (CCC POLICIES)

WEST MIDLANDS FIRE SERVICE CUSTOMER CARE AND COMPLIMENTS, COMMENTS AND COMPLAINTS (CCC POLICIES) 1. STRATEGY WEST MIDLANDS FIRE SERVICE ORDER NO. 21/1 CUSTOMER CARE AND COMPLIMENTS, COMMENTS AND COMPLAINTS (CCC POLICIES) West Midlands Fire Service (WMFS) is committed to providing customer care in

More information

Edexcel GCSE ICT. Controlled Assessment. Teacher Support Book 2012

Edexcel GCSE ICT. Controlled Assessment. Teacher Support Book 2012 Edexcel GCSE ICT Controlled Assessment Teacher Support Book 2012 Edexcel GCSE ICT Controlled Assessment Teacher Support Book Unit 2: Using Digital Tools Unit 4: Creating Digital Products Welcome to the

More information

The Dynamic Typing Interlude

The Dynamic Typing Interlude CHAPTER 6 The Dynamic Typing Interlude In the prior chapter, we began exploring Python s core object types in depth with a look at Python numbers. We ll resume our object type tour in the next chapter,

More information

ENCM 501 Winter 2018 Assignment 2 for the Week of January 22 (with corrections)

ENCM 501 Winter 2018 Assignment 2 for the Week of January 22 (with corrections) page 1 of 5 ENCM 501 Winter 2018 Assignment 2 for the Week of January 22 (with corrections) Steve Norman Department of Electrical & Computer Engineering University of Calgary January 2018 Assignment instructions

More information

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit. Com S 227 Spring 2018 Miniassignment 1 40 points Due Date: Thursday, March 8, 11:59 pm (midnight) Late deadline (25% penalty): Friday, March 9, 11:59 pm General information This assignment is to be done

More information

CSE 421/521 Final Exam

CSE 421/521 Final Exam Name UBID Seat Question: 1 2 3 4 5 6 7 8 9 10 Total Points: 10 5 5 5 5 5 5 20 25 25 100 Score: CSE 421/521 Final Exam 09 May 2016 Please fill out your name and UB ID number above. Also write your UB ID

More information

Version 5. Recruiting Manager / Administrator

Version 5. Recruiting Manager / Administrator Version 5 Recruiting Manager / Administrator 1 Contents 1.0 Introduction... 4 2.0 Recruitment at a Glance... 6 3.0 Viewing Applicant Numbers... 8 4.0 Activities After Closing Date... 10 5.0 Shortlisting...

More information

CSE 21 Spring 2016 Homework 5. Instructions

CSE 21 Spring 2016 Homework 5. Instructions CSE 21 Spring 2016 Homework 5 Instructions Homework should be done in groups of one to three people. You are free to change group members at any time throughout the quarter. Problems should be solved together,

More information

Floating-point lab deadline moved until Wednesday Today: characters, strings, scanf Characters, strings, scanf questions clicker questions

Floating-point lab deadline moved until Wednesday Today: characters, strings, scanf Characters, strings, scanf questions clicker questions Announcements Thursday Extras: CS Commons on Thursdays @ 4:00 pm but none next week No office hours next week Monday or Tuesday Reflections: when to use if/switch statements for/while statements Floating-point

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming Standards: You must conform to good programming/documentation standards. Some specifics: CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March

More information

for Credit is from January 22 through February 20 at midnight.

for Credit is from January 22 through February 20 at midnight. Spring 2018 Human Subjects SONA opens January 22, 2018 Last day to do studies is May 1, 2018 at midnight Last day to make changes/corrections is May 6, 2018 at midnight Longer BRIEF SUMMARY Prescreen INSTRUCTIONS.

More information

Cache Coherence Tutorial

Cache Coherence Tutorial Cache Coherence Tutorial The cache coherence protocol described in the book is not really all that difficult and yet a lot of people seem to have troubles when it comes to using it or answering an assignment

More information

15 Sharing Main Memory Segmentation and Paging

15 Sharing Main Memory Segmentation and Paging Operating Systems 58 15 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

More information

for Credit is between September 5 and October 3 at midnight.

for Credit is between September 5 and October 3 at midnight. Fall 2017 Human Subjects Sona opens September 5, 2017 Last day to do studies is December 12 at midnight Last day to make changes/corrections is December 17 at midnight Longer BRIEF SUMMARY Prescreen INSTRUCTIONS.

More information

MEI STRUCTURED MATHEMATICS. MEI conference University of Hertfordshire June C3 COURSEWORK

MEI STRUCTURED MATHEMATICS. MEI conference University of Hertfordshire June C3 COURSEWORK MEI STRUCTURED MATHEMATICS MEI conference University of Hertfordshire June 29 2009 C3 COURSEWORK What is this coursework designed to do and how do we prepare students for it? Presenter: Val Hanrahan The

More information

SONA SYSTEMS. Manual for PARTICIPANTS (STUDENTS)

SONA SYSTEMS. Manual for PARTICIPANTS (STUDENTS) SONA SYSTEMS Manual for PARTICIPANTS (STUDENTS) Introduction The Experiment Management System provides an easy method for you to sign up for studies, and track your progress throughout the term. Everything

More information

Project 5 - The Meta-Circular Evaluator

Project 5 - The Meta-Circular Evaluator MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science 6.001 Structure and Interpretation of Computer Programs Fall Semester, 2005 Project 5 - The Meta-Circular

More information

COMP 3221: Microprocessors and Embedded Systems

COMP 3221: Microprocessors and Embedded Systems COMP 3: Microprocessors and Embedded Systems Lectures 7: Cache Memory - III http://www.cse.unsw.edu.au/~cs3 Lecturer: Hui Wu Session, 5 Outline Fully Associative Cache N-Way Associative Cache Block Replacement

More information

English Business Writing Course KISS: Keep It Short and Simple. Date 10 March 2016

English Business Writing Course KISS: Keep It Short and Simple. Date 10 March 2016 English Business Writing Course KISS: Keep It Short and Simple Date 10 March 2016 Prepared for R&T Staff Presentation by Jennifer Lee Before we start Many of the points I will bring up in the lesson are

More information

HMDA LAR Submission. HMDA LAR Submission. If I have 500 exceptions to clean up and it is 3 PM here then in Washington DC it would be...

HMDA LAR Submission. HMDA LAR Submission. If I have 500 exceptions to clean up and it is 3 PM here then in Washington DC it would be... HMDA LAR Submission HMDA LAR Submission If I have 500 exceptions to clean up and it is 3 PM here then in Washington DC it would be... 1 CenTrax Support 800-627-5388/csupport@gomarquis.com When you are

More information

MATLAB Demo. Preliminaries and Getting Started with Matlab

MATLAB Demo. Preliminaries and Getting Started with Matlab Math 250C Sakai submission Matlab Demo 1 Created by G. M. Wilson, revised 12/23/2015 Revised 09/05/2016 Revised 01/07/2017 MATLAB Demo In this lab, we will learn how to use the basic features of Matlab

More information

Computer Systems C S Cynthia Lee Today s materials adapted from Kevin Webb at Swarthmore College

Computer Systems C S Cynthia Lee Today s materials adapted from Kevin Webb at Swarthmore College Computer Systems C S 0 7 Cynthia Lee Today s materials adapted from Kevin Webb at Swarthmore College 2 Today s Topics TODAY S LECTURE: Caching ANNOUNCEMENTS: Assign6 & Assign7 due Friday! 6 & 7 NO late

More information

Manual Mobility-Online for incoming students

Manual Mobility-Online for incoming students Algemene Directie en Hogeschooldiensten Brusselstraat 45 B-2000 Antwerpen International Relations Office T +32 3 613 13 00 F +32 3 613 13 01 Manual Mobility-Online for incoming students Kim Snelders* Version

More information

Getting started with Inspirometer A basic guide to managing feedback

Getting started with Inspirometer A basic guide to managing feedback Getting started with Inspirometer A basic guide to managing feedback W elcome! Inspirometer is a new tool for gathering spontaneous feedback from our customers and colleagues in order that we can improve

More information

UCD School of Information and Library Studies. IS30020: Web Publishing

UCD School of Information and Library Studies. IS30020: Web Publishing UCD School of Information and Library Studies IS30020: Web Publishing Module Coordinator: Dr Judith Wusteman Office: SILS 110, Email: judith.wusteman@ucd.ie, Tel: 716 7612 Office hour Semester 1 (Sept

More information

CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 1

CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 1 CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 1 Due 11:59pm Friday October 6 Instructions: 1. Please submit your homework using the on-line electronic submission system (via

More information

2D Computer Animation for Visual Communication: Advanced

2D Computer Animation for Visual Communication: Advanced Higher National Unit Specification General information for centres Unit title: 2D Computer Animation for Visual Communication: Advanced Unit code: DX3D 36 Unit purpose: The Unit is designed to extend candidates

More information