SMALL IDENTIFIERS FOR CHARE ARRAY ELEMENTS With contributions from Akhil Langer, Harshitha Menon, Bilge Acun, Ramprasad Venkataraman, and L.V. Kalé Phil.

Slides:



Advertisements
Similar presentations
Memory.
Advertisements

Symbol Table.
CCNA – Network Fundamentals
File Organizations Sept. 2012Yangjun Chen ACS Outline: Hashing (5.9, 5.10, 3 rd. ed.; 13.8, 4 th, 5 th ed.; 17.8, 6 th ed.) external hashing static.
Hash-based Indexes CS 186, Spring 2006 Lecture 7 R &G Chapter 11 HASH, x. There is no definition for this word -- nobody knows what hash is. Ambrose Bierce,
1 Hash-Based Indexes Module 4, Lecture 3. 2 Introduction As for any index, 3 alternatives for data entries k* : – Data record with key value k – –Choice.
Hash-Based Indexes The slides for this text are organized into chapters. This lecture covers Chapter 10. Chapter 1: Introduction to Database Systems Chapter.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Hash-Based Indexes Chapter 11.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Hash-Based Indexes Chapter 11.
Chapter 11 (3 rd Edition) Hash-Based Indexes Xuemin COMP9315: Database Systems Implementation.
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
ICS 421 Spring 2010 Indexing (2) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 2/23/20101Lipyeow Lim.
Arrays. Memory organization Table at right shows 16 bytes, each consisting of 8 bits Each byte has an address, shown in the column to the left
1 Hash-Based Indexes Yanlei Diao UMass Amherst Feb 22, 2006 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Chapter Nine NetWare-Based Networking. Objectives Identify the advantages of using the NetWare network operating system Describe NetWare’s server hardware.
Spring 2003 ECE569 Lecture ECE 569 Database System Engineering Spring 2003 Yanyong Zhang
Assemblers Dr. Monther Aldwairi 10/21/20071Dr. Monther Aldwairi.
Chapter 12: File System Implementation
1 Hash-Based Indexes Chapter Introduction  Hash-based indexes are best for equality selections. Cannot support range searches.  Static and dynamic.
CSCI 4550/8556 Computer Networks Comer, Chapter 19: Binding Protocol Addresses (ARP)
Improving IPC by Kernel Design Jochen Liedtke Shane Matthews Portland State University.
1 Hash-Based Indexes Chapter Introduction : Hash-based Indexes  Best for equality selections.  Cannot support range searches.  Static and dynamic.
Spring 2004 ECE569 Lecture ECE 569 Database System Engineering Spring 2004 Yanyong Zhang
1 The Mystery of Cooperative Web Caching 2 b b Web caching : is a process implemented by a caching proxy to improve the efficiency of the web. It reduces.
Chapter 3.4 Programming Fundamentals. 2 Data Structures Arrays – Elements are adjacent in memory (great cache consistency) – They never grow or get reallocated.
An Evaluation of Using Deduplication in Swappers Weiyan Wang, Chen Zeng.
CHP - 9 File Structures. INTRODUCTION In some of the previous chapters, we have discussed representations of and operations on data structures. These.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
CEN Network Fundamentals Chapter 19 Binding Protocol Addresses (ARP) To insert your company logo on this slide From the Insert Menu Select “Picture”
Chapter 3.5 Memory and I/O Systems. 2 Memory Management Memory problems are one of the leading causes of bugs in programs (60-80%) MUCH worse in languages.
Chapter 11 Indexing & Hashing. 2 n Sophisticated database access methods n Basic concerns: access/insertion/deletion time, space overhead n Indexing 
March 16 & 21, Csci 2111: Data and File Structures Week 9, Lectures 1 & 2 Indexed Sequential File Access and Prefix B+ Trees.
Chapter 8 – Main Memory (Pgs ). Overview  Everything to do with memory is complicated by the fact that more than 1 program can be in memory.
Performance of the Shasta distributed shared memory protocol Daniel J. Scales Kourosh Gharachorloo 創造情報学専攻 M グェン トアン ドゥク.
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 11: File System Implementation.
Games Development 2 Overview & Entity IDs and Communication CO3301 Week 1.
Standard Template Library The Standard Template Library was recently added to standard C++. –The STL contains generic template classes. –The STL permits.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Hash-Based Indexes Chapter 11 Modified by Donghui Zhang Jan 30, 2006.
File Organizations Jan. 2008Yangjun Chen ACS Outline: Hashing (5.9, 5.10, 3 rd. ed.; 13.8, 4 th ed.) external hashing static hashing & dynamic hashing.
Introduction to Database, Fall 2004/Melikyan1 Hash-Based Indexes Chapter 10.
1.1 CS220 Database Systems Indexing: Hashing Slides courtesy G. Kollios Boston University via UC Berkeley.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Indexed Sequential Access Method.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Hash-Based Indexes Chapter 10.
Ronny Krashinsky Erik Machnicki Software Cache Coherent Shared Memory under Split-C.
Charm++ Data-driven Objects L. V. Kale. Parallel Programming Decomposition – what to do in parallel Mapping: –Which processor does each task Scheduling.
Charm++ Data-driven Objects L. V. Kale. Parallel Programming Decomposition – what to do in parallel Mapping: –Which processor does each task Scheduling.
1 CPS216: Advanced Database Systems Notes 05: Operators for Data Access (contd.) Shivnath Babu.
Data Structures for Midterm 2. C++ Data Structure Runtimes.
Implementation: Charm++ Orion Sky Lawlor
Charm++ overview L. V. Kale. Parallel Programming Decomposition – what to do in parallel –Tasks (loop iterations, functions,.. ) that can be done in parallel.
CHAPTER 9 HASH TABLES, MAPS, AND SKIP LISTS ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++,
FILE SYSTEM IMPLEMENTATION 1. 2 File-System Structure File structure Logical storage unit Collection of related information File system resides on secondary.
Using Charm++ with Arrays Laxmikant (Sanjay) Kale Parallel Programming Lab Department of Computer Science, UIUC charm.cs.uiuc.edu.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
CSC 143T 1 CSC 143 Highlights of Tables and Hashing [Chapter 11 p (Tables)] [Chapter 12 p (Hashing)]
Memory Hierarchy Ideal memory is fast, large, and inexpensive
Subject Name: File Structures
Protection of System Resources
26 - File Systems.
Database Implementation Issues
Chapter 11: Indexing and Hashing
CH 9.2 : Hash Tables Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++, Goodrich, Tamassia and.
CH 9.2 : Hash Tables Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++, Goodrich, Tamassia and.
CPS216: Advanced Database Systems
Replica Placement Model: We consider objects (and don’t worry whether they contain just data or code, or both) Distinguish different processes: A process.
Ch 17 - Binding Protocol Addresses
Chapter 11: Indexing and Hashing
Database Implementation Issues
Presentation transcript:

SMALL IDENTIFIERS FOR CHARE ARRAY ELEMENTS With contributions from Akhil Langer, Harshitha Menon, Bilge Acun, Ramprasad Venkataraman, and L.V. Kalé Phil Miller

Array Element Location Management  Enables process virtualization  Directs messages from sender PE to host PE  Maps element identifier to object pointer on host PE  Processes element instantiation & deletion  Placement at creation  On-demand creation  Detects duplicate insertion

Array Element Location Management  Hooks for RTS introspection and adaptivity  Tracing  Load instrumentation  Migration  Fault tolerance

Array Index Structure  Fixed 16 bytes  No less, even for small/simple arrays  No more, even for sophisticated arrays

Home PE  Track assigned elements  Existence  Current host PE  Default host PE  Tell other PEs as necessary  Assigned by Array Map

Static Array Maps  Array Index to Home PE  Simple strategies  Block  Round-robin (cyclic)  File  Application-specific  OpenAtom  CharmLU

Pushing the Envelope  Array message variant takes bytes  Next largest only needs 18 bytes  Could save bytes on every message!

Goals of a shorter ID  Reduce envelope size  Shrink memory footprint  Improve fine-grain performance  Enable future index evolution

Design parameters  Preserve API:  Send messages by index  Maps and home PEs  Avoid extra communication  Maintain or improve performance

Scheme  64 Bits

Protocol  Home PE generates ID at construction  Simple counter in element field  Async request if constructing elsewhere  ID requests piggy-back on location requests  Extra messages only for unusual construction

Potential Optimizations  PE-level caching & pointer lookups  Index compression instead of lookups

Index Compression  Many arrays fit directly within 48-bit space  All 1D with 32-bit ‘int’  2D < (16M) 2  Etc.  Specify bounds, RTS will bit-pack if they fit  Could also enable hashing  Collisions would be disastrous  Known indices and perfect hashing?

Summary  Current Status  Implemented, passing all tests  Performance Comparable in coarse-grain apps Slightly slower in fine-grain  Future Direction: arbitrary index types  AMR, tree codes