Repeated pattern hints Original plan: attach all EDT hints to the EDT template; there is no field in the ocrEdtCreate call for hints Observation: 1 repeated.

Slides:



Advertisements
Similar presentations
Alford Academy Business Education and Computing1 Advanced Higher Computing Based on Heriot-Watt University Scholar Materials Comparison of OO with other.
Advertisements

Chapter 8 Advanced SQL Pearson Education © Chapter 8 - Objectives u How to use the SQL programming language u How to use SQL cursors u How to create.
Architecture-dependent optimizations Functional units, delay slots and dependency analysis.
This Week Finish relational semantics Hoare logic Interlude on one-point rule Building formulas from programs.
COSC 1P03 Data Structures and Abstraction 5.1 Linear Linked Structures.
Chapter 12 Creating and Using Templates. If you have already created and designed a page you like, you can use the layout and design for other pages in.
Advanced JS The World's Most Misunderstood Programming Language ) Douglas Crockford( Shimon Dahan
Computer Science 313 – Advanced Programming Topics.
DESIGN PATTERNS OZGUR RAHMI DONMEZ.
Programming with Objects: Class Libraries and Reusable Code.
Timing in XML Timing framework in XML Approaches Inline syntax (SMIL) Styled Timing Timesheets Timesheets and SMIL comparison.
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
Chapter 4 Loops and Character Manipulation Dr. Ali Can Takinacı İstanbul Technical University Faculty of Naval Architecture and Ocean Engineering İstanbul.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Textbook: Applied Simulation, modeling and Analysis using FlexSim
OCR User Hints API Rob, Sanjay, Zoran. Motivation for OCR user hints API Create a facility for the OCR application developer to provide application specific.
Loops are MATLAB constructs that permit us to execute a sequence of statements more than once. There are two basic forms of loop constructs: i. while.
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
PROposal Assistant The All New …. Say HI to Your New Assistant!  PROposal Assistant …  A web-based proposal-writing system that guides you painlessly.
Object Oriented Software Development
Parallel Programming Models Basic question: what is the “right” way to write parallel programs –And deal with the complexity of finding parallelism, coarsening.
1 C++ Classes and Data Structures Jeffrey S. Childs Chapter 13 Recursion Jeffrey S. Childs Clarion University of PA © 2008, Prentice Hall.
Lecture 14 Linked Lists 14-1 Richard Gesick. Linked Lists Dynamic data structures can grow and shrink at execution time. A linked list is a linear collection.
+ Simulation Design. + Types event-advance and unit-time advance. Both these designs are event-based but utilize different ways of advancing the time.
A SPMD Model for OCR (with collectives) Sanjay Chatterjee 2/9/2015 Intel Confidential1.
Exascale Programming Models Lecture Series 06/12/2014 What is OCR? TG Team (presenter: Romain Cledat) June 12,
Mr. Dave Clausen1 La Cañada High School Chapter 6: Repetition Statements.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
Copyright © Curt Hill Generic Classes Template Classes or Container Classes.
CPS120: Introduction to Computer Science Decision Making in Programs.
PHP Constructs Advance Database Management Systems Lab no.3.
FORS 8450 Advanced Forest Planning Lecture 5 Relatively Straightforward Stochastic Approach.
Automated Patch Generation Adapted from Tevfik Bultan’s Lecture.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
 In computer programming, a loop is a sequence of instruction s that is continually repeated until a certain condition is reached.  PHP Loops :  In.
Loops and Files. 5.1 The Increment and Decrement Operators.
Rich Internet Applications 2. Core JavaScript. The importance of JavaScript Many choices open to the developer for server-side Can choose server technology.
A SPMD Model for OCR Sanjay Chatterjee 2/9/2015 Intel Confidential1.
Repetition Statements (Loops). 2 Introduction to Loops We all know that much of the work a computer does is repeated many times. When a program repeats.
3/12/2013Computer Engg, IIT(BHU)1 OpenMP-1. OpenMP is a portable, multiprocessing API for shared memory computers OpenMP is not a “language” Instead,
CS 115 OBJECT ORIENTED PROGRAMMING I LECTURE 12 GEORGE KOUTSOGIANNAKIS 1 Copyright: 2015 Illinois Institute of Technology_ George Koutsogiannakis.
PSAMP Information Model Status Information Model for Packet Sampling A Status Report Thomas Dietz Falko Dressler.
Game Development Process ITP 160 Original Game Assignments.
Zhen Jiang Dept. of Computer Science West Chester University West Chester, PA CSC530 Data Structures - LOOP 7/9/20161.
Week 1, Day 3 Lazy Coding 29 June 2016.
MCMC Output & Metropolis-Hastings Algorithm Part I
Program with PL/SQL Lesson 4.
Chandra S. Martha Min Lee 02/10/2016
Object-Oriented Programming: Classes and Objects
CSSE463: Image Recognition Day 21
Chapter 11: Storage and File Structure
Software Design and Architecture
PROGRAM CONTROL STRUCTURE
Computer Engg, IIT(BHU)
CS203 – Advanced Computer Architecture
Java Programming: Guided Learning with Early Objects
More On Enumeration Types
Exam 1 Material Study Guide
Object Oriented Programming in java
Test Fixture (Testbench)
CS100J Lecture 8 Previous Lecture This Lecture Programming Concepts
Chapter 6: Repetition Statements
Computer Science Core Concepts
Overview of the Lab 2 Assignment: Multicore Real-Time Tasks
Lecture 14 Linked Lists CSE /26/2018.
Module 10 – Scratch Project
HP Quality Center 10.0 The Test Plan Module
Data Structures & Algorithms
Year 2 Summer Term Week 1 Lesson 2
Year 2 Summer Term Week 1 Lesson 2
Presentation transcript:

Repeated pattern hints Original plan: attach all EDT hints to the EDT template; there is no field in the ocrEdtCreate call for hints Observation: 1 repeated patterns assume logical multi-worker synchronization point: “you worked together on this job, now do it again” Natural candidate: Finish EDT Iterative nature property of Finish EDT, not its template, but can only attach info to EDT via template, not at EDT creation time  need different template for each different loop But: Finish EDTs are evil anyway! Repeated patterns preferable be non-globally-synchronizing/implicit, i.e. recursion/chaining Consequence: must make chain property part of template of EDT(s) that start the chain EDT A EDT B EDT C EDT D EDT E Sanjay Chatterjee

Repeated pattern hints Observation 2: repeated patterns hints should be used by scheduler to optimize locality New ideas – (Sanjay) Attach repeated pattern hints (or other hints) to affinity group, which may be specified in ocrEdtCreate – Add affinity group parameter to each ocrObjectCreate, so hints can be passed to any OCR object Advantages: – Hints can be passed to EDT at time of creation, not in advance via template – Iterations and chains can be treated uniformly – All EDTs in link of chain can specify same affinity group Disadvantages: – Some exisiting APIs need to change to accommodate affinity group parameter – If hints change, affinity group must be changed

Repeated pattern hints 1.Declare and initialize hint 2.Set type of hint and hint parameters 3.Attach hint to affinity group 4.Pass affinity group to repeated pattern EDT(s) at time of creation. Example: Instantiate myEDT nmax times ocrHint_t myHint; ocrGuid_t myAffinity; octHintInit(&myHint); ocrSetHintProperty(&myHint, OCR_REPEAT_COUNT, nmax); ocrAffinityCreate(&myAffinity, /*parent*/NULL_GUID, &myHint, /*properties*/NULL); ocrEdtCreate(&throwawayGuid, myEDTtemplate, paramc, paramv, depc, depv, myAffinity, NULL); 5.Rejected proposal: assign affinity group to certain OCR object after creating the object. Issue: once EDT’s guid is known, EDT may execute before affinity group can be attached ocrSetAffinity(ocrGuid_t guid, ocrGuid_t affinityGuid, u32 properties);