180 likes | 295 Vues
This paper discusses techniques for on-chip logic minimization applicable in IP routing table reduction and access control list (ACL) reduction. It highlights the importance of optimization strategies in managing data efficiently within constrained memory resources. The proposed Riverside On-Chip Minimizer (ROCM) tool, which integrates two-level logic minimization approaches, demonstrates an average performance of just 2% larger than optimal solutions. By adapting algorithms for specific applications, ROCM aims to minimize memory usage and enhance execution times while maintaining result quality. This research received support from prominent institutions, including the National Science Foundation.
E N D
On-Chip Logic Minimization Roman Lysecky & Frank Vahid* Department of Computer Science and Engineering University of California, Riverside *Also with the Center for Embedded Computer Systems, UC Irvine This work was supported in part by the National Science Foundation, the Semiconductor Research Corporation, and a Department of Education GAANN fellowship
Introduction • Boolean logic minimization typically used during logic synthesis • Two-level logic minimization can be considered as a general optimization technique • Many applications can benefit from using logic minimization dynamically • IP routing table reduction • Access control list (ACL) reduction
Incoming IP packet 138.23.16.9 138.23.16.9 Destination IP address Prefix Next hop 138.23.16.x Port 7 Lookup Destination IP in Routing Table 138.23.x.x Port 5 125.x.x.x Port 3 Port 7 Choose Longest Prefix Match On-Chip Minimization Applications (IP Routing Table Reduction)
On-Chip Minimization Applications (IP Routing Table Reduction) • Longest Prefix Match • Ternary CAM (McAuley & Francis, 1993) • Store 0,1,* • Store IP address as TCAM entry • Store prefix length using the TCAM entries mask • Fast • Smaller hardware resources than binary CAM • Very large power consumption • How can we reduce hardware resources and power consumption?
Logic Minimization TCAM Entries after Mask Extension # IP Addr. Mask Next Hop P1&P2 10001100 11101100 7 On-Chip Minimization Applications (IP Routing Table Reduction) • Mask Extension (Liu, 2002) • Uses two-level logic minimization • Performing minimization for each update too slow • Incremental update • Existing minimized set becomes don’t care set • New route becomes single entry in on set • Achieves an average of 50 updates/second • Not considering communication, though Original TCAM Entries
Type Protocol In IP In Port Out IP Out Port Action On-Chip Minimization Applications (Access Control List Reduction) • Access Control List (ACL) • Used to restrict IP traffic through network routers • ACL size can range anywhere from from 300 (UCR CS&E Dept.) to 10,000 (AOL) • Common use is to block a particular protocol or port number to avoid attacks such as Denial of Service attacks • ACL Minimization • Similar approach as used for IP routing table reduction • However, order of the list must be preserved ACL Input Format
Transmit Data to Server Transmit Data to Server MEM Proc. MEM MEM MEM I$ Execute Minimizer Execute Minimizer D$ Server Network Router Chip Transmit Result to Router Introduction(Off-chip Logic Minimization) • Slow due to communication • Sensitive to server failures • Security issues Router
MEM Proc. I$ Initialize Minimizer D$ Execute Minimizer ARM7 ARM7 ARM7 DMA ARM7 Indicate Completion Mem. Mem. Mem. Network Router Chip On-chip Minimizer On-chip Minimizer Introduction(On-chip Logic Minimization) Router
On-Chip Logic MinimizationRequirements • On-chip Logic Minimization Requirements • Data Memory Resources • On-chip minimization algorithms must be very memory conscious • Instruction Memory Resources • On-chip minimization algorithm must incorporate simplified approaches that result in acceptable designs • Execution time • Limited data and instruction memory will likely lead to longer execution times • Must still remain reasonable • Quality of results • Must be capable of producing solution relatively close to optimal Focus on developing an on-chip logic minimization tool that produces acceptable results with reasonable increases in execution time while using limited memory resources.
ROCM • ROCM – Riverside On-Chip Minimizer • Two-level minimization tool • Utilized a combination of approaches from Espresso-II (Brayton, et al. 1984) and Presto (Svoboda & White, 1979) IterativeExpand(F,D,c) { W = {} c' = c for i=1 to |c| { c' = Expand(c',i) (val,W') = ValidExpansion(F,D,c') if val = true W = W W' else Revert(c',i) } return (c',W) } Optimize(F,D) { OrderCubes(F) for i=1 to |F| { c = Fi (c',W) = IterativeExpand(F,D,c) F = (F c') - W } }
Only 2% larger than optimal on average ROCM Results – Quality (Full Routing Table Reduction)
ROCM executing on a 40MHz ARM7 requires less than 1 second ROCM Results – Performance (Incremental Update Execution Time) On a 40 MHz ARM 7 On a 500 MHz Sun Ultra60
Small code size of only 22 kilobytes Average data memory usage of only 1 megabyte ROCM Results – Memory (Code Size and Data Memory Usage) Data Memory Usage Code Size
Only 2% larger than optimal on average ROCM Results – Quality(Access Control List Reduction)
Customizing ROCM • ROCM Customization • Beneficial to optimize an algorithm for a particular application • Customize ROCM’s data structures and algorithms for a particular input size • Require less memory • Reduce dynamic memory allocation • Improve performance • Created ROCM-32 customized for IP routing table reduction
11% reduction in data memory usage vs. ROCM 37% reduction in execution time vs. ROCM Customized ROCM-32 Results(IP Routing Table Reduction)
Conclusions • Presented Riverside On-Chip Minimizer (ROCM) • Feasible to execute logic minimization on chip • Can be executed on an embedded 40 MHz ARM7 in seconds for real networking problem sizes • Requires small code size (22 kilobytes) • Requires small data memory (1 megabyte) • Produces good results • On average only 2% larger than exact minimization • Shown usefulness for networking applications
Future Work • More Applications • May appear now that on-chip minimization is feasible • Dynamic HW/SW Partitioning • Dynamically partition executing binary to on-chip configurable logic • Logic minimization is used during the logic synthesis stage • Initial work on dynamic HW/SW partitioning presented at DAC 2003 yesterday in session 15