Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs I

Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs I
Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs I

Abstract

With the continuous advances in optical communications technology, the link transmission speed of

Internet backbone has been increasing rapidly. This in

turn demands more powerful IP address lookup engine. In

this paper, we propose a power-efficient parallel

TCAM-based lookup engine with a distributed logical

caching scheme for dynamic load-balancing. In order to

distribute the lookup requests among multiple TCAM chips,

a smart partitioning approach called pre-order splitting

divides the route table into multiple sub-tables for parallel

processing. Meanwhile, by virtual of the cache-based load

balancing scheme with slow-update mechanism, a speedup

factor of N-1 can be guaranteed for a system with N (N>2)

TCAM chips, even with unbalanced bursty lookup requests.

1. Introduction

IP address lookup is one of the key issues in Internet

core routers. Today, an Internet core router, such as the

Juniper T640, processes 640G bits per second (Gbps). On

condition that each packet is at its minimum size of 40

bytes, such router should complete a packet lookup every

0.5ns. In light of the Moore’s law, the growing pace of

link transmission speed expects much higher lookup

throughput in the near future.

Ternary Content Addressable Memory (TCAM) is a

I

This work is supported by NSFC (No. 60373007, 60573121 and

60625201), China/Ireland Science and Technology Collaboration Research Fund (CI-2003-02), the Specialized Research Fund for the

Doctoral Program of Higher Education of China (No. 20040003048) and

the Cultivation Fund of the Key Scientific and Technical Innovation

Project, Ministry of Education of China (No. 705003) and Tsinghua

Basic Research Foundation (JCpy2005054). 1-4244-0910-1/07/$20.00 ?2007 IEEE.

fully associative memory that allows a "don't care" state to be stored in each memory cell in addition to 0's and 1's. It returns the matching result within only one memory access,

which is much faster than algorithmic approaches [18] that require multiple memory accesses. As a result, TCAM is widely utilized for the IP lookup nowadays. Nevertheless, TCAM is not a panacea in that: the memory access speed is slower than SRAM while the power consumption is high. The state-of-the-art 18Mb TCAM can only operate at a speed of up to 266MHz and performs 133 millions lookup per second [4], barely enough to keep up with the 40Gbps line rate today. On the other hand, the size of the route table has been increasing at a rate of about 10-50k entries per year in the past few years [1]. When IPv6 is widely deployed, even more storage space is needed. In pursuit of an ultra-high lookup

throughput matching the ever-increasing link transmission speed and the rapidly growing route table, multi-chips system is necessary. Given multiple TCAM chips in the system, we strive to multiply the lookup rate by using parallel processing techniques with minimal overhead. There are some major concerns in chip-level parallel lookup system design: 1) A partitioning method is needed here to split the entire route table into multiple sub-tables that could be stored in separate TCAMs. It should support dynamic lookup requests distributions, efficient incremental updates, high memory utilization and economical power dissipation. 2) A dynamic load balancing is required for the sake of higher and robust throughput performance in parallel system.

The subject of this paper mainly focuses on the above two issues. The proposed lookup engine is cost-effective and it guarantees a speedup factor of at least N -1 by using N (N >2) TCAM chips, even when the lookup requests can be unevenly distributed. When four TCAMs are used with a partitioning factor of 32, the power consumption is reduced by over 93.75% compared to the naive mode

Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs I

Dong Lin 1, Yue Zhang 1, Chengchen Hu 1, Bin Liu 1, Xin Zhang 2, and Derek Pao 3

2

Dept. of Computer Science Carnegie Mellon University, USA

xzhang1@https://www.360docs.net/doc/2f17863028.html,

1

Dept. of Computer Science and Technology

Tsinghua University, China lindong05@https://www.360docs.net/doc/2f17863028.html, zhang-yue@https://www.360docs.net/doc/2f17863028.html,

huc@https://www.360docs.net/doc/2f17863028.html, liub@https://www.360docs.net/doc/2f17863028.html,

3

Dept. of Electronic Engineering City University of Hong Kong, Hong Kong

d.pao@https://www.360docs.net/doc/2f17863028.html,.hk

while the storage redundancy is less than 2%.

The rest of the paper is organized as follows. In Section 2, we describe prior works and some useful observations of the Internet traffic. In Section 3, we propose a table partitioning algorithm which evenly distributes the route table entries among the TCAM chips to ensure high memory utilization. In Section 4, we describe the hardware architecture of the lookup engine and the dynamic load balancing scheme. We present our theoretical performance evaluation in Section 5 and simulation results in Section 6 respectively. Finally, we conclude our work in Section 7.

2. Related Works and Investigation

2.1.Algorithms Based on TCAM

Chip-level parallel TCAMs were deployed to circumvent the limitation of a single TCAM, where issues should be appropriately addressed: i) high memory efficiency, ii) economical power dissipation and iii) balanced traffic load distribution among parallel TCAMs.

Many researchers have strived to optimize the TCAM-based lookup engines with respect to i) and ii): Liu et al. [6] used both pruning and logic minimizing algorithms to reduce the forwarding table sizes, which in turn reduced the memory cost and power consumption of the TCAM. Many other studies [7, 9] developed more power-efficient lookup engines benefiting from a new feature of some TCAMs called “partition-disable”. The key idea is to split the entire routing table into multiple sub-tables or buckets, where each bucket is laid out over one or more TCAM blocks. During a parallel lookup operation, only the block(s) containing the prefixes that match the incoming IP address is (are) triggered instead of all the entries in the original table. In this fashion, TCAM’s power consumption can be dramatically reduced. As a key component of such design, generally three kinds of algorithms for partitioning the entire routing table were proposed, i.e., key-ID based [3, 7, 9], prefix trie-based [7] and range-based [8] partitioning. The key-ID approach suffered from uneven sub-table sizes and uncontrolled redundancy, which result in a higher memory and power cost. Trie-based partitioning in [7] can lower the redundancy and unify sub-table sizes, but it required an extra index TCAM to perform the block selection. As a result, two TCAM accesses are occupied for each lookup request. Panigrahy et al. [8] introduced a range-based partitioning framework where they expected to split the routing table into multiple buckets with identical size (number of prefixes). However, the algorithm to determine the partitions which is a vital implemental concern in practice was not presented in [8].

When it comes to iii), few truly effective algorithms have been proposed so far to the best of our knowledge. Without any load balancing mechanisms, eight or more parallel TCAM chips were employed in [8]. But only a speedup factor of five was achieved if the lookup requests were not evenly distributed. A load balancing mechanism was introduced in [9] based on some “pre-selected” redundancy. It assumed that the lookup traffic distribution among IP prefixes can be derived from the traffic traces. In their optimized system evaluation with simulated traffic, a speedup factor of nearly four can be achieved. However, when a certain range of route prefixes, or a certain TCAM block, receives more traffic than others or when the traffic is temporarily or permanently biased to a limited number of route prefixes, multiple selectors frequently try to access the same block. Under such a contentious situation, the system can only fulfill one of the requests. This greatly hampers the average throughput.

2.2. Analysis on Internet traffic

Recall that the performance of a parallel search engine depends heavily on the distribution of lookup requests. Based on the data collected from [10], we observed that the average overall bandwidth utilization was very low but the Internet traffic could be very bursty. In April 2006, the average bandwidth utilization among more than 140 backbone routers was only about 3.1134% and 3.1234% for inbound and outbound traffic respectively II. However, workload of individual router can be great bursty during bulk date transfer. Taking router Chin-CERN (40Gbps) as an example, on May 12, 2006, its workload fluctuated between 10Mpkt/s III(8%) and 50Mpkt/s (40%), and in the week of 24/04-2006 the workload was increased to over 113Mpkt/s (90%) during peak periods. Jiang et al. [15] suggested that bursts from large TCP flows were the major source of the overall bursty Internet traffic. They identified nine most common causes of source-level IP traffic bursts, one for UDP and eight for TCP flows. Most of these were due to anomalies or auxiliary mechanisms in TCP and applications. It is indicated that TCP’s window-based congestion control itself leads to bursty traffic. As long as a TCP flow cannot fill the pipe between the sender and the receiver, bursts always occur. Hence, mapping route table partitions into TCAM chips based on long-term traffic distribution [9] cannot effectively balance the workload of individual TCAM chip during bursty periods.

Instead of mapping route table partitions into TCAM chips relying on long-term traffic statistics, our adaptive load balancing scheme will capture the locality property of Internet traffic using the concept of cache. Locality II As the minimum packet size is 40 bytes, concerning the average packet size of these routers (804 bytes), the average work load of the search engine will be less than 0.16% for both inbound and outbound.

III Mpkt/s means million packets per second. When the minimum packet size is 40 bytes, 40Gbps means 125Mpkt/s at maximum.

property of Internet traffic had been widely studied in [11-14]. Analyses on real traces revealed that the conversation IV counts were lower than the packet counts, which indicated the existence of the temporal locality. For a real trace, in case of 100-second time interval, top 10% of the highest-activity conversations accounted for over 74% of the packets [11].

3. Smart Route table Partition

In this section, we propose a range-based partitioning algorithm that can evenly allocate the route entries among the TCAM chips to ensure high memory utilization.

To achieve the range-based partitioning, one needs to divide the whole route table into N independent parts by range [8]. Taking IPv4 as an example, an IP address could lay in the space from 0 to (232-1). We partition this space into N disjoint ranges so that each range maps to about 1/N of the total number of prefixes. We say a prefix falls into a range if any IP address from that prefix can match the range. Formally, a prefix P* falls in a range [a, b] if the range [P0...0, P1...1] intersects with the range [a, b]. To make the route partitioning work well, two points should be addressed here. First, a smart method should be explored to determine the appropriate range boundaries simply. Second, LPM must be guaranteed, because some prefixes may fall into multiple ranges simultaneously.

Our partitioning scheme works in two steps. First, a routing trie is constructed using the route table. LC-trie [17] can be certainly used here to save memory space, but for the sake of clear description we use 1-bit trie for demonstration. (Figure 1 is an example of 1-bit trie built from a route table.) Second, sub-trees or collections of the 1-bit trie are successively carved out and mapped into an individual routing group.

3.1. Pre-order Splitting

Here is the description of the trie-based partitioning algorithm called pre-order splitting. (Figure 2 is the pseudo-code of this algorithm.) This algorithm takes a parameter b that denotes the number of TCAM buckets as input. The output is a set of b sub-tables with equal size and

a set of (b-1) reference nodes which are depicted in Figure

2. During the partitioning step, the entire trie is traversed in pre-order looking for a prefix node. Every time a prefix

IV A conversation was defined as a sequence of packets toward the same destination address within a fixed time interval [11].

V The prefixes of only the black nodes are in the route table. A “*” in the prefixes denotes the start of don’t-care bits.

VI Here count is the number of prefixes in the 1-bit trie, root is the root node of the 1-bit trie, prefix (p) is the prefix of node p, parent (p) is the parent node of p in the 1-bit trie, push (p) means to save p into stack, pop means to load an element from stack, and delete (p) means to delete node p from 1-bit trie.

Figure 1. An example route table and corresponding 1-bit trie built from it. V

Preorder-split (b)

{

m=count/b; j=b; u=1;

while (j! =1){

p=root;

for (i =0; i<=m; i++){

p=next prefix node in pre-order;

push(p);

put prefix(p) in bucket[u];

}

p=next prefix node in pre-order;

save prefix(p) as the reference_node[u];

u++;

while (stack is not empty){

p=pop;

while(node p has no children node){

delete(p);

p=parent(p);

}

}

j--;

}

save the rest prefix nodes as bucket[b];

}

Figure 2.Pre-order splitting VI.

No.Bucket

Prefixes

Ref.

Node

Range

Low

Range

High

1 000*,000000,

00001*,00010*

000111 000000000110

2 000*,000111,

00111*,01*

1* 000111011111

3 1*,110*,

1100*,1111*

111101 100000111100

4 1*,1111*,

111101,11111*

111101111111 Figure 3. Four iterations of the pre-order splitting algorithm.

node is encountered, it will be saved in a TCAM bucket and pushed into a stack at same time. When the program gets an average number of prefix nodes, it will pop an element from the stack and delete the corresponding prefix node (remount to its parent node) which has no child nodes from the entire trie. This step will continue until the stack is empty. After this step, some parts of the tire are carved out. The program will get a sub-table with equal size fitting to a TCAM bucket in each loop. Finally, the rest of the prefix nodes in the last loop will be saved in the last TCAM bucket. During the whole process, the reference nodes will be saved too. Figure 3 instantiates how prefix nodes are divided into four buckets from the 1-bit trie depicted in Figure 1. It is obvious that the first TCAM bucket’s low range point must be (0…0) and the last TCAM bucket’s high range point must be (1…1). We will use the reference nodes to calculate the other boundary points of each TCAM bucket. For instance, P* is the reference node of TCAM bucket u (not the last one). So its high range point will be (P0…0 - 1) while the TCAM bucket [u +1]’s low range point will be (P0…0). In this way, we have b TCAM buckets and each of them has a pair of boundary points. To lookup the route for an input address a , only the TCAM bucket [u ] is activated, where the value of a lies within the low and high range of bucket [u ]. To ensure correct lookup result, prefixes lying along the boundary of 2 adjacent buckets are duplicated in the 2 buckets concerned automatically. Furthermore, the default prefix (0.0.0.0/0) will be copied to all the buckets initially. We refer to this prefix duplication as the redundancy. As shown in Figure 1, level of prefix nesting in the routing table is no more than 6, i.e. there are at most 6 valid prefixes along a path from the root to a leaf in the 1-bit trie. Hence, the amount of redundancy is no more than 6*b . In IPv4, length of prefixes can be between 8 to 32, whereas in IPv6 length of prefixes can be between 16 to 64, and 128 [5]. If there are b buckets in the system, then the redundancy is no more than 24*b for IPv4, and no more than 50*b for IPv6.

The prefix update is very simple. During an insertion operation, a prefix P will be compared with the boundary points and be copied to the corresponding buckets. During a deleting operation, there will be no extra operation for a non-boundary prefix. For a boundary prefix, the new ranges of its TCAM bucket should be re-calculated. Since the boundary points are only determined by the reference node , we just need to find a new reference node . It can be determined by a simple pre-order searching in the 1-bit trie that costs only a few clock cycles. As shown in Figure 1, when the prefix node 1* is deleted, the new reference node for bucket No.2 will be 110* (the next prefix node of 01* in pre-order). As a result, the range for both bucket No.2 and No.3 will be changed into (000111, 101111) and (110000, 111100), respectively. Another advantage is that

it is not difficult to balance the size of two adjacent TCAM

/

Figure 4. Schematics of the indexing logic.

Bucket Range Low Range High

Size 1 0.0.0.0 32.113.255.255

58072 32.114.0.0 62.101.191.255 58073 62.101.192.0 64.76.75.255 58074 64.76.76.0 65.164.213.255

5807

5 65.164.214.0 66.187.243.255 5807

6 66.187.244.0 68.166.255.255 5807

7 68.167.0.0 70.169.57.255 5807

30 213.182.109.0 216.158.137.255 580731 216.158.138.0 218.103.47.255 580732 218.103.48.0 255.255.255.255 5110

Figure 5. The detail result with b =32 on Equinix.

Figure 6. Partition redundancy.

Figure https://www.360docs.net/doc/2f17863028.html,parasion on key-ID and range partition.

Figure 8. Cache organizations:

(a) centralized cache;(b) distributed caches

buckets dynamically.

Figure 4 illustrates the pipelined structure of the Indexing Logic for TCAM block selection. It is composed of pairs of parallel comparing logics and an index table. Each pair of parallel comparing logic corresponds to one TCAM bucket and is composed of two registers which store the boundary points of each TCAM bucket. Next to the parallel comparing logics is an index table with encoder. The index table which stores the bucket distribution information returns a partition number indicating which bucket may contain the prefix matching the IP address by the encoded information. Because the data width of the Indexing Logic is fixed and only simple “compare” operation is executed, it can work at a very high speed. In this paper, the Indexing Logic has been set as the entry of the entire parallel system.

3.2. Evaluate the Pre-order Splitting

We have analyzed the route tables VII provided by route-views [2]. We chose different b for test. In order to prevent the large size of the last bucket, we chose count/b +24as the average size instead of count/b. Figure 5 shows some detail results partitioned on Equinix with b=32 and the redundancy of the entire system is only

51. Figure 6 shows the relationship between bucket number

b and the whole redundancy among four route tables. The redundancy for all route tables is less than 2b and it is much less than the theoretical worst-case estimation (24b).

We also have a comparison between our range-based partitioning method and the key-ID approach [9]. Since the key-ID approach can only based on 10-13bit (which is the best configuration for both redundancy and even sub-table size), we chose b as 16 and chose count/16 +24

as the average size of each bucket. Figure 7 shows that besides more redundancy, the key-ID approach suffers from uneven sub-table sizes seriously while our partitioning method can guarantee precisely even size of each bucket and little redundancy.

4. Logical Cache for Load Balancing

4.1. Cache Organization

As mentioned in Section 2.2, temporal locality of the Internet traffic is much stronger in the core routers due to the greater effect of heavy flow aggregations. To achieve higher lookup throughput, a straightforward design with VII They are Equinix located in Ashburn, V A on 2006-05-02 00:42(UTC) with a size of 185076; ISC (PAIX) located in Palo Alto CA, USA on 2006-05-02 00:14(UTC) with a size of 186843; LINX located in London, GB on 2006-05-02 00:36(UTC) with a size of 186582; DIXIE (NSPIXP) located in Tokyo, Japan on 2006-05-02 00:17(UTC) with a size of 188526. cache is to deploy a first stage caches working in front of a second stage data TCAMs. An obvious drawback of this conventional approach is that the cache is required to operate at N times the speed of TCAM if there are N parallel TCAMs in the system, which is impractical.

As we have mentioned in Section 1, TCAM vendors have started providing mechanisms called TCAM blocks. Since there are multiple TCAM chips, we can use some blocks to create logical caches. In this case, the commercial TCAMs can be competent for supporting such a cache mechanism. No additional cache module implies fewer pins and less packaging cost. Furthermore, employing the existing TCAM cells as logical caches exhibits a better performance cost ratio. So we propose a parallel system with distributed logical caches as Figure 8(b) depicts.

Based on our partitioning algorithm, we partition each TCAM into small buckets with a size of count/b +24so that each bucket can store in one single partition. Now we use the partition as a basic unit to allocate the prefixes among the TCAMs. We also select some blocks from each TCAM to serve as logical caches. Suppose there are 4 TCAMs and each one has 8 partitions plus 1 logical cache. Therefore, there are totally 32 partitions, so b equals to 32.

4.2. Logical Caches for Load Balancing

The detailed implementation architecture of the parallel lookup engine is presented in Figure 9. Given an incoming IP packet to be searched, the IP address is extracted and delivered to the Indexing Logic (see Figure 4) for a comparing operation. The Indexing Logic will return a partition number indicating the “home” TCAM that may contain the matching prefixes. The Adaptive Load Balance Logic sends the IP address to the home TCAM or an alternate TCAM for processing based on the length of the FIFO queues. A feed back logic is also settled to operate the cache-missed packets. Since multiple input queues and feeding back exist in the proposed scheme, the incoming IP addresses can be processed in a non-FIFO order. The Re-ordering logic maintains the original sequence by using the time stamp attached.

The adaptive load balance logic distributes a new lookup request to the TCAM chip with the shortest input queue. With the feedback mechanism depicted in Figure 9, there are three different alternatives. 1) If the incoming IP address has been sent to its home TCAM, it will get a search operation on the partition indicated by the Indexing Logic and the final result is done. 2) If the incoming IP address has been sent to a non-home TCAM, it will get a search operation on the logical cache. When it is cache-matched, the result is guaranteed by the RRC-ME, so the final result is done. 3) The logical cache of the TCAMs only holds a small number of prefixes. When a cache miss occurs, it must be sent back to the home TCAM via the feedback to the corresponding FIFO and

case 1) happens again.

4.3. Cache IPs or Cache Prefixes

Generally two kinds of algorithms for cache mechanism are proposed in route loopup literatures, caching destination addresses (IPs) [11-13] and caching prefixes [14]. Binary CAM can be used if IPs are cached. However, using BCAMs imposes a much higher overhead in the proposed system. The second disadvantage of caching IPs is that a much larger cache size is required. A number of papers [11-13] have demonstrated that the cache hit rate can be over 90% with 8,192 cache entries by caching IPs, while the cache hit rate can easily achieve 96.2% with 256 cache entries by caching prefixes [14].

For caching prefix, one important issue is worth being mentioned here. Suppose p and q are two prefixes where q is a subrange of p , i.e. p is a prefix of q . If there is a lookup request r redirected to the cache and p is the LMP of r , then p will be added to the cache. However, in some later time if another request r’ (whose LMP is q ) is redirected to the cache, then the cache will return p as the lookup result (where the correct result should be q ). To resolve this problem, we adopt the RRC-ME algorithm [14] in managing the cache. In the above example, the shorter prefix p will be expanded into a longer prefix, based on the Minimal Expansion Prefix (MEP) method in [14]. For instance, there are only two prefixes in a route table, i.e. 1* and 111*. Hence, the MEP for request 1111 is 111*, the MEP for request 1000 is 10*(it has the same next hop as 1*), the MEP for request 1100 is 110*(it has the same next hop as 1*). Since the expanded prefixes are disjoint, there is one and only one possible match result for every input address. Thus, the match result, if any, returned by looking up a cache is valid. Another advantage of prefix expansion method is that any update to the cache block only requires one TCAM cycle because the prefixes need not be ordered.

4.4. Slow-update

In the proposed logical cache organization, a TCAM chip is not available to perform IP lookup during cache updates. Hence, a high cache update frequency will seriously affect the system performance. Moreover, immediate cache update in the event of cache miss is very difficult since the system has to evaluate the MEP decomposition of the corresponding prefix. We shall show that a slow-update mechanism with LRU algorithm can achieve nearly the same cache-hit rate as immediate update when the cache size is large enough.

Slow-update mechanism can be considered as a sampling update. Only one cache-missed element is updated within a predefined interval, i.e. D TCAM cycles. During this period, the other cache-missed elements are ignored. For instance, a cache-missed element is detected at time t and the cache update module is free, then the MEP of this cache-missed element will be updated to the cache at time t +D . The other cache-missed elements detected during time t +1 to t+D are ignored. Since the slow-update mechanism is very easy to implement, a commercial CPU is competent for the processing.

We have evaluated our slow-update mechanism with traces. Unlike the “pretreated”VIII traces published on [16], we collect un-pretreated and representative traffic traces from one backbone router of the China Education and Research Network (CERNet IX ).

The monitoring router is located in the network center of Tsinghua University which belongs to Beijing Regional

VIII

Due to the commercial secret, both the destination and source IP addresses have been changed. Most of them are 10.*.*.*. IX

CERNet is one of the biggest networks in China with over 18 millions users. There are over 1300 schools, research or government institutions among 31 provinces connected to

CERNet via 8 regional network centers.

Figure 9. Schematics of the complete implementation architecture.

Network Center. It operates at 1Gbps of the Ethernet link

bandwidth. The trace is collected from 10:15 to 10:30 on Sep. 19, 2006 and only outbound packets were recorded. As mentioned in Section 2.2 that the average overall bandwidth utilization is very low but the Internet traffic could be very bursty. In order to simulate the most serious situation, the trace is first sorted according to the packet arrival timestamp to ensure each packet appears in the correct time order. Then it is changed into back-to-back mode but we still measure the statistic per second by the timestamps. This kind of treatment deteriorates the experimental environment and the experimental result can be well guaranteed even in the other serious situations. Then only the information in the middle 200 seconds (500 to 700) of this 15-minute trace is reserved to avoid the possible warm-up and trail interference. The route table (Equinix) used for this experiment was borrowed from [2] and contains 185,076 entries.

Figure 10 shows the detail results. We find that the update-delay does not affect so much if the cache size is large. Figure 10 (a) demonstrates that when the cache size is 64, the immediate update (D =0) outperforms the slow-update approach, the cache hit rate is about 5% higher than the others. Figure 10 (b) draws the results of caching 128 prefixes. Though the immediate update still outperforms than the others (the cache hit rate is about 3%

higher than the others), the cache hit rate line with D =50 is even worse than the D =5000’s one. When the cache size is 256 (Figure 10 (c)), the immediate update’s cache hit rate is only 1.5% higher then the others. We go on increasing the cache size. When there are 512 cache entries (Figure 10 (d)) and D is 5000, the cache hit-rate can still achieve over 90%. In this case it is truly hard to distinguish them (immediate update and slow-update) clearly. When the cache size is increased to 1024 (Figure 10 (e)), the slow-update mechanism may even outperform the immediate update, the cache hit rate is also increased to 95%. For the sake of clear illustration, we put Figure 10 (a)(b)(c)(d)(e) together. As shown in Figure 10 (g), the cache hit rate with different D is getting closer as the cache size increases. So we conclude that: 1)It is hard to say that bigger or smaller D is absolutely good or not for the performance when the cache is quite large. 2)As the cache size is increased, impact of D becomes less significant. 3)By increasing the cache size, we can achieve a higher cache hit rate while the system can also tolerate a bigger D .

We acknowledge that the slow-update mechanism has its drawbacks. First, it takes a long time for the system to reach steady state in a cold start. As shown in Figure 10(f), when the cache size is 1024 and D equals 5000, the cache

needs about 100 seconds to warm-up and this is obviously

(a) (b)

(c)

(d) (e)

(f)

(g)

(h)

Figure 10. Cache hit-rate of Slow-update policies.

unacceptable. But we can suggest some strategy to resolve this problem. For example, we can use a small D value at the beginning to achieve a reasonable cache hit rate quickly. As shown in Figure 10(f), when D equals to 50, the cache can be full filled in one second. After the warm-up period, D could be set back to a big value again. Since we cache prefixes not IPs, the un-updated prefixes may still have a great chance to be matched by the other flows. And some prefixes that are frequently accessed can stay in the cache by LRU. By combining LRU with slow-update mechanism, a nice performance can be achieved when the cache size is large enough.

Second, slow-update mechanism leads to much fluctuation. Figure 10(h) is an amplificatory demonstration of Figure 10(e), the statistic interval has been reduced to 1 ms. We find that the cache hit-rate fluctuates seriously. The cache hit rate may even drop to 79% at 500022 ms when D equals 5000. Generally speaking, larger D leads to more fluctuations. Hence, bigger buffers are needed for the slow-update mechanism.

5. Performance Analysis

5.1. Lower Bound of the System Performance

As mentioned above in Section 4, a practical parallel lookup system should be able to handle bursty traffic efficiently. We discuss the lower bound of the system performance in this section. Because the update cost of proposed system is only 1/D , when D is larger enough, i.e. 5000, the update cost is only 0.02%. Thus, we shall neglect the update cost in the analysis.

For the sake of clear description, let us consider the following scenario. There are N (N >2) TCAMs with the aforementioned structure. Suppose the maximum bandwidth of one TCAM is MW max (M stands for the speedup factor of TCAM), and the average hit rate of cache is x . In a practical parallel system, the most serious situation would be that all the workload has been sent to a single TCAM. As a result, the performance of entire system would be much worse than the theoretical maximum. Therefore, we shall address such a problem that in order to guarantee NW max throughput in a system with N TCAMs, what kind of equation (concerning x and M ) should be hold true.

In the case above, with the operation of load balancing, the other N -1 TCAMs will work as logical caches. And the TCAM which supposes to finish all the workload itself becomes “second stage” spontaneously. It just needs to operate the cache-missed packets from the other N -1 TCAMs. In the stable state with finite buffer, the following equation should hold true.

()max max -1()N MW NW ≥ (1)

max max (1)NW x MW ?≤

(2)

Thus,

-1N M N ≥

(3)1M x N

?≤ (4)Since M stands for the speedup factor of each TCAM, we choose its minimal value. Therefore, we could further derive the average cache hit rate x as follows.

2

1

N x N ?≥? (5)Further, we can obtain the system speedup S from bandwidth utilization as follows.

max max 1NW N S N N NMW M

==≥? (6)

From (3)(5)(6), we find that M can be decreased as the growing N . But x should be increased. For illustration, when N =4, M and x should be 4/3 and 2/3 at least. Hence, S could be 3. When N =8, M and x should be 8/7 and 6/7 respectively. Here, S could be 7. In such cases, the system can tackle NW max throughput in despite of the bursty traffic.

5.2. Buffer & Power Consumption

In previous part, a clear scenario shows the result of load balancing while the input traffic is very bursty. The over-loaded cache-missed packets due to the slow-update mechanism can also be identified as a special case of burst traffic. As a result, x depends on not only the cache size but also the length of buffer. For example, there will be no packet drop when x measured with a statistical interval L is higher than (N -2)/(N -1) at any time.

Furthermore, the length of buffer also greatly concerns the total delayed time in our system which covers both reordering and queuing. Since there is no blocking or Round-Robin mechanism in our system, any packet will be queued for twice at most. In that case, both the queuing and reordering would cost 2L at most (L denotes the buffer length of each TCAMs). Our aim is to find a proper L for the system to achieve a low loss rate, i.e. 10-8. Since L depends on the characters of traffic, we may only give an empirical value by experiments in Section 6.

As we know that the main power consumption for TCAM depends on the entries triggered during a parallel search processing, assume the power consumption for a TCAM without partitioning search is P . Since we adopt b partitioning search zones in TCAM, and the average lookup times is no more than 2, so the power consumption should be less than 2P /b X . When b equals to 32, the power

X

When b is increased to a larger value, i.e. 200, the partition size will be less than 1K which is smaller than the logical cache. As a result, the power consumption will be less than 2000P /Z where Z denotes the size of route table.

consumption can be reduced by 93.75% at least.

6. Experiments and Simulations

In addition to the theoretical analysis we have run a series of experiments and simulations to measure the algorithm’s performance and adaptability on the most serious traffic load distributions. Here we choose M=4/3, N=4, D=5000 and b=32 for demonstration.

6.1. Experimental Scheme

We insist that the parallel system must be applicable to uneven workload distribution caused by the bursty traffic. Hence, the experiment herein mainly focuses on bursty traffic. Traces collected from the real world do have some bursty traffic, but as the low average traffic (stated in Section 2.2), we will not be able to test a parallel system with a strong and continuous input. In order to test the proposed structure and get the buffer length, the following steps have been taken.

1) We overlap four traces XI to generate a new 15-minute trace. It contains 2.436*108 packets and the average active connections (measured in 64 second time out) are over 400K.

2) After the step 1), the timestamp of this new trace is ignored and this new trace is changed into a back-to-back mode. In order to guarantee 100% input, we just need to ensure the proportion of the maximal input traffic (NW max) to the maximal throughput of all the TCAMs (N*MW max) is 1:M. Suppose N is equal to 4, then M should be 4/3 by the theoretical analysis presented in Section 5. It means that each TCAM can serve for one packet every 4 clocks (every 4 clocks, totally 4 packets are finished by 4 TCAMs) while there are 3 packets arrived in 4 clocks at most. Analysis shows that the actual utilization of each TCAM bucket is greatly different. Some of the TCAM buckets carry the most of the workload. As shown in Figure 11, the top five TCAM buckets account for over 85% of the total workload. This character can be used to construct an extremely uneven bucket distribution for the system.

3) By introducing some “pre-selected” redundancy [9] to our system, an even workload can be easily constructed and the system performance can be greatly increased. But this kind of operation requires that the lookup traffic distribution among IP prefixes can be derived in real time and the traffic distribution should be quite stable which has been proved impractical in practice due to the busty traffic in Internet. So it is impossible to “optimize” the partition organization (bucket distribution) which means the system could face the most serious situation (most of XI They were collected at 10:15 – 10:30, 14:55 – 15:05, 17:58 – 18:13 and 21:52 – 22:07 on 2006-09-19 respectively.

Bucket Range

Low Range

High Proportion

32 218.103.48.0255.255.255.25533.0951%

28 209.215.80.0211.144.215.25517.0767%

2 32.114.0.0 62.101.191.255

14.2720%

21 202.56.193.0202.169.219.25511.7201%

22 202.169.220.0203.101.67.255

8.24875%

13 161.222.160.0192.44.143.255

2.88938%

31 216.158.138.0218.103.47.255

2.88427%

20 200.150.240.0202.56.192.255 1.84324%

12 144.243.208.0161.222.159.255 1.65799%

10 85.120.78.0 130.117.255.255 1.62507%

11 130.118.0.0 144.243.207.2550.83727%

29 211.144.216.0213.182.108.2550.76708%

9 81.7.109.0 85.120.77.255

0.63909%

14 192.44.144.0193.5.115.255 0.02988%

18 198.179.209.0200.3.213.255 0.01591%

24 204.27.185.0205.172.15.255 0.00934% Figure 11. Workload of different TCAM buckets.

TCAM No.Bucket No. Total Traffic

1 32,28,2,21,22,13,31,20

92.030%

2 1,3,4,5,6,7,8,9

2.0902%

3 10,11,12,14,15,16,17,18

4.3540%

4 19,23,24,25,26,27,29,30

1.5263%

Figure 12. Mapping of buckets and

workload of TCAM chips.

Figure 13. Result on bursty traffic.

Figure 14. Loss rate and buffer length.

the traffic has been sent to a single TCAM) sometimes. In this paper, the most serious situation is created in the experiment to demonstrate the great load balancing of proposed solution. The partition organization on four TCAMs has been shown in Figure 12. The TCAM No.1 accounts for 92.03% of the total traffic which means the parallel system suffers from uneven workload seriously. 6.2. Simulation Result

Now, we use the trace generated by step 2) to test the system organized by step 3), the cache size has been set to 1024 and D=5000. Simulations show that the system can easily achieve 100% throughput with very low power consumption. Figure 13 shows part of the result, the statistic interval is 103 packets. It is shown that the cache hit rate still achieve 95% in the parallel system while the average search account on logical caches is over 0.7*103.

With the experiment scheme above, we also test the proposed system with D=5000 and different cache sizes (64, 128, 256, 512 and 1024). To avoid the warm-up interference, the first 107 packets has been ignored. As shown in Figure 14, the buffer length is also decreased as the increasing cache size. When the cache size is 64, a longer buffer (17) is needed to achieve a loss rate about 10-6, while the one with a cache size of 128 can reduce the buffer length by 6. By increasing the cache size, the smaller buffer can be achieved. When the cache size is 1024, a loss rate about 10-8 can be easily achieved with a buffer length about 8 in despite of the bursty traffic.

7. Conclusion

Increasing the lookup throughput and reducing the power consumption of the TCAM-based lookup engine while keeping economic memory storage utilization are the three primary issues in this paper. We first give a simple but efficient TCAM table partitioning method. It supports incremental updates efficiently with little redundancy and is easily scalable to IPv6. Motivated by the analysis on real-life Internet traffic, we then devised an adaptive load balance scheme with logical cache to solve the bursty traffic. Meanwhile, the update mechanism used for the logical cache is very simple and efficient which is greatly different from the traditional ones. Both the partitioning method and the logical cache with slow-update mechanism are quite flexible. They can be easily modified for different requirements, such as bigger cache, longer update-delay, more TCAM buckets and so on. Given 2% more memory space, the proposed scheme increases the lookup throughput by a factor of three when a quaternary TCAMs’ structure is implemented and significantly cuts down the power consumption. 8. Acknowledgment

The authors would like to express their appreciations to Dr. Huan Liu of Stanford University for his constructive suggestions on this paper and the DRAGON-Lab (Distributed Research & Academic Gigabits Open Network Lab) of Tsinghua University for providing the real traces.

References

[1]Huston G. Route Table Analysis Reports (March 2006).

https://www.360docs.net/doc/2f17863028.html,/.

[2]Route Views. https://www.360docs.net/doc/2f17863028.html,/.

[3]Xin Zhang, Bin Liu, Wei Li, Ying Xi, David Bermingham

and Xiaojun Wang, “IPv6-oriented 4*OC768 Packet Classification with Deriving-Merging Partition and Field-Variable Encoding Algorithm”, INFOCOM2006, 23-29 April, Barcelona, Spain.

[4]CYRESS. https://www.360docs.net/doc/2f17863028.html,/.

[5]Y. K. Li, D. Pao, “Address Lookup Algorithms for IPv6”,

IEE Proceedings-Communications, Vol. 153, No. 6, pp.

909-918, Dec. 2006.

[6]H. Liu, “Route table Compaction in Ternary CAM”, IEEE

Micro, 22(1):58-64, January-February 2002.

[7] F. Zane, G. Narlikar, A. Basu, “CoolCAMs:

Power-Efficient TCAMs for Forwarding Engines”, INFOCOM2003,San Francisco.

[8]R. Panigrahy, S. Sharma, “Reducing TCAM Power

Consumption and Increasing Throughput”, Proceedings of

HotI 2002, Stanford, California, USA.

[9]Kai Zheng, Chengchen Hu, Hongbin Liu, Bin Liu,“An

ultra-high throughput and power efficient TCAM-based IP

lookup engine”, INFOCOM2004, Hong Kong, China.

[10]Abilene. https://www.360docs.net/doc/2f17863028.html,/noc.html.

[11]Woei-Luen Shyu, Cheng-Shong Wu, and Ting-Chao Hou.

“Efficiency Analyses on Routing Cache Replacement Algorithms”, ICC’2002, 28 April - 2 May, New York City,

NY, USA.

[12]Tzi-cker Chiueh,Prashant Pradhan, “High-Performance IP

Route table Lookup Using CPU Caching”, INFOCOM’99,

March 23, New York City, NY, USA.

[13]Bryan Talbot, Timothy Sherwood, Bill Lin, “IP CACHING

FOR TERABIT SPEED ROUTERS”, GLOBECOM '99, 8

DEC, Rio de Janeiro, Brazil.

[14]Mohammad J. Akhbarizadeh and Mehrdad Nourani,

“Efficient Prefix Cache for Network Processors”, High Performance Interconnects 2004, 23 – 25 August, Stanford

University, USA.

[15]H. Jiang , C. Dovrolis, “The effect of flow capacities on the

burstiness of aggregated traffic”. PAM’04, April 2004, Antibes Juan-les-Pins, France.

[16]Passive Measurement and Analysis (PMA) Project.

https://www.360docs.net/doc/2f17863028.html,/

[17]S. Nilsson and G. Karlsson, “IP-Address Lookup Using

LC-Tries”, IEEE Journal on Selected Areas in Communications, Vol. 17, No. 6, pp. 1083-1092, June 1999. [18]M. A. Ruiz-Sanchez, E. W. Biersack and W. Dabbous,

“Survey and Taxonomy of IP Address Lookup Algorithms”,

IEEE Network, pp. 8-23, March/April 2001.

STC89C52单片机详细介绍

STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL 搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 单片机总控制电路如下图4—1: 图4—1单片机总控制电路 1.时钟电路 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引

脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图4—2(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。 外部方式的时钟电路如图4—2(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。

疯狂原始人--电影-字幕-对白-中英文对照-看电影学英语-打印-word版

With every sun comes a new day. 每每旭日东升 A new beginning. 都是崭新的开始 A hope that things will be better today than they were yesterday. 总是期冀今日之美远胜昨日But not for me. My name's Eep. 但不属于我我叫小伊 And this is my family. The Croods. 这是我的家人克鲁德一家 If you weren't clued already, by animal skin 如果你看到我们的兽皮和倾斜的额头 and sloping forehead, we are cavemen. 还不明白我们是原始人 Most days we spend in our cave, 我们整日在洞穴中度日 in the dark. 藏于黑暗 Night after night, day after day. 日复一日年复一年 Yep. Home sweet home. 真是甜蜜的家啊 When we did go out, we struggled to find food 难得出洞还得在残酷的大自然里 in a harsh and hostile world. 拼命找食物 And I struggled to survive my family. 我还得拼命保护家人 We were the last ones around. 我们是仅存的一家了 There used to be neighbors. 曾经有很多邻居 The Gorts, smashed by a mammoth. 高茨一家被猛犸象踩扁了 The Horks, swallowed by a sand snake. 霍克一家被沙蛇吞了 The Erfs, mosquito bite. 厄夫一家被蚊子叮死了 The Throgs, common cold. 斯洛格一家感个冒就挂了 And the Croods... That's us. 还有克鲁德一家就是我们 The Croods made it, because of my dad. 我们活下来了全靠我老爸 He was strong, and he followed the rules, 他不但强壮而且遵守规则 the ones painted on our cave walls: 规矩都刻在洞穴的墙上了 Anything new is bad. Curiosity is bad. 新鲜事物都很危险好奇心也很危险 Going out at night is bad. 夜晚出门更是危险

哈佛大学公开课《公平与正义》第2集中英文字幕

Funding for this program is provided by: 本节目的赞助来自...... Additi onal funding provided by: 另外的赞助来自…… Last time, we argued about 上次,我们谈到 the case of The Quee n v. Dudley & Stephe ns, 女王诉Dudley和Stephens案件, the lifeboat case, the case of cann ibalism at sea. 那个救生艇上,海上吃人的案件. And with the argume nts about the lifeboat in mind, 带着针对这个案件所展开的一些讨论 the argume nts for and aga inst what Dudley and Stephe ns did in mind, 带着支持和反对Dudley和Stephens所做的吃人行为的讨论 let's turn back to the philosophy, the utilitaria n philosophy of Jeremy Ben tham. 让我们回头来看看Bentham的功利主义哲学. Ben tham was born in En gla nd in 1748. At the age of 12, he went to Oxford. Bentham于1748年出生于英国.12岁那年,他去了牛津大学 At 15, he went to law school. He was admitted to the Bar at age 19 15岁时,他去了法学院.19岁就取得了律师资格 but he n ever practiced law. 但他没有从事于律师行业.

幼儿园大班主题活动汽车总动员(完整资料).doc

此文档下载后即可编辑 大班主题活动《汽车总动员》 常州市天宁区红梅东村幼儿园:庞洁叶丽敏 一、主题背景 随着现代文明的进展,汽车渐渐汽车进入了孩子们的生活:BRT快速公交车、层出不穷的车展、马路上的各种特种车、工作中的水泥搅拌车、而且许多的家庭还拥有了私家车等等,孩子们对汽车不再陌生,具备了一定的生活经验。同时,车子也因它自身会动、会响等特性,吸引了孩子们的目光,特别是男孩子,家里总有几部玩具汽车。我们随时都可以看见他们小小的身影蹲在地上专注地玩着车子。生活中,公共汽车、出租车、小轿车、工程车、救护车、消防车、警车等常常吸引出孩子们的注意力,车子的声音也给孩子们留下了深刻的印象,他们常会在一起模仿各种车子发出的特殊声音,并在这中模仿活动中乐此不疲。 经常发现孩子们在发表各种见解:有的说“BRT最方便了,我和爸爸到月星看家具,就坐了,又快又便宜。”有的说:“我们家里有小车,爸爸妈妈还带我自驾游呢。”有的说:“我爷爷脑溢血,救护车开得可快了。”有的说:“我见过水泥搅拌车,力气最大了,可以边开边运水泥呢。”……随着汽车时代的到来,汽车已经进入了人们的平常生活中,不再是简单的“行”了,而是渗入了人们的生活、休闲、运动等各个方面,这对孩子们来说,就是最好的教育资源啊。 自然、社会是一部真实、丰富的百科全书,向幼儿展示了具体、形象、生动的学习情境,生活即课堂,社会即学校,我们围绕“汽车”这一教育资源,有效地整合多方资源,根据我园特点与孩子们的兴趣与已有经验,我们开展实施了《汽车总动员》主题活动,帮助幼儿了解汽车基本结构,获得乘车经验,学习遵守交通规则,建构汽车社区,养成

安全的乘车习惯等。 二、主题总目标 1.有效利用各种教育资源,帮助幼儿了解汽车的种类、基本结构 等相关信息,能用完整连贯的语言表达自己对汽车的认识。 2.运用多种手段,引导幼儿感受汽车在现实生活中的作用,体验 汽车与人们生活的关系。 3.幼儿尝试用多种方式表达、表现与汽车相关的感受和体验,感 受创造性活动的快乐。 四、资源利用 1.幼儿园资源: 物质资源:幼儿园科学室提供了各种各样的车模与车子的图片,可以为孩子们提供视 觉大餐,配套的各种教学图片、教学用的VCD、多媒体课件、录音磁带等。 人力资源:我们的教师有八名取得了小车的驾驶执照,对车辆的驾驶与交通规则比较熟悉,可以为孩子们提供正确的知识与经验。还

疯狂原始人经典台词 中英文对照

For personal use only in study and research; not for commercial use 《疯狂原始人》讲述的是在史前一场地震过后,山洞人部落失去了自己的家园,族长Crug带领着族人在危险的野外跋涉,寻找新的家园。路上他们遇到了一个游牧部落落单的族人,后者凭借自己超前的思维和前卫的行为受到了山洞人的追捧并和Crug的长女暗生情愫。以下是谜语网小编为大家整理的有关疯狂原始人的经典台词,让我们一起在欢乐、诙谐、有寓意的对白中一起重温电影吧! Guy: This is called a brain. I think that's where ideas go. T h u n k:D a d,I d o n't h a v e a b r a i n. 小盖:这是大脑,我想的很多点子都来自这里。(傻蛋)坦克:老爸!我没有大脑! G r u g:A c a v e!E v e r y o n e i n s i d e! G r a n:I t l o o k s t h e c a v e h a v e a t o n g u e!V e r y m a g i c a l! 爸爸:是洞穴!大家快进去! 奶奶:这洞穴还有舌头,真神奇! E a p:W h a t i s t h a t G u y:f i r e T h u n k: F i r e i s b i t t i n g m e! 小伊:这是什么? 小盖:是火。(傻蛋)坦克:火怎么会咬人啦! G u y:I c a l l t h e m s h o e s.

汽车总动员之人物介绍 配图片

赛车总动员之人物介绍

英文名称:Lightning McQu een 中文名称:麦坤 人物特性:速度、激情 人物介绍: Lightning McQueen 是一个速度飞快地赛车新手,他已经成为赢得 Pisten Cup 冠军最年轻的赛车。在他的脑中,只有两件事,一个是夺冠,还有就是随之而来的一切。名誉、金钱、美女、直升机……一切都是他所梦想的。当 McQueen 在一个被遗忘的叫做 Radiator Springs 的小镇迷失的时候,他结识了一群新朋友,并且也让他重新考虑他的理想。Lightning McQueen 的最高时速是322公里(200英里);0-60MPH 加速时间秒;他是 Pisten Cup Rookie of the Year ;V-8 引擎,750马力;他是95号,赞助商是 Rusteze Medicated Bumper Ointment。炫车殊荣:他是最快的4轮物体,不信问问他!He's the Fastest thing on four wheels. Just ask him. 酷车酷语:想知道我有多快告诉你吧,上一个跟上我的人是一个特棒的摄影师! 你知道吗: 赛车总动员 | Cars | 2006 Lightning McQueen 本来的号码是57号,为了纪念导演 John Lasster 先生的出生年。后来为了纪念《玩具总动员》(Toy Story)首映的199 5年,号码改成了95。Lightning McQueen 的轮胎是 Lightyear (光年|莱特异)牌的,这个牌子和真实的轮胎品牌 Goodyear (固特异)相呼应,而且和 John Lasseter 的上一部电影《玩具总动员》的巴斯光年 (Buzz Lightyear) 的名字相呼应。Lighting McQuee n 这个人物参照了 Glenn McQueen ,他是2002年去世的皮克斯着名动画师。他曾经是

STC89C52单片机用户手册

STC89C52RC单片机介绍 STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051. 工作电压:~(5V单片机)/~(3V单片机) 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz 用户应用程序空间为8K字节 片上集成512字节RAM 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O口用时,需加上拉电阻。 ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/,TxD/)直接下载用户程序,数秒 即可完成一片 具有EEPROM功能 具有看门狗功能 共3个16位定时器/计数器。即定时器T0、T1、T2 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒 通用异步串行口(UART),还可用定时器软件实现多个UART 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) PDIP封装 STC89C52RC单片机的工作模式 掉电模式:典型功耗<μA,可由外部中断唤醒,中断返回后,继续执行

原程序 空闲模式:典型功耗2mA 正常工作模式:典型功耗4Ma~7mA 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备 STC89C52RC引脚图 STC89C52RC引脚功能说明 VCC(40引脚):电源电压 VSS(20引脚):接地 P0端口(~,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。

疯狂原始人英文版完整台词

Eep(白): With every sun comes new day. A new beginning. A hope that things will be better today than they were yesterday. But not for me. My name is Eep. And this is my family. The Groods. If you weren’t clued already, by animal skin, and sloping forehead, we are cave man. Most days we spend in our cave. In the dark. Night after night, day after day. Yep, home sweet home. When we did go out, we struggled to find food. In a harsh and hostile world. And I struggled to survise my family. We are the last ones around. The Gorts, smashed by a mammoth. The Horks, swallowed by a sand snake. The Erfs, mosquito bite. The Throgs, common cold. And the Groods……That’s us. The Groods made it, because of my dad. He was strong, and he followed the rules. The ones painted on our cave walls: Anything new is bad, curiosity is bad, going out at night is bad……Basically, anything fun is bad. Welcome to my world! But this is a story about how all that changed in a instant. Because what we didn’t know, was that our world was about to come to an end. And there were no rules on our cave walls to prepare us for that. Grug: You’re supposed to wait for my signal, Eep. Eep? Eep: We’ve been in that cave forever. Grug: Three days is not forever. Eep: It is with this family. Grug: Eep, will you come down here? You been so ……so dramatic. Grug: No, no, no, Sandy, come back here! Remember the signal, good girls wait for the signal. Ugga…… Ugga: As soon as I getSandy, I’ll go back in, and you can give the signal. Grug: No, but you’re already out now. Thunk: I’m waiting for the signal, dad! Grug: Never mind, Thunk. Just come out. Thunk: Yep……But if you don’t give me the signal, how do I know you’re my dad? Grug: The signal isn’t so you know it’s me. It’s so you know I wasn’t eaten by an animal. Thunk: Wait, then why is the signal an animal noise? I mean, doesn’t that just confuse things? I……I’m still waiting for the signal. Ugga: Mum, we’re ready to leave! Mum? Ugga’s mum: Still alive! Grug: It’s still early. Ugga’s mum: And you’re still fat! Grug: Breakfast formation! I want to see some real caveman action out here! We do this fast, we do this loud, we do this as a family! And never! not! be! afraid! Thunk: Yay! Breakfast…… Grug: Who’s up? We’ll flip for it. Call her in the air. Eep: Heads! (Ugga’s mum: Ah!!!!!!) Grug: Tails. Thunk’s in. Positions! Ok, Thunk, go! Come on, Thunk. Way to go! Take it to the cave! (Thunk was fallen on the ground.) Oh. Release the baby! Ugga: Get’em, Sandy, go! Ugga: Get them, mum! Ugga’s mum: Old lady down! Eep, avenge me! Eep: Thanks!

片尾字幕中英文对照(20200523203533)

co-production 联合拍摄 production摄制 Consultant 策划 project supervisor专案主管 executive producer执行监制 senior producer总监制 assiatant producer助理监制 Post-Production Supervisor 后期制片监制人P roducer 制片人 Production Controller 制片总监P roduction Director 监制人 Production Supervisor 制片监制C o-Producer 联合制片人 Associate Producer 助理制片人E xecutive Producer 执行制片 Produced by制作人production co-ordinator/continuity外联制片/场记 location manager 外联制片 production administration 行政制作 administration supervisor行政主管 marketing producer制片主任 production manager制片 production secreary制作秘书 production accountant制作会计 unit manager 项目经理c lapper 场记板 Chief Director 总导演 Director 导演A ssistant Director 助理导演Associate Director 副导演 Shooting Script 分镜头剧本O riginal Story 原著A dapted by 改编B ased on X’s Y (电影)根据X(作家)的Y(小说)改编W riter编剧 Written by / Scripted by 编剧 screenplay by 编剧 script translation 剧本翻译 english subtitles by英文字幕翻译 Conducted by 指挥 Director of Photography 总摄影C inematography摄影C inematography by 摄影A ssociate Director of Photography 副摄影师C utter 剪辑师M ontage 剪辑(蒙太奇 Film Editing剪辑first cameta assistant 副摄影师 camera assistant摄影助理 Fireworks 烟火Lighting 灯光,照明lighting assistant 灯光助理

STC89C52RC单片机手册范本

STC89C52单片机用户手册 [键入作者姓名] [选取日期]

STC89C52RC单片机介绍 STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: 1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任 意选择,指令代码完全兼容传统8051. 2.工作电压:5.5V~ 3.3V(5V单片机)/3.8V~2.0V(3V单片机) 3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实 际工作频率可达48MHz 4.用户应用程序空间为8K字节 5.片上集成512字节RAM 6.通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上 拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻, 作为I/O口用时,需加上拉电阻。 7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用 户程序,数秒即可完成一片 8.具有EEPROM功能 9.具有看门狗功能 10.共3个16位定时器/计数器。即定时器T0、T1、T2 11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式

可由外部中断低电平触发中断方式唤醒 12.通用异步串行口(UART),还可用定时器软件实现多个UART 13.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 14.PDIP封装 STC89C52RC单片机的工作模式 ●掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原 程序 ●空闲模式:典型功耗2mA ●正常工作模式:典型功耗4Ma~7mA ●掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备

疯狂原始人中英对照字幕

疯狂原始人中英对照字幕1 太阳升起又是新的一天 With every sun comes a new day. 2 一个崭新的开始 A new beginning. 3 人们总是希望今天比昨天强 A hope that things will be better today than they were yesterday. 4 对我来说无所谓我是伊普 But not for me. My name's Eep. 5 这是我的家族克鲁德一家 And this is my family. The Croods. 6 注意到没? 从我们穿的兽皮 If you weren't clued already, by animal skin 7 和倾斜的前额就能猜出我们是原始人。 and sloping forehead, we are cavemen.

8 大多时候我们呆在 Most days we spend in our cave, 9 黑暗的洞穴里 in the dark. 10 日复一日夜复一夜 Night after night, day after day. 11 多可爱的家啊 Yep. Home sweet home. 12 我们出去的时候为了寻找食物而奔波在 When we did go out, we struggled to find food 13 这个严酷而又冷漠的世界上。 in a harsh and hostile world. 14 而我还得拼命忍受我的家人。 And I struggled to survive my family. 15 我们是周围最后的遗民

最适合学习英语的50部影片及获得方法(双语4字幕可切换)

最适合学习英语的50部影片及获得方法(双语4字幕可切换) 一、视频特点: ●内容:最适合学英语的50部高清英语动画片是选用当前最流行、最经典的迪士尼等原版动画为英语 教材,给立志学好英语的小朋友提供一个良好的学习氛围,寓教于乐,使小朋友们在欢声笑语中学会英语,讲好英语!为孩子的明日的辉煌打下坚实的基础,是孩子成材的好朋友!(当然也适合成人学习、观看) ●格式:每部动画均为真正的高清节目,MKV格式,文件大小为2-4G,第一辑50部动画电影总容量为 115G。传统rmvb,清晰度不高,而且字幕有些是内嵌的,无法切换,mkv是高清720P,1080P常用格式。本人亲测在37寸电视上有非常好的清晰效果。 ●播放:电脑上,一般播放软件都可以播放;智能电视上,具体看电视型号,您可看下电视说明,或找 个.mkv格式的视频试一下;硬盘播放器;蓝光DVD机。普通DVD碟机和普通平板电视不支持,如想在普通平板电视上播放,先将动画资料复制到电脑中,再用一根高清数据线将笔记本电脑与电视机连接播放,可以实现同等功能。 ●配音:2种配音随意切换,英语配音/国语配音(双语可切换)。 ●字幕:4种字幕随意切换,中英同显/英文独显/中文独显/关闭无字幕 ●剧本:每部影片都为您配有剧本,可供您编辑后打印使用,格式为.txt,可放在手机等设备当做电子 书使用,随时当口语材料练习。 二、获得方法 ●淘宝网购买:在淘宝网上有卖,最便的80多块钱。省时间就等于省钱,个人觉得花点钱,省时间值 得。为了让买家能最实惠的拿到片源,他们简化包装,用普通DVD刻录,50级部要30多DVD,DVD的成本就近60元,而且还会刻坏一些光盘。您看两次电影也得个80元吧,而购买本商品后,没有广告、不分时间。你可以想什么时间看就什么时间看。 ●网上下载,省钱:如果这点钱您也不愿意花,而且网速快的话。提供个好方法,下载vod播放器,在 搜索里输入电影名,一般都能找到,不过这种双语4字幕的就不好找了。可一边看,一边下载。看完也下载完了。 三、播放说明 ●切换配音:以暴风影音为例 播放时鼠标在界面上滑动右上角会出现画、音、字、播4个字。其中音是对配音进行设置,字是对字幕时行设置。 ●设置字幕: 如上述,点击“字”,再点选择,就可有多种字幕供选择。而且在字体里面还可设置,字体格式和大小。四、内容展示 第一辑 50部

(完整版)一些适合高年级小学生看的英文电影

一些适合高年级小学生看的英文电影:动画片《料理鼠王》(中英双语字幕英文配音)很有教育意义的片子,英语配音也很纯正动画片《闪电狗》,《流浪狗之家》, 08 年的《功夫熊猫》这个推荐; 《疯狂农庄》 《虫虫特工队》 《别惹蚂蚁》 《wall-E 》; 《玩具总动员》; 《海底总动员》; 《超人总动员》; 《怪物史莱克1,2,3》; 《冰河世纪1.2》。 《绒布小兔子》, 《疯狂金龟车》, 《马达加斯加》, 《魔法奇缘》, 《美人鱼蓝玉》, 《夏洛特的网》, 《天生一对》, 《水瓶座女孩》, 《灰姑娘之舞动奇迹》。 《米老鼠》、 《白雪公主》、 《灰姑娘》、 《阿拉丁神灯》 适合小学生看的英文电影 以下推荐一些适合小学生看的英文电影

动画片《料理鼠王》(中英双语字幕英文配音)很有教育意义的片子,英语配音也很纯正。 动画片《闪电狗》, 《流浪狗之家》, 08 年的《功夫熊猫》, 《wall-E 》, 《汽车总动员》, 《海底总动员》, 《超人总动员》, 《绒布小兔子》, 《疯狂金龟车》, 《马达加斯加》, 《魔法奇缘》, 《美人鱼蓝玉》, 《夏洛特的网》, 《天生一对》, 《水瓶座女孩》, 《灰姑娘之舞动奇迹》。 这些都是英文配音很正,并且适合小朋友看的,很有教育意义的片子。

《狐狸与孩子》法国 《放牛班的春天》法国 《蝴蝶》法国 《钢铁巨人》英国 《小鞋子》伊朗 《心中小星星》印度 《夏洛的网》真人版美国电影 《悬崖上的金鱼公主》动画电影 《父亲离家时》美国 《安妮》美国 《大魔欲》美国。德国家喻户晓的幻想文学大师米切尔?恩德的代表作《永不结束的故事》改编 《猪宝贝》美国 小公主》美国学习外语,单纯的说教,往往效率很低。特别是对于活泼、好动的小学生,教者就要多借助教具,设计符合学生生活实际的情景,非常必要。 动画片《料理鼠王》(中英双语字幕英文配音)很有教育意义的片子,英语配音也很纯正 动画片《闪电狗》 《流浪狗之家》,

STC89C52单片机学习开发板介绍

STC89C52单片机学习开发板介绍 全套配置: 1 .全新增强STC89C5 2 1个【RAM512字节比AT89S52多256个字节FLASH8K】 2 .优质USB数据线 1条【只需此线就能完成供电、通信、烧录程序、仿真等功能,简洁方便实验,不需要USB 转串口和串口线,所有电脑都适用】 3 .八位排线 4条【最多可带4个8*8 LED点阵,从而组合玩16*16的LED点阵】 4 .单P杜邦线 8条【方便接LED点阵等】 5 .红色短路帽 19个【已装在开发箱板上面,短路帽都是各功能的接口,方便取用】 6 .实验时钟电池座及电池 1PCS 7 .DVD光盘 1张【光盘具体内容请看页面下方,光盘资料截图】 8 .全新多功能折叠箱抗压抗摔经久耐磨 1个【市场没有卖,专用保护您爱板的折叠式箱子,所有配件都可以放入】 9 .8*8(红+绿)双色点阵模块 1片【可以玩各种各样的图片和文字,两种颜色变换显示】 10.全新真彩屏SD卡集成模块 1个【请注意:不包含SD卡,需要自己另外配】 晶振【1个方便您做实验用】 12.全新高速高矩进口步进电机 1个【价格元/个】 13.全新直流电机 1个【价值元/ 个】 14.全新红外接收头 1个【价格元/ 个】 15.全新红外遥控器(送纽扣电池) 1个【价格元/个】 16.全新18B20温度检测 1个【价格元/只】 17.光敏热敏模块 1个(已经集成在板子上)【新增功能】 液晶屏 1个 配件参照图:

温馨提示:四点关键介绍,这对您今后学习51是很有帮助的) 1.板子上各模块是否独立市场上现在很多实验板,绝大部分都没有采用模块化设计,所有的元器件密 密麻麻的挤在一块小板上,各个模块之间PCB布线连接,看上去不用接排线,方便了使用者,事实上是为了降低硬件成本,难以解决各个模块之间的互相干扰,除了自带的例程之外,几乎无法再做任何扩展,更谈不上自由组合发挥了,这样对于后继的学习非常不利。几年前的实验板,基本上都是这种结构的。可见这种设计是非常过时和陈旧的,有很多弊端,即便价格再便宜也不值得选购。 HC6800是采用最新设计理念,实验板各功能模块完全独立,互不干扰,功能模块之间用排线快速连接。 一方面可以锻炼动手能力,同时可加强初学者对实验板硬件的认识,熟悉电路,快速入门;另一方面,因为各功能模块均独立设计,将来大家学习到更高级的AVR,PIC,甚至ARM的时候,都只

电影英语 疯狂原始人单词

Struggle 奋斗努力 Hostile 敌方的敌对 Harsh 严厉的 Basically 基本上 Instant 立即的紧急的 Dramatic 引人注目的 Dream magic Avenge 报仇 Vent 通风口发泄Position 位置职位 Avenge 为报仇Vindication 为辩护 Convince 使信任 Victor 胜利者 Win Knock 敲 Knuckle 关节指节 Fuss 小题大做忙乱焦急啰嗦 Fess Cozy 保温罩蒙骗抚慰 Ledge 壁架暗礁矿层Ridge 山脊山脉 Edge 边缘 Routine 程序 Sharpen 削尖尖锐 Teeth 牙齿 Pile 推大量 Clarify 澄清阐明Practical 实际的实用的Actually 实际的 slope 斜坡斜面slippery 滑的

primary 最初的主要的基本的prime 首要的第一流的primitive 原始的粗糙的简单的 Pretend 伪装假装 Protend 伸出延长 Mission 使命任务 Hope 希望 Hunch 预感 Blame 责任 Stomach 胃 Hunt 打猎亨特 Ton 大量 Skinny 瘦小的 Flavor 风味 despair 绝望失望desperate 不顾一切的绝望的Spire 呼吸 Lead Lean 倾斜倚靠倾向 Laugh 笑 Loud 大声 Split 分离分开 Gatherer 采集者 Count 计算 Quant - 计算 quite 十分完整 Spire 呼吸 Desperate 不顾绝望的 collapse 倒塌崩溃破产lapse 失误流逝丧失 slipper 便鞋拖鞋 slip

哈佛大学公开课《公平与正义》第2集中英文字幕

Funding for this program is provided by……Additional funding provided by……Last time,we argued aboutthe case ofThe Queen v. Dudley & Stephens,the lifeboat case,the case of cannibalism at sea.And with the arguments about the lifeboat in mind,the arguments for and against what Dudley and Stephens did in mind,let's turn back to the philosophy,the utilitarian philosophy of Jeremy Bentham.Bentham was born in England in 1748.At the age of 12, he went to Oxford.At 15, he went to law school.He was admitted to the Bar at age 19 but he never practiced law.Instead, he devoted his life to jurisprudence and moral https://www.360docs.net/doc/2f17863028.html,st time, we began to considerBentham's version of utilitarianism.The main idea is simply stated and it's this:The highest principle of morality,whether personal or political morality,is to maximize the general welfare,or the collective happiness,or the overall balance of pleasure over pain;in a phrase, maximize utility.Bentham arrives at this principle by the following line of reasoning:We're all governed by pain and pleasure,they are our sovereign masters,and so any moral system has to take account of them.How best to take account?By maximizing.And this leads to the principle of the greatest good for the greatest number.What exactly should we maximize?Bentham tells us happiness,or more precisely, utility -maximizing utility as a principle not only for individuals but also for

汽车总动员字幕

Ah this is so nice I can't tell you how good it is to be here alone just the two of us finally You and me Ahem Good evening Oh My name is Mater and I'll be your waiter Mater the waiter That's funny right there Mater You work here Yeah I work here What'd you think I snuck in here when nobody was lookin' and pretended to be your waiter so I could hang out with you Oh yeah How ridiculous would that be Can I start you two lovebirds off with a couple of drinks Yes I'll have my usual You know what I'll have that too Uh Right Your usual Thanks man Grazie Guido Guido what's McQueen's usual How should I know Perfect Give me two of them Quiet My program's on Tonight on the Mel Dorado Show His story gripped the world Oil billionaire Miles Axlerod in an attempt to become the first car to circumnavigate the globe without GPS in an attempt to become the first car to circumnavigate the globe without GPS ironically ran out of gas and found himself trapped in the wild Feared dead he emerged 36 days later running on a fuel he distilled himself from the natural elements Since then he's sold his oil fortune converted himself from a gas-guzzler into an electric car and has devoted his life to finding a renewable clean-burning fuel Now he claims to have done it with his allinol And to show the world what his new super fuel can do And to show the world what his new super fuel can do he's created a racing competition like no other inviting the greatest champions to battle in the first ever World Grand Prix Welcome Sir Miles Axlerod Thank you Mel It is good to be here Listen to me Thank you Mel It is good to be here Listen to me Big oil It costs a fortune Pollution is getting worse I mean it's a fossil fuel "Fossil " as in dead dinosaurs And we all know what happened to them Alternative energy is the future Trust me Mel

相关文档
最新文档