Upload
gregory-myron-hampton
View
225
Download
0
Embed Size (px)
Citation preview
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 ?