SCD: TCAM Library Fred Kuhns Applied Research Laboratory

Slides:



Advertisements
Similar presentations
Lecture # 21 Chapter 6 Uptill 6.4. Type System A type system is a collection of rules for assigning type expressions to the various parts of the program.
Advertisements

Day 20 Memory Management. Assumptions A process need not be stored as one contiguous block. The entire process must reside in main memory.
Processes and Resources
System Calls 1.
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC Data Structures January 2012.
Managing SPP Resources: System Resource Manager (SRM) Fred Kuhns Applied Research Laboratory Washington University in St. Louis.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Packet Routing Within MSR Fred Kuhns
Washington WASHINGTON UNIVERSITY IN ST LOUIS Supercharged PlanetLab Platform, Control Overview Fred Kuhns Applied.
Standard Template Library The Standard Template Library was recently added to standard C++. –The STL contains generic template classes. –The STL permits.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Substrate Control: Overview Fred Kuhns Applied Research Laboratory.
Lecture 10 Page 1 CS 111 Summer 2013 File Systems Control Structures A file is a named collection of information Primary roles of file system: – To store.
1. Efficient Peer-to-Peer Lookup Based on a Distributed Trie 2. Complex Queries in DHT-based Peer-to-Peer Networks Lintao Liu 5/21/2002.
How to write a MSGQ Transport (MQT) Overview Nov 29, 2005 Todd Mullanix.
10. Epilogue ENGI 3655 Lab Sessions.  We took control of the computer as early as possible, right after the end of the BIOS  Our multi-stage bootloader.
CSCI 156: Lab 11 Paging. Our Simple Architecture Logical memory space for a process consists of 16 pages of 4k bytes each. Your program thinks it has.
Washington WASHINGTON UNIVERSITY IN ST LOUIS LC/NPE Substrate Control: Substrate Control Daemon Fred Kuhns Applied.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Slice Interface to SPP Fred Kuhns Applied Research Laboratory Washington.
1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 3/15/2016 Allocate and free code option instance, NPE resources and interface bandwidth. Manage.
IP Address Lookup Masoud Sabaei Assistant professor Computer Engineering and Information Technology Department, Amirkabir University of Technology.
WORKING OF SCHEDULER IN OS
Supercharged PlanetLab Platform, Control Overview
Introduction to Kernel
Non Contiguous Memory Allocation
Module 11: File Structure
EmuOS Phase 3 Design Brendon Drew Will Mosley Anna Clayton
Indexing Goals: Store large files Support multiple search keys
Flow Stats Module James Moscola September 12, 2007.
Protection of System Resources
File System Implementation
File System Structure How do I organize a disk into a file system?
Day 19 Memory Management.
CS 3305 System Calls Lecture 7.
Threads and Locks.
ECE 391 Exam 2 HKN Review Session
Design of a Diversified Router: Memory Usage
Design of a Diversified Router: TCAM Usage
Design of a Diversified Router: TCAM Usage
An NP-Based Router for the Open Network Lab
Interrupts and Interrupt Handling
An NP-Based Ethernet Switch for the Open Network Lab Design
CS Introduction to Operating Systems
An NP-Based Router for the Open Network Lab Hardware
Flow Stats Module James Moscola September 6, 2007.
Chapter 14: Protection.
An NP-Based Router for the Open Network Lab Overview by JST
ONL Stats Engine David M. Zar Applied Research Laboratory Computer Science and Engineering Department.
Supercharged PlanetLab Platform, Control Overview
Next steps for SPP & ONL 2/6/2007
IXP Based Router for ONL: Architecture
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
Introduction to Database Systems
CS179G, Project In Computer Science
SPP Version 1 Router Traffic Examples
Design of a Diversified Router: Memory Usage
Implementing an OpenFlow Switch on the NetFPGA platform
File Systems and Disk Management
IXP Based Router for ONL: Architecture
Operating Systems Lecture 3.
Copyright © – Curt Hill STL List Details Copyright © – Curt Hill.
CSE 451: Operating Systems Autumn 2004 Page Tables, TLBs, and Other Pragmatics Hank Levy 1.
ICOM 5016 – Introduction to Database Systems
Chapter 14: File-System Implementation
EMOMA- Exact Match in One Memory Access
Lecture 23.
CSE 451: Operating Systems Winter 2005 Page Tables, TLBs, and Other Pragmatics Steve Gribble 1.
Lecture Topics: 11/20 HW 7 What happens on a memory reference Traps
Interrupts and System Calls
Assignment 5 … Data Next pointer Data Next pointer Data Next pointer
Presentation transcript:

SCD: TCAM Library Fred Kuhns Applied Research Laboratory fredk@arl.wustl.edu Applied Research Laboratory Washington University in St. Louis

Assumptions, Constants TCAM located on SRAM0 (SRAM, channel ID 0) Base address 0x80000000; Select 0 and burst size 1. Each NPU (A/B) has own LA-1 interface SPP version 1 and 2 do not use the second LA-1 interface set IsPort1Used to 0 (i.e. false) NPUA must perform initial configuration Both NPUA/B can use LA-1 interface for lookups All TCAM control implemented on XScale A its not clear that we can use the IDT libraries to control from both NPUA and NPUB. All databases are IDT type exact match. Maximum of 16 databases; Must start on segment boundary User specified DB entry widths: Max: 576-bits; Min: 32-bits; Allowed sizes: n*32, n in (1, 18); 36; 74 and 144. Actual Core sizes: 36, 72, 144, 288 and 576 bits Segment size: 8K x 72-bit 256K x 72-bit core entries Database must start on a segment boundary. Max segments: 32 ZBT Associated SRAM 512K x 36 bit ZBT SRAM (18Mb) Allocated as 0, 32, 64 or 128-bit result data Index and size are number of 32-bit words Command context Available: 128 (0,...,127) Control uses context 120 through 127

Search Machine Class Class SearchMachine {...} May use callbacks with interrupt handlers for ARP aging. Constructor accepts a set of key value pairs specify the configurable parameters. typedef multimap<string, valTable> confTable; Internal state: next database id, starts at 0. segment allocation state (for the 32 available segments): Just need current address of available block. associated memory allocation state: Just need current address of available block. current set of database objects (stl set object). Operations: The Database object is of type Handle<T,P> with the RefCntPolicy (reference counted smart pointer). Or can use pointers by then the SearchMachine class “owns” the DB object and is the only one allowed to destroy it. typedef handle<Database,RefCntPolicy> DB; DB create_database(key_bits, res_bits, max_cnt); void destroy_database(DB); get_dbs() // returns an iterable object, say an stl set.

Configuring a DataBase class DataBase {...} The user is expected to keep track of entry indices. State: id_; // returns ID assigned by SearchMachine class handle_; // assigned by IDT software when DB is created key_width(); // in bits core_width(); // in bits result_width(); // in bits entry_count(); // max number of entries core_start_addr_; assoc_data_addr_; Operations: fltr {key[N]; mask[N]; result[M]} write_fltr(index, fltr); update_result(index,result); fltr get_fltr(key); fltr get_fltr(index) result lookup_fltr(key) rem_fltr(fid); rem_fltr(key)

Configuration File [SearchMachine] useLAPort1 = 0 [database] name = name_db1 id = num_db1 numEntries = X keyWidth = W # bits resultWidth = Y # bits ...

Substrate Configuration tables on NPE Search machine TCAM NPUA NPUB Entries masks keys results ... 1 2 NA-1 NA NA+1 N-1 NA+2