students:or yochanansupervisors:mony orbach amir shmulerez tsidon project timeframe: 2 semester

Post on 21-Jan-2016

225 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CEDAR algorithm implementation

Characterization presentation

Students: Or Yochanan Supervisors: Mony OrbachAmir Shmul Erez Tsidon

Project timeframe: 2 Semester

Background

• Counters for fast network traffic– Fast memory :

updates frequently– Large amount of memory :

a lot of traffic to remember– Low power consumption

Current solutions

• Keep less counters– We only hold partial information– Can’t implement certain algorithms

• Combine small on-chip SRAM counters with large off-chip DRAM counters– Need to coordinate between DRAM and SRAM

– DRAM is a “bottleneck”• Estimate counter values

– Restricts estimation value distribution

Enter CEDAR Algorithm

• Counter Estimation Decoupling for Approximate Rates

• Decouple the counter estimators from their estimation values.

• Gathers estimation values into one pre-determined array.

• Flow symbols are now used as pointers into this estimation array.

S-CEDAR Algorithm

Flow Array

Estimators Array

Project Goals

• Find out the complexity of the CEDAR algorithm according to:– Rates– Power– Resources– Performances

• To achieve this goal, we shall implement the CEDAR algorithm over a FPGA platform

Choosing platform

• Specifications:– Multiple counters on fast memory– Multiple data flows on normal memory– Clock rate ~MHz

• Altera DE2– 512KBytes of SRAM– 8MBytes of DRAM– Clock rate up to 50MHz

Get next packet

X = read{F(flow_id)}

D = read{A(X+1)} – read{A(X)}

Randomizing Unit

Update F(flow_id)

1

D

Conceptual Design

Simulate flow input, using the shift registers along with the DRAM memory:The next flow_id sould

Enter after “processing" the Last one.

In order to get the next flow_id in time we will use a FIFO.

Read the current flow (from the Flow Array), according to the flow_id

Calculate the probability for advancing the flow pointer

Testing Environment

• Not complicated• Needs a memory controller• Needs to require minimum resources

• Two methods are possible:– Standalone– NIOS-based

Test Environment – cont.Standalone

Test Environment – cont.NIOS-based

Project Steps

1. Learn the theory behind CEDAR algorithm2. Determine system specifications3. Choose sufficient implementation platform4. Conceptual design5. Learn about the design tools6. Implement CEDAR over platform7. Synthesis8. Simulation9. Test and verify for expected results

Project Steps

1. Learn the theory behind CEDAR algorithm2. Determine system specifications3. Choose sufficient implementation platform4. Conceptual design5. Learn about the design tools6. Implement CEDAR over platform7. Synthesis8. Simulation9. Test and verify for expected results

Gantt tableTask \ Week 1 2 3 4 5 6 7 8 9 10

Exploring the problem 2/3                

Learn S-CEDAR Alg.              Determine system specifications

+ Choose platform                  

Conceptual design                  Characterization presentation***        

 10/4        

Learn the design tools                Detailed design (CEDAR algorithm)Begin implementation (test bench)

Prepare midterm presentation                  23/5

Any questions ?

top related