Understanding and Exploring Memory Hierarchies
|
|
- Dwight Nichols
- 5 years ago
- Views:
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 Points Possible: 100 Submission via Canvas No collaboration among groups. Students in one group should NOT share any project
More informationAssignment 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 informationComputer 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 informationAssignment 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 informationCS2 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 informationCS2 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 informationMajor 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 informationENCM 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 informationCSSE2002/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 informationYour 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 informationCS61C : 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 informationFIT3056 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 informationHomework 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 informationprintf( 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 informationPortfolio 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 informationGROUP 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 informationENCM 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 informationDue: 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 informationVARIABLES. 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 informationYour 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 informationCAHIIM 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 informationHESES18A 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 informationOPTIONS 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 informationCHARTERED 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 informationFDA 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 informationLoyola 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 informationInformatics 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 informationDecision 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 informationUCB 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 informationNote: 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 informationMarket 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 informationInstructions 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 informationSoftware 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 informationCS5340 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 information1.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 informationAdvanced 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 informationECE-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 informationCS152 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 informationCPSC 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 informationAdvanced 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 informationJournal 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 informationIMPORTANT 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 informationUnit 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 informationHEIFES18 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 informationBlack-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 informationMidterms 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 informationMission 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 informationDirections 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 informationIB 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.
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 informationSets. 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 informationTesting 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 informationCompiler 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 informationLift 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 informationUniversity of Toronto Faculty of Applied Science and Engineering
Print: First Name:............ Solutions............ Last Name:............................. Student Number:............................................... University of Toronto Faculty of Applied Science
More informationPractice 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 informationLECTURE 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 informationGoal 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 informationTips 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
[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
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 informationLevels 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 informationSome 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 informationSlide 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 informationSchool 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 informationCS 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 informationCaches (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 informationPhiladelphia 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 informationBTEC 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 informationBTEC 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 informationDesign 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 informationTwo 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 informationA 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 informationWEST 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 informationEdexcel 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 informationThe 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 informationENCM 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 informationNote: 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 informationCSE 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 informationVersion 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 informationCSE 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 informationFloating-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 informationProgramming 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 informationfor 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 informationCache 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 information15 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 informationfor 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 informationMEI 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 informationSONA 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 informationProject 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 informationCOMP 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 informationEnglish 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 informationHMDA 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 informationMATLAB 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 informationComputer 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 informationManual 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 informationGetting 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 informationUCD 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 informationCSCI4211: 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 information2D 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