LUM final presentation Chanit Giat Rachel Stahl Instructor: Artyom Borzin.

Slides:



Advertisements
Similar presentations
I/O Management and Disk Scheduling
Advertisements

Network II.5 simulator ..
I/O Management and Disk Scheduling
Computer-System Structures Er.Harsimran Singh
System Integration and Performance
INPUT-OUTPUT ORGANIZATION
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
Input and Output CS 215 Lecture #20.
Programmable Interval Timer
The 8085 Microprocessor Architecture
Microprocessor and Microcontroller
CS4315A. Berrached:CMS:UHD1 Operating Systems and Computer Organization Chapter 4.
Computer Organization and Architecture
OS2-1 Chapter 2 Computer System Structures. OS2-2 Outlines Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
Look Up Machine Mid Semester Presentation Chanit Giat Rachel Stahl Instructor: Artyom Borzin הטכניון - מכון טכנולוגי לישראל המעבדה למערכות ספרתיות מהירות.
Chapter 7 Interupts DMA Channels Context Switching.
LOOKUP MACHINE characterization Chanit Giat Rachel Stahl Instructor: Artyom Borzin הטכניון - מכון טכנולוגי לישראל המעבדה למערכות ספרתיות מהירות הפקולטה.
1 Device Management The von Neumann Architecture System Architecture Device Management Polling Interrupts DMA operating systems.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Device Management.
LUM final presentation Chanit Giat Rachel Stahl Instructor: Artyom Borzin Summer semester 2002.
Performed by: Borzin Artyom Lapchev Stas Instructor: Brodny Hen Cooperated with: Magnifire Ltd. המעבדה למערכות ספרתיות מהירות High speed digital systems.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
INPUT-OUTPUT ORGANIZATION
General System Architecture and I/O.  I/O devices and the CPU can execute concurrently.  Each device controller is in charge of a particular device.
System Calls 1.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Input/OUTPUT [I/O Module structure].
Input and Output Computer Organization and Assembly Language: Module 9.
2.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 2: Computer-System Structures Computer System Operation I/O Structure.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 2: Computer-System Structures Computer System Operation I/O Structure.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Chapter 2: Computer-System Structures
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2 Computer-System Structures n Computer System Operation n I/O Structure.
1 CSE Department MAITSandeep Tayal Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
2: Computer-System Structures
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Input/Output CS 342 – Operating Systems Ibrahim Korpeoglu Bilkent University.
1 Chapter 2: Computer-System Structures  Computer System Operation  I/O Structure  Storage Structure  Storage Hierarchy  Hardware Protection  General.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
CE Operating Systems Lecture 17 File systems – interface and implementation.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 2 Computer-System Structures Slide 1 Chapter 2 Computer-System Structures.
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
File Systems cs550 Operating Systems David Monismith.
Lecture 1: Review of Computer Organization
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
CS4315A. Berrached:CMS:UHD1 Operating Systems and Computer Organization Chapter 4.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
Chapter 2: Computer-System Structures(Hardware)
Chapter 2: Computer-System Structures
The 8085 Microprocessor Architecture
Database Management Systems (CS 564)
Local secondary storage (local disks)
Computer Architecture
Lecture 10: Buffer Manager and File Organization
Computer-System Architecture
Module 2: Computer-System Structures
Operating Systems Chapter 5: Input/Output Management
Implementing an OpenFlow Switch on the NetFPGA platform
The 8085 Microprocessor Architecture
Module 2: Computer-System Structures
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Module 2: Computer-System Structures
Module 2: Computer-System Structures
Presentation transcript:

LUM final presentation Chanit Giat Rachel Stahl Instructor: Artyom Borzin

PROXY CACHE ENGINE The proxy cache engine gives hardware support to a server ’ s OS in order to improve its service rate, and adds security features. The main memory of a network server is the quick storage device, where the recently accessed data is saved. When a new request for data is received, the application must search the memory. If the data are found - send the response; otherwise the data must be read from a slower storage device (disk, tape) and then sent to the user.

PROXY CACHE ENGINE The system stores the information about all the files ’ mapping in main memory and calculates the exact path to the required file if present in main memory. If not present, orders the operating system to bring it from the storage device, and supplies the path to the free memory space is supplied. The system holds 2 main data bases: A main memory, which holds up to 2Meg paths to the server ’ s memory, and their aging parameters. A bit map table, which allows faster memory management by holding the free space image of the main memory.

Main functions: Search – returns the path to the main memory, or a path to a free space in the memory. Set attributes – sets the file ’ s aging attributes, as supplied by the OS. Delete – deletes a certain path from the memory. Count free – returns number of free path slots in the memory. Init – initialize the machine. (age – when number of records exceeds a specified number, the system cleans up some of them.) LengthCID=1ASISSite#Data SEARCH:

Previous uArchitecture Local Bus Interface Reg. file Data Stream controller Output FIFO Input FIFO Decoder CRC unit Database Manager (DBM) UTCAM SRAM (Bit Map)

uArchitecture changes: Doubling the front-end of the machine, including: Input FIFO Decoder CRC unit Buffering between the decoders and the DBM with a FIFO. The search for a free index in the Bit Map is now done in parallel to the rest of the command execution.

Previous uArchitecture Local Bus Interface Reg. file Data Stream controller Output FIFO Input FIFO Decoder CRC unit Database Manager (DBM) UTCAM SRAM (Bit Map)

FrontEnd New uarchitecture Input FIFO Decoder CRC

New uarchitecture FrontEnd1 FrontEnd0 Input FIFO Decoder CRC Input FIFO Decoder CRC

Double FrontEnd1 DBM Fifo FrontEnd0 New uarchitecture Input FIFO Decoder CRC Input FIFO Decoder CRC FIFOFIFO

LOCAL BUS INTERFACE New uarchitecture Double FrontEnd1 DBM Fifo FrontEnd0 Input FIFO Decoder CRC Input FIFO Decoder CRC FIFOFIFO Reg. file Data Stream Controller Output FIFO

New uarchitecture LOCAL BUS INTERFACE Double FrontEnd1 DBM Fifo FrontEnd0 Input FIFO Decoder CRC Input FIFO Decoder CRC FIFOFIFO Reg. file Data Stream Controller Output FIFO DBMDBM

Data Flow LOCAL BUS INTERFACE Double FrontEnd1 DBM Fifo FrontEnd0 Input FIFO Decoder CRC Input FIFO Decoder CRC FIFOFIFO Reg. file Data Stream Controller Output FIFO DBMDBM

Data Flow LOCAL BUS INTERFACE Double FrontEnd1 DBM Fifo FrontEnd0 Input FIFO Decoder CRC Input FIFO Decoder CRC FIFOFIFO Reg. file Data Stream Controller Output FIFO DBMDBM

Data Flow LOCAL BUS INTERFACE Double FrontEnd1 DBM Fifo FrontEnd0 Input FIFO Decoder CRC Input FIFO Decoder CRC FIFOFIFO Reg. file Data Stream Controller Output FIFO DBMDBM

Data stream ctrl LOCAL BUS INTERFACE Input FIFO 0 Input FIFO 1 Reg. file Data Stream Controller Output FIFO FIFO 0FIFO 1 Sys_clr !sot & lwr SOT – start of transaction.lwr – specifies write/read from the system.

Sim: Data Stream ctrl Reading from register file (crc) Data enters FIFO 0 Data enters FIFO 1

DBM FIFO DBM Fifo FIFOFIFO DBMDBM WAIT ON GO0 WAIT ON GO1 DEC0DEC1 go0 & !dbm_full go1 & !dbm_full fifo_wrdone Sys_clr go0/1: FrontEnd0/1 (decoder0/1) are ready dbm_full: dbm FIFO is full. fifo_wrdone: Write to FIFO is done.

Sim: DBM FIFO State encoding: 1 – wait on go0 2 – DEC0 4 – wait on go1 8 – DEC1 WAIT ON GO0 WAIT ON GO1 DEC0 DEC1 go0 & !dbm_full go1 & !dbm_full fifo_wrdon e Sys_ clr DBM FIFO samples data from decoder 0 DBM FIFO samples data from decoder 1

DBM DOUBLE DBM interface DBM fifo ISSUE LOGIC EXECUTION UNIT REQ packet PACKER BIT MAP UNIT Saves the last bad Decoder status, Which goes to the Output FIFO with the Next successful Command

Sim: bad decoder status

Register file Previously, the user could read the system ’ s current parameters from the register file: command id, CRC value, file ’ s site etc. Since we have 2 pipes, the register file had to be changed: Some registers contain data from both pipes. For others, there is a need to specify the pipe of which to read the parameters.

ADD - old IDLE FND_NINDX ADD_NINDX ACK_NINDX (ad_en)&& (!ad_done) (bm_s4f_done) (ad_error) (ad_new_done) (bm_s4f_done) Finding a new Free index ~40 clk cycles Updating Bit map ~10 clk cycles IDLE FNEWACKN !Sys_clr Fnew_done Ackn_done Bm_s4f_new_ack !Bm_s4f_new_ac k s4f - old

ADD - new IDLE ADD_NINDXACK_NINDX !Sys_clr (ad_en)&&(!ad_done) && (bm_index_valid) (ad_err) (ad_new_done) (bm_ack_rcvd) New index is found while the ‘ADD’ module is idle ! (which is for more than 50 cycles…) WT_FOR_ACK FNEWACKN !Sys_clr Bm_index_valid Ackn_done Add_ack s4f - new

Sim: add, s4f s4f state encoding: 0 – wait for ack 2 – ack old index 1 – find new index add state encoding: 1 – idle 2 – add index 4 – ack index

Sim: add, s4f s4f state encoding: 0 – wait for ack 2 – ack old index 1 – find new index add state encoding: 1 – idle 2 – add index 4 – ack index

Sim: add, s4f s4f state encoding: 0 – wait for ack 2 – ack old index 1 – find new index add state encoding: 1 – idle 2 – add index 4 – ack index

Sim: add, s4f s4f state encoding: 0 – wait for ack 2 – ack old index 1 – find new index add state encoding: 1 – idle 2 – add index 4 – ack index

performance Main function is the ‘ search ’ command: Long path (up to 512 bytes) => long CRC calculation => long decoding stage. Access to main memory => if failed to find the path requested, adding a new record to the memory, which includes finding a new index and acknowledge of the record added (at least 4 memory accesses).

performance 2 input FIFOs – double rate receiving data from OS. 2 decoders – allows decoding of 2 commands in parallel. Significant for several long ‘ search ’ commands in a row. DBM FIFO – separates between the decoding and execution of commands, enables them to perform in parallel.

performance 2 search commands each with 102 bytes of path (on which crc is working): Old ArchitectureNew Architecture Ads_n falls (first search) 628n First dword in Input fifo (is_usedw) 719n718n End of decoding(crc_done) 6128n (dbm_fifo->fifo_input is ready) 6202n Pck__en raises9344n8560n Sot falls n First dword in Input fifo (is_usedw) 2380n End of decoding(crc_done)14574n7869 Pck__en raises15408n

performance Search for a free index now executes in parallel to other execution stages of a command. Saves ~50 clock cycles per ‘ search ’ command, which usually takes ~ cycles.

The end …

Sim: s4f State encoding: 0 – wait for ack 2 – ack old index 1 – find new index WT_FOR_ACK FNEWACKN !Sys_clr Bm_index_valid Ackn_d one Add _ack

Sim: s4f State encoding: 0 – wait for ack 2 – ack old index 1 – find new index WT_FOR_ACK FNEWACKN !Sys_clr Bm_index_valid Ackn_d one Add _ack