SlideShare una empresa de Scribd logo
Poptrie:)A)Compressed)Trie)with)
Popula5on)Count)for)Fast)and)Scalable)
So<ware)IP)Rou5ng)Table)Lookup
Hirochika)Asai)(The)University)of)Tokyo))
Yasuhiro)Ohara)(NTT)Communica5ons)Corpora5on))
)
ACM)SIGCOMM)2015,)Aug.)18,)2015
Brief)Summary)of)Poptrie
•  Mul5way)trie)for)IP)rou5ng)table)lookup)in)
so<ware)
– Small)memory)footprint)with)popula5on)count)
•  e.g.,)2.4)MiB)for)a)global)5erV1)ISP’s)full)route)
– Good)performance)through)comprehensive)
evalua5on)
•  4–578%)faster)than)other)stateVofVtheVart)technologies)
–  Private)and)public)IPv4/IPv6)rou5ng)tables)
–  FutureVenvisioned)800K+)IPv4)routes)
•  Advantageous)for)longer)prefixes)
–  demonstrated)through)perVlookup)performance)analysis)
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
IP)Rou5ng)Table)Lookup
•  Principle)
– Longest)prefix)match)
•  Challenges)
1.  Large)and)growing)rou5ng)table)
•  IPv4:)500K+)entries)
•  IPv6:)20K+)entries)
2.  High)lookup)rate)requirement)
•  e.g.,)148.8)Mpps)!)6.7)ns)per)lookup)
(at)the)wireVrate)on)100)GbE)of)minimumVsize)frames)))
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Radix)Tree)(Revisited)
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
d
c
b
0
1
e
0
1
a
0
0.0.0.0/0
128.0.0.0/1
0.0.0.0/2 64.0.0.0/2
64.0.0.0/3
Radix&Tree&Example
Problems)with)the)radix)tree)
•  Depth)up)to)32)(for)IPv4))
•  requires)a)number)of)
memory)access)
•  Large)memory)footprint)
due)to)many)pointers)
•  causes)CPU)cache)misses)
")Bad&performance)
Prefix)length)
=)Priority
Prefix
Fundamental)data)structure)and)algorithm)for)longest)prefix)match
Related)Work:)Fast)IP)Rou5ng)Table)
Lookup)Algorithms
Approach Feature
Tree)BitMap)[1] Trie)(partly)
mul5way)
Succinct)data)structure)within)
CPU)cache)size
SAIL)[2] Trie)(mul5way) Op5mized)mul5Vlevel)trie)(3V
level)for)IPv4)
DXR)[3] Range Small)memory)footprint)and)
high)L1)cache)efficiency
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
[1])W.)Eatherton)et)al.,)“Tree)Bitmap:)Hardware/So<ware)IP)Lookups)with)Incremental)Updates,”)ACM)SIGCOMM)CCR,)2004)
[2])T.)Yang)et)al.,)“Guarantee)IP)Lookup)Performance)with)FIB)Explosion,”)ACM)SIGCOMM)2014)
[3])M.)Zec)et)al.,)“DXR:)Towards)a)Billion)Rou5ng)Lookups)Per)Second)in)So<ware,”)ACM)SIGCOMM)CCR,)2012)
Key)Ideas)for)High)Lookup)Rate
1.  Reduce)instruc5ons)including)memory)access)
– Reduce)the)lookup)depth)of)the)trie)
2.  Increase)CPU)cache)efficiency)
– Compress)the)data)structure)for)small)memory)
footprint)within)CPU)cache)size)
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Poptrie&
V  Extended)from)the)mul5way)trie))
V  Compressed)with)popula5on)count)(CPU)instruc5on))
At)a)Glance:)Radix)Tree
0.0.0.0
255.255.255.255 128.0.0.0
Root
mul5cast/reserved)
/24 /16
Aug.)18,)2015
(*))IPv4)Rou5ng)table)from)
an)AS)border)router)of)
WIDE)Project)(Jan.)3,)2015)
At)a)Glance:)Poptrie
0.0.0.0
255.255.255.255 128.0.0.0
mul5cast/reserved)
/24
Aug.)18,)2015
(*))IPv4)Rou5ng)table)from)
an)AS)border)router)of)
WIDE)Project)(Jan.)3,)2015)
Root
Poptrie
•  Basic)algorithm)
– Mul5way)trie)
– Pointer)compression)with)popula5on)count)
•  Extensions)
– Compression)with)leaf)bitVvector)
– Route)aggrega5on)
– Direct)poin5ng
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Poptrie
•  Basic&algorithm&
– Mul5way)trie)
– Pointer)compression)with)popula5on)count)
•  Extensions)
– Compression)with)leaf)bitVvector)
– Route)aggrega5on)
– Direct)poin5ng
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Poptrie)(basic):)2kVary)Mul5way)Trie
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
	
	
d
c
b
0
1
e
0
1
a
0
0.0.0.0/0
128.0.0.0/1
64.0.0.0/2
64.0.0.0/3
Radix&Tree
b c c
a a e e
Internal)node
Leaf)node
00 01 10 11
00 01 10 11
2k=ary&Mul@way&Trie&(k=2)
Push)the)next)hop)informa5on)in)the)internal)nodes)
to)leaf)nodes
0.0.0.0/2
X)X)X)X)X)X
Key)IP)address
MSB
00
01
10
11
chunk
b
Poptrie)(basic):)Pointer)Compression)
with)Popula5on)Count)(1/2)
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
	
0 1 0 0
vector)†
b
Internal)node
pointer pointer
base0 base1
c c
b
0 0 0 0
vector
pointer pointer
base0 base1
Internal)node
Array)of)descendant)
internal)nodes
Array)of)descendant)
leaf)nodes
00 01 10 11
b c c
a a e e
Internal)node
Leaf)node
00 01 10 11
00 01 10 11
2k=ary&Mul@way&Trie&(k=2) Pointer&compression&with&bit=vector&and&array
†)in)lisle)endian
00 01 10 11
b
Poptrie)(basic):)Pointer)Compression)
with)Popula5on)Count)(2/2)
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
	
0 1 0 0
vector)†
b
Internal)node
pointer pointer
base0 base1
c c
Internal
Leaf
00 01 10 11
Pointer&compression&with&bit=vector&and&array
b
0 1 0 0
vector)†
b
Internal)node
pointer pointer
base0 base1
c c
Internal
Leaf
Array&compression&with&popula@on&count
†)in)lisle)endian
Index:)#)of)1’s)bits)in)the)least)
significant)N+1)bits)of)vector)(V1)
Index:)#)of)0’s)bits)in)the)least)
significant)N+1)bits)of)vector)(V1)
Coun5ng)#)of)1s:)Use)x86’s)popcnt)instruc5on
N:)Value)of)the)chunk
N= 00 01 10 11 00 01 10 11N=
Poptrie
•  Basic)algorithm)
– Mul5way)trie)
– Pointer)compression)with)popula5on)count)
•  Extensions&
– Compression)with)leaf)bitVvector)
– Route)aggrega5on)
– Direct)poin5ng
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Poptrie:)Compression)with)LeafVVector
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
	
d
c
b
0
1
e
0
1
a
0
0.0.0.0/0
128.0.0.0/1
64.0.0.0/2
64.0.0.0/3
Radix&Tree
b c c
a a e e
Internal)node
Leaf)node
00 01 10 11
00 01 10 11
2k=ary&Mul@way&Trie&(k=2)
A)problem)with)the)basic)data)structure:)Redundant)leaf)nodes)
V  for)prefixes)that)do)not)match)kVbit)boundary)
V  e.g.,)/1)(/7,)etc.)as)well))may)create)32)redundant)leaf)nodes)when)k=6)
V  for)holeVpunched)prefixes)
0.0.0.0/2
Poptrie:)Compression)with)LeafVVector
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
	
b
0 1 0 0
vector)†
b
Internal)node
pointer pointer
base0 base1
c c
Internal
Leaf
Poptrie&(basic)
†)in)lisle)endian
b
0 1 0 0
vector)†
b
Internal)node
pointer pointer
base0 base1
c c
Internal
Leaf
Poptrie&with&leaf=vector&(leafvec)
1 0 1 0
leafvec)†
Index:)#)of)1’s)bits)in)the)least)
significant)N+1)bits)of)leafvec'(V1)
Poptrie:)Route)Aggrega5on
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
	
b
0 1 0 0
vector)†
b
Internal)node
pointer pointer
base0 base1
c
Internal
Leaf
Poptrie&with&leaf=vector&(leafvec)
1 0 1 0
leafvec)†
b
0 1 0 0
vector)†
x’
Internal)node
pointer pointer
base0 base1
Internal
Leaf
1 0 0 0
leafvec)†
Poptrie&with&route&aggrega@on
When)the)next)hop)info.)of)b)and)c)is)iden5cal;)
e.g.,)
)b:)prefix)0.0.0.0/2,)next)hop)X)
)c:)prefix)128.0.0.0/1,)next)hop)X
Aggregate)b)and)c)to)x’)
(x’:)prefix)aggregated)[0.0.0.0/0],)next)hop)X)
†)in)lisle)endian
Poptrie:)Direct)Poin5ng
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
	
Extract)and)lookup)s)bits)at)the)first)stage)(like)other)algorithms)such)as)DXR)
0.0.0.0/18
0.0.64.0/18
192.0.0.0/18
N.B.,)illustrated)the)case)of)s)=)18
0.0.128.0/18
1
1
0
flag:)leaf)(0))or)internal)node)(1)
leaf0
pointer
pointer
leaf
TopVlevel)array:)Array)of)length)2s
Internal)node
Internal)node
Poptriex):)Poptrie)with)s'=)x
Implementa5on
•  Data)size)
– Internal)node)(with)leafvec):)24)bytes)
•  vector,)leafvec:)8)bytes)(k=6))
•  base0,)base1:)4)bytes)
–  Index)in)the)con5guous)array†)instead)of)memory)address)
– Leaf)node:)2)bytes)
– Direct)poin5ng)entry:)4)bytes)
•  Code)in)C:)hsps://github.com/pixos/poptrie)
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
	
†)The)con5guous)arrays)of)the)internal)and)leaf)nodes)are)managed)by)the)buddy)
memory)allocator)to)allocate)an)array)of)descendant)nodes.)
Evalua5ons
•  Effect)of)Extensions)in)Poptrie)
•  Mul5core)Scalability)
•  Comparison)with)Other)Algorithms)
–  Average)lookup)rate)
•  Traffic)pasern:)Sequen5al,)repeated,)random,)real)trace)
•  Rou5ng)tables:)3)private,)32)public,)4)synthe5c)
–  CPU)cycles)per)lookup)
•  Update)
•  Performance)in)IPv6
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Equipment)for)the)evalua5ons:)
Intel(R))Core)i7)4770K)(3.9)GHz,)8)MiB)cache))
with)four)8)GB)DDR3V1866)RAM)
(using)a)single)core))
Effect)of)Extensions)in)Poptrie
Algorithm&/&
Extensions
s #&of&internal&
nodes
#&of&leaves Memory&
[MiB]&
Rate&[Mlps]
Radix – – – 30.48 8.82
Poptrie)(basic))
without)route)
aggrega5on
0 64,009 4,032,568 8.67 87.71
16 172,110 10,862,901 23.60 130.72
18 61,282 3,911,422 9.40 170.69
Poptrie)(leafvec))
without)route)
aggrega5on
0 64,009 280,673 2.00 89.15
16 172,110 347,449 4.85 154.33
18 61,282 269,320 2.91 191.95
Poptrie 0 43,191 263,381 1.49 96.27
16 86,171 274,145 2.75 198.28
18 40,760 245,034 2.40 240.52
1.)leafvec)significantly)contributes)the)memory)footprint)reduc5on.
Rou5ng)table:)Backbone)core)router)of)5erV1)ISP)(Jan.)9,)2015),)Traffic)pasern:)Random
2.)Route)aggrega5on)contributes)to)reduce)the)internal)nodes)(i.e.,)average)depth).
Mlps)
=)Million)lookups)
)))per)second
Comparison)with)Other)Algorithms)
(for)random)traffic)pasern)
Algorithm Memory&[MiB] Rate&[Mlps]
Radix 30.48 8.82
Tree)BitMap 2.62 56.24
Tree)BitMap)(64Vary) 3.10 61.61
SAIL 44.24 158.22
D16R 1.16 116.63
D18R 1.91 179.92
Poptrie16 2.75 198.28
Poptrie18 2.40 240.52
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Rou5ng)table:)Backbone)core)router)of)5erV1)ISP)(Jan.)9,)2015),)Traffic)pasern:)Random
Poptrie18)runs)1.34–27.3x)faster)than)the)other)algorithms
PerVLookup)Performance)Analysis
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Performance)evalua5on)machine)
with)my)singleVtask)opera5ng)system
c0)=)rdpmc()
c1)=)rdpmc()
r)=)lookup(key)
key)=)recv()
send(r,)c1)V)c0)
Rx
Tx
NIC
UDP)
header
key
UDP)
header
r,)c1)V)c0
Linux)machine
rdpmc):)read)performance)monitoring)counter)
(i.e.,)CPU)cycles))
UDP)packet
UDP)packet
Measured)CPU)cycles)(c1)V)c0))
for)224)random)keys)
(with)the)same)random)seed)
for)different)algorithms))
PerVLookup)Performance)Analysis:)
Cumula5ve)Distribu5on)of)CPU)Cycles
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)for)Fast)and)
Scalable)So<ware)IP)Rou5ng)Table)Lookup
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 50 100 150 200 250 300 350
CDF
CPU cycles per lookup
Poptrie18
D18R
Poptrie16
D16R
SAIL
It)is)worth)to)analyze)perVlookup)performance)than)the)average!
PerVLookup)Performance)Analysis:)
Binary)Radix)Depth
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)for)Fast)and)
Scalable)So<ware)IP)Rou5ng)Table)Lookup
d
c
b
0
10
1
a
0
0.0.0.0/0
128.0.0.0/1
64.0.0.0/3
Radix&Tree
0.0.0.0/2
Binary)radix)depth)=)Search)depth)in)the)radix)tree)
•  0.0.0.0/2):)2
•  64.0.0.0/3):)3)
•  96.0.0.0/3&:&2&&(matching)0.0.0.0/0)&
•  128.0.0.0/1):)1
0 4 8 12 16 20 24 28 32
Prefix length
4
8
12
16
20
24
28
32
Binaryradixdepth
100
101
102
103
104
105
106
10
7
10
8
109
Rou5ng)table:)Backbone)core)router)of)5erV1)ISP)(Jan.)9,)2015)
PerVLookup)Performance)
at)Different)Binary)Radix)Depth
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
D16R
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
D18R
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
Poptrie16
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup Binary radix depth
Poptrie18
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
SAIL
Wicks:)5th/95th)percen5les)
Bodies:)25th/75th)percen5les)
Internal)bar:)Median
(3Vlevel)trie) (RangeVbase) (RangeVbase)
Rou5ng)table:)Backbone)core)router)of)5erV1)ISP)(Jan.)9,)2015)
PerVLookup)Performance)
at)Different)Binary)Radix)Depth
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
D16R
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
D18R
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
Poptrie16
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup Binary radix depth
Poptrie18
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
SAIL
Wicks:)5th/95th)percen5les)
Bodies:)25th/75th)percen5les)
Internal)bar:)Median
(3Vlevel)trie) (RangeVbase) (RangeVbase)
Rou5ng)table:)Backbone)core)router)of)5erV1)ISP)(Jan.)9,)2015)
O(1) O(1) O(1)
O(1) O(1)
binary)search binary)
search
2nd)level
Rou5ng)table:)Backbone)core)router)of)5erV1)ISP)(Jan.)9,)2015)
PerVLookup)Performance)
at)Different)Binary)Radix)Depth
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
D16R
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
D18R
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
Poptrie16
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup Binary radix depth
Poptrie18
0
50
100
150
200
250
300
350
2 4 6 8 10 12 14 16 18 20 22 24 26
CPUcyclesperlookup
Binary radix depth
SAIL
Wicks:)5th/95th)percen5les)
Bodies:)25th/75th)percen5les)
Internal)bar:)Median
≤)172)cycles
>)234)cycles
Average)Lookup)Rate:)
Random)vs.)Real)Traffic
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
0
50
100
150
200
250
300
350
Tree BitMap SAIL D16R Poptrie16 D18R Poptrie18
Lookuprate[Mlps]
Data Structure and Algorithm
0
50
100
150
200
250
300
350
Tree BitMap SAIL D16R Poptrie16 D18R Poptrie18
Lookuprate[Mlps]
Data Structure and Algorithm
For)random)traffic For)real)traffic
(*))Rou5ng)table)is)dumped)at)an)AS)border)router)of)WIDE)project,)
and)traffic)trace)is)captured)at)the)transit)link)of)the)router.
Good)for)
repeated)paserns
Not)good)for)longer)
prefixes)(IGP)routes)
Bad)for)random
Binary&radix&depth Random Real
>18 22.1% 32.5%
>24 1.7% 21.8% Many)packets)
go)to)IGP)routes.
Performance)on)Large)Rou5ng)Tables
Algorithm SYN1&(with&764,847&routes) SYN2&(with&885,645&routes)
SAIL 102.86)Mlps N/A)(Overflowed)
D18R)(modified) 115.45)Mlps 102.59)Mlps
Poptrie18 188.02)Mlps 174.42)Mlps
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
SYN1:)
•  /0V15):)split)into)four)prefixes)
•  /16V23):)split)into)two)prefixes)
SYN2:)
•  /0V15):)split)into)eight)prefixes)
•  /16V19):)split)into)four)prefixes)
•  /20V23):)split)into)two)prefixes)
Two)synthe5c)datasets)from)the)rou5ng)table)of)a)backbone)
core)router)of)5erV1)ISP
Poptrie18)is)1.63–1.70x)faster)than)D18R.)
Traffic)pasern:)Random
Conclusion
•  Poptrie:)Mul5way)trie)for)IP)rou5ng)table)
lookup)in)so<ware)
– Small)memory)footprint)with)popula5on)count)
•  e.g.,)2.4)MiB)for)a)global)5erV1)ISP’s)full)route)
– Good)performance)through)comprehensive)
evalua5on)
•  4–578%)faster)than)other)stateVofVtheVart)technologies)
–  Private)and)public)IPv4/IPv6)rou5ng)tables)
–  FutureVenvisioned)800K+)IPv4)routes)
•  Advantageous)for)longer)prefixes)
–  demonstrated)through)perVlookup)performance)analysis)
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
BACKUP&SLIDES
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Tree)BitMap:)Succinct)Data)Structure
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)for)Fast)and)
Scalable)So<ware)IP)Rou5ng)Table)Lookup
1
0 1
1 1
1
d
c
b
0
1
e
0
1
a
0
0.0.0.0/0
128.0.0.0/1
0.0.0.0/2 64.0.0.0/2
64.0.0.0/3
Radix&Tree
d c b e
0 0 Result)pointer
Child)pointer
)Mul5way)trie
Node)array
Mul5Vbit)node
Tree&BitMap
SAIL:)3Vlevel)Mul5way)Trie
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)for)Fast)and)
Scalable)So<ware)IP)Rou5ng)Table)Lookup
2nd)level:)28Vary)
/0V16
/17V24
/25V32
3rd)level:)28Vary
1st)level:)216Vary
#)in)L1/L2)cache
#)in)L3)cache/DRAM
#)in)DRAM
")Slow&when&cache&miss&occurs)
DXR:)Binary)Search)in)Range)Table
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)for)Fast)and)
Scalable)So<ware)IP)Rou5ng)Table)Lookup
0.0.0.0/18
0.0.64.0/18
192.0.0.0/18 192.0.0.0 a
192.0.2.0 b
192.0.3.0 a
Next)hopStar5ng)at
Directly&indexed&table
=)192.0.0.0V192.0.1.255
=)192.0.2.0V192.0.2.255
=)192.0.3.0V192.0.63.255
1))O(1))lookup
2))Binary)search)
for)matching)range)
(within)L1)cache)line(s)))
Range&table
N.B.,)illustrated)the)case)of)X)=)18
" Slow&for&large&range&tables&
(e.g.,)a)cluster)of)IGP)routes))
LockVfree)Update)Procedure
Internal node
1 1 0 0
vector base0
N[2048] N[2049] N[2050]
31290 0 0 1
leafvec base1
2048
N
L
1
L[3129]
base1
1024
Node array (X) Top of the marked internal nodes
Parent to be replaced
Figure 6: The lock-free update procedure to th
internal node.
Updated prefix
Updated leaves
Replace these
internal nodes
Top of the marked triangles
Mul5core)Scalability)Evalua5on)for)
Random)Traffic
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)for)Fast)and)
Scalable)So<ware)IP)Rou5ng)Table)Lookup
0
100
200
300
400
500
600
700
800
900
1000
1 2 3 4
Lookuprate[Mlps]
# of threads
REAL-Tier1-A
REAL-Tier1-B
REALVTier1VA:)Global)TierV1’s)BGP)Router)
REALVTier1VB:)Domes5c)ISP’s)BGP)Router
Performance)on)IPv6)Rou5ng)Table
Aug.)18,)2015
Poptrie:)A)Compressed)Trie)with)Popula5on)Count)
for)Fast)and)Scalable)So<ware)IP)Rou5ng)Table)Lookup
Algorithm Average&Lookup&
rate&[Mlps]
SAIL N/A)(no)support)for)more)
specific)routes)than)/64)
D16R 163.07
D18R 169.91
Poptrie16 209.84
Poptrie18 211.32
•  On)a)rou5ng)table)dumped)at)a)5erV1)ISP)(with)20,440)prefixes))
•  For)2^32)random)addresses)within)2000::/8)
Poptrie18)is)1.24x)faster)than)D18R.)

Más contenido relacionado

La actualidad más candente

Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)
Pankaj Suryawanshi
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
Andriy Berestovskyy
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
SUSE Labs Taipei
 
Slab Allocator in Linux Kernel
Slab Allocator in Linux KernelSlab Allocator in Linux Kernel
Slab Allocator in Linux Kernel
Adrian Huang
 
Linux Linux Traffic Control
Linux Linux Traffic ControlLinux Linux Traffic Control
Linux Linux Traffic Control
SUSE Labs Taipei
 
Linux kernel memory allocators
Linux kernel memory allocatorsLinux kernel memory allocators
Linux kernel memory allocators
Hao-Ran Liu
 
COSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem portingCOSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem porting
Eric Lin
 
TMUX Rocks!
TMUX Rocks!TMUX Rocks!
TMUX Rocks!
Kent Chen
 
eBPF/XDP
eBPF/XDP eBPF/XDP
eBPF/XDP
Netronome
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
Denys Haryachyy
 
Play with FILE Structure - Yet Another Binary Exploit Technique
Play with FILE Structure - Yet Another Binary Exploit TechniquePlay with FILE Structure - Yet Another Binary Exploit Technique
Play with FILE Structure - Yet Another Binary Exploit Technique
Angel Boy
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
Brendan Gregg
 
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
Mr. Vengineer
 
Experience on porting HIGHMEM and KASAN to RISC-V at COSCUP 2020
Experience on porting HIGHMEM and KASAN to RISC-V at COSCUP 2020Experience on porting HIGHMEM and KASAN to RISC-V at COSCUP 2020
Experience on porting HIGHMEM and KASAN to RISC-V at COSCUP 2020
Eric Lin
 
Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)
marsee101
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
Divye Kapoor
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewall
Marian Marinov
 
Tc basics
Tc basicsTc basics
Tc basics
jeromy fu
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 
The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecturehugo lu
 

La actualidad más candente (20)

Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
 
Slab Allocator in Linux Kernel
Slab Allocator in Linux KernelSlab Allocator in Linux Kernel
Slab Allocator in Linux Kernel
 
Linux Linux Traffic Control
Linux Linux Traffic ControlLinux Linux Traffic Control
Linux Linux Traffic Control
 
Linux kernel memory allocators
Linux kernel memory allocatorsLinux kernel memory allocators
Linux kernel memory allocators
 
COSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem portingCOSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem porting
 
TMUX Rocks!
TMUX Rocks!TMUX Rocks!
TMUX Rocks!
 
eBPF/XDP
eBPF/XDP eBPF/XDP
eBPF/XDP
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 
Play with FILE Structure - Yet Another Binary Exploit Technique
Play with FILE Structure - Yet Another Binary Exploit TechniquePlay with FILE Structure - Yet Another Binary Exploit Technique
Play with FILE Structure - Yet Another Binary Exploit Technique
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
 
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
 
Experience on porting HIGHMEM and KASAN to RISC-V at COSCUP 2020
Experience on porting HIGHMEM and KASAN to RISC-V at COSCUP 2020Experience on porting HIGHMEM and KASAN to RISC-V at COSCUP 2020
Experience on porting HIGHMEM and KASAN to RISC-V at COSCUP 2020
 
Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewall
 
Tc basics
Tc basicsTc basics
Tc basics
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecture
 

Similar a Poptrie: A Compressed Trie with Population Count for Fast and Scalable Software IP Routing Table Lookup

#MENT: Online & Mobile Trends - India & Worldwide by Gurmit Singh, MD Yahoo I...
#MENT: Online & Mobile Trends - India & Worldwide by Gurmit Singh, MD Yahoo I...#MENT: Online & Mobile Trends - India & Worldwide by Gurmit Singh, MD Yahoo I...
#MENT: Online & Mobile Trends - India & Worldwide by Gurmit Singh, MD Yahoo I...
tiemumbai
 
ใบความรู้ที่ 1 ความรู้เกี่ยวกับเว็บไซต์
ใบความรู้ที่ 1 ความรู้เกี่ยวกับเว็บไซต์ใบความรู้ที่ 1 ความรู้เกี่ยวกับเว็บไซต์
ใบความรู้ที่ 1 ความรู้เกี่ยวกับเว็บไซต์พ่อ รักน้องต้นข้าว
 
Python gis mapping
Python gis mappingPython gis mapping
Python gis mapping
kikocorreoso
 
Software libre y modelos de programación en la investigación con supercomputa...
Software libre y modelos de programación en la investigación con supercomputa...Software libre y modelos de programación en la investigación con supercomputa...
Software libre y modelos de programación en la investigación con supercomputa...
Andrés Gómez
 
Estándares tecnológicos para la interoperabilidad en la administración inteli...
Estándares tecnológicos para la interoperabilidad en la administración inteli...Estándares tecnológicos para la interoperabilidad en la administración inteli...
Estándares tecnológicos para la interoperabilidad en la administración inteli...
Luis Bermudez
 
Reutilización de datos procedentes de tarjetas sin contacto en el ámbito del ...
Reutilización de datos procedentes de tarjetas sin contacto en el ámbito del ...Reutilización de datos procedentes de tarjetas sin contacto en el ámbito del ...
Reutilización de datos procedentes de tarjetas sin contacto en el ámbito del ...
Luis Criado
 
Klink-2: integrating multiple web sources to generate semantic topic networks
 Klink-2: integrating multiple web sources to generate semantic topic networks Klink-2: integrating multiple web sources to generate semantic topic networks
Klink-2: integrating multiple web sources to generate semantic topic networks
Francesco Osborne
 
Website qualityaddressingqualitygaps2014
Website qualityaddressingqualitygaps2014Website qualityaddressingqualitygaps2014
Website qualityaddressingqualitygaps2014
Luisa Mich
 
Situación de las iniciativas de Open Data internacionales (y algunas recomen...
Situación de las iniciativas de Open Data internacionales (y algunas recomen...Situación de las iniciativas de Open Data internacionales (y algunas recomen...
Situación de las iniciativas de Open Data internacionales (y algunas recomen...
Oscar Corcho
 
Análisis de datos en mundos virtuales educativos
Análisis de datos en mundos virtuales educativosAnálisis de datos en mundos virtuales educativos
Análisis de datos en mundos virtuales educativos
Grial - University of Salamanca
 
Las TIC y su aporte al Desarrollo de la Sociedad de la Informacion
Las TIC y su aporte al Desarrollo de la Sociedad de la InformacionLas TIC y su aporte al Desarrollo de la Sociedad de la Informacion
Las TIC y su aporte al Desarrollo de la Sociedad de la Informacion
ProGobernabilidad Perú
 
Training Autocad Indonesia
Training Autocad IndonesiaTraining Autocad Indonesia
Training Autocad Indonesia
Edi Supriyanto
 
Esri Open Platform
Esri Open PlatformEsri Open Platform
Esri Open Platform
Esri España
 
R project nube (1)
R project nube (1)R project nube (1)
R project nube (1)
Deybi Morales León
 
Novedades en CATNIX
Novedades en CATNIXNovedades en CATNIX

Similar a Poptrie: A Compressed Trie with Population Count for Fast and Scalable Software IP Routing Table Lookup (19)

#MENT: Online & Mobile Trends - India & Worldwide by Gurmit Singh, MD Yahoo I...
#MENT: Online & Mobile Trends - India & Worldwide by Gurmit Singh, MD Yahoo I...#MENT: Online & Mobile Trends - India & Worldwide by Gurmit Singh, MD Yahoo I...
#MENT: Online & Mobile Trends - India & Worldwide by Gurmit Singh, MD Yahoo I...
 
ใบความรู้ที่ 1 ความรู้เกี่ยวกับเว็บไซต์
ใบความรู้ที่ 1 ความรู้เกี่ยวกับเว็บไซต์ใบความรู้ที่ 1 ความรู้เกี่ยวกับเว็บไซต์
ใบความรู้ที่ 1 ความรู้เกี่ยวกับเว็บไซต์
 
Python gis mapping
Python gis mappingPython gis mapping
Python gis mapping
 
Software libre y modelos de programación en la investigación con supercomputa...
Software libre y modelos de programación en la investigación con supercomputa...Software libre y modelos de programación en la investigación con supercomputa...
Software libre y modelos de programación en la investigación con supercomputa...
 
Estándares tecnológicos para la interoperabilidad en la administración inteli...
Estándares tecnológicos para la interoperabilidad en la administración inteli...Estándares tecnológicos para la interoperabilidad en la administración inteli...
Estándares tecnológicos para la interoperabilidad en la administración inteli...
 
Reutilización de datos procedentes de tarjetas sin contacto en el ámbito del ...
Reutilización de datos procedentes de tarjetas sin contacto en el ámbito del ...Reutilización de datos procedentes de tarjetas sin contacto en el ámbito del ...
Reutilización de datos procedentes de tarjetas sin contacto en el ámbito del ...
 
Klink-2: integrating multiple web sources to generate semantic topic networks
 Klink-2: integrating multiple web sources to generate semantic topic networks Klink-2: integrating multiple web sources to generate semantic topic networks
Klink-2: integrating multiple web sources to generate semantic topic networks
 
HP E INTEL CONMEMORAN LOS 20 AÑOS DEL CENTRO DE SUPERCOMPUTACIÓN DE GALICIA
 HP E INTEL CONMEMORAN LOS 20 AÑOS DEL CENTRO DE SUPERCOMPUTACIÓN DE GALICIA HP E INTEL CONMEMORAN LOS 20 AÑOS DEL CENTRO DE SUPERCOMPUTACIÓN DE GALICIA
HP E INTEL CONMEMORAN LOS 20 AÑOS DEL CENTRO DE SUPERCOMPUTACIÓN DE GALICIA
 
Website qualityaddressingqualitygaps2014
Website qualityaddressingqualitygaps2014Website qualityaddressingqualitygaps2014
Website qualityaddressingqualitygaps2014
 
CO2 Re-use
CO2 Re-use CO2 Re-use
CO2 Re-use
 
Situación de las iniciativas de Open Data internacionales (y algunas recomen...
Situación de las iniciativas de Open Data internacionales (y algunas recomen...Situación de las iniciativas de Open Data internacionales (y algunas recomen...
Situación de las iniciativas de Open Data internacionales (y algunas recomen...
 
Análisis de datos en mundos virtuales educativos
Análisis de datos en mundos virtuales educativosAnálisis de datos en mundos virtuales educativos
Análisis de datos en mundos virtuales educativos
 
Presentacion3
Presentacion3Presentacion3
Presentacion3
 
Las TIC y su aporte al Desarrollo de la Sociedad de la Informacion
Las TIC y su aporte al Desarrollo de la Sociedad de la InformacionLas TIC y su aporte al Desarrollo de la Sociedad de la Informacion
Las TIC y su aporte al Desarrollo de la Sociedad de la Informacion
 
Azael FernáNdez1
Azael FernáNdez1Azael FernáNdez1
Azael FernáNdez1
 
Training Autocad Indonesia
Training Autocad IndonesiaTraining Autocad Indonesia
Training Autocad Indonesia
 
Esri Open Platform
Esri Open PlatformEsri Open Platform
Esri Open Platform
 
R project nube (1)
R project nube (1)R project nube (1)
R project nube (1)
 
Novedades en CATNIX
Novedades en CATNIXNovedades en CATNIX
Novedades en CATNIX
 

Último

Literatura de la Independencia de Colombia.pptx
Literatura de la Independencia de Colombia.pptxLiteratura de la Independencia de Colombia.pptx
Literatura de la Independencia de Colombia.pptx
ssuseraf39e3
 
control de emisiones de gases contaminantes.pptx
control de emisiones de gases contaminantes.pptxcontrol de emisiones de gases contaminantes.pptx
control de emisiones de gases contaminantes.pptx
jesusbellido2
 
Alan Soria, Hernán Litvac - eCommerce Day Colombia 2024
Alan Soria,  Hernán Litvac - eCommerce Day Colombia 2024Alan Soria,  Hernán Litvac - eCommerce Day Colombia 2024
Alan Soria, Hernán Litvac - eCommerce Day Colombia 2024
eCommerce Institute
 
María Fernanda Quiñones - eCommerce Day Colombia 2024
María Fernanda Quiñones - eCommerce Day Colombia 2024María Fernanda Quiñones - eCommerce Day Colombia 2024
María Fernanda Quiñones - eCommerce Day Colombia 2024
eCommerce Institute
 
Grafica Mapa Conceptual Simple Multicolor.pdf
Grafica Mapa Conceptual Simple Multicolor.pdfGrafica Mapa Conceptual Simple Multicolor.pdf
Grafica Mapa Conceptual Simple Multicolor.pdf
YudetxybethNieto
 
Raimon Reverter - eCommerce Day Colombia 2024
Raimon Reverter - eCommerce Day Colombia 2024Raimon Reverter - eCommerce Day Colombia 2024
Raimon Reverter - eCommerce Day Colombia 2024
eCommerce Institute
 
Giovanni Stella - eCommerce Day Colombia 2024
Giovanni Stella -  eCommerce Day Colombia 2024Giovanni Stella -  eCommerce Day Colombia 2024
Giovanni Stella - eCommerce Day Colombia 2024
eCommerce Institute
 
Matías Ulloa Salgado - eCommerce Day Colombia 2024
Matías Ulloa Salgado - eCommerce Day Colombia 2024Matías Ulloa Salgado - eCommerce Day Colombia 2024
Matías Ulloa Salgado - eCommerce Day Colombia 2024
eCommerce Institute
 
Salomón Hakim - eCommerce Day Colombia 2024
Salomón Hakim - eCommerce Day Colombia 2024Salomón Hakim - eCommerce Day Colombia 2024
Salomón Hakim - eCommerce Day Colombia 2024
eCommerce Institute
 
Carlos Güisa - eCommerce Day Colombia 2024
Carlos Güisa - eCommerce Day Colombia 2024Carlos Güisa - eCommerce Day Colombia 2024
Carlos Güisa - eCommerce Day Colombia 2024
eCommerce Institute
 
Jorge Padilla Ogalde - eCommerce Day Colombia 2024
Jorge Padilla Ogalde - eCommerce Day Colombia 2024Jorge Padilla Ogalde - eCommerce Day Colombia 2024
Jorge Padilla Ogalde - eCommerce Day Colombia 2024
eCommerce Institute
 
AVICULTURA DIAPOSITIVAS PARAPODER ESTUDIAR
AVICULTURA DIAPOSITIVAS PARAPODER ESTUDIARAVICULTURA DIAPOSITIVAS PARAPODER ESTUDIAR
AVICULTURA DIAPOSITIVAS PARAPODER ESTUDIAR
JessicaMelinaCisnero
 
Camilo Andrés Palencia Baez, Camila Furlan - eCommerce Day Colombia 2024
Camilo Andrés Palencia Baez, Camila Furlan - eCommerce Day Colombia 2024Camilo Andrés Palencia Baez, Camila Furlan - eCommerce Day Colombia 2024
Camilo Andrés Palencia Baez, Camila Furlan - eCommerce Day Colombia 2024
eCommerce Institute
 
Diana Mejía - eCommerce Day Colombia 2024
Diana Mejía - eCommerce Day Colombia 2024Diana Mejía - eCommerce Day Colombia 2024
Diana Mejía - eCommerce Day Colombia 2024
eCommerce Institute
 

Último (14)

Literatura de la Independencia de Colombia.pptx
Literatura de la Independencia de Colombia.pptxLiteratura de la Independencia de Colombia.pptx
Literatura de la Independencia de Colombia.pptx
 
control de emisiones de gases contaminantes.pptx
control de emisiones de gases contaminantes.pptxcontrol de emisiones de gases contaminantes.pptx
control de emisiones de gases contaminantes.pptx
 
Alan Soria, Hernán Litvac - eCommerce Day Colombia 2024
Alan Soria,  Hernán Litvac - eCommerce Day Colombia 2024Alan Soria,  Hernán Litvac - eCommerce Day Colombia 2024
Alan Soria, Hernán Litvac - eCommerce Day Colombia 2024
 
María Fernanda Quiñones - eCommerce Day Colombia 2024
María Fernanda Quiñones - eCommerce Day Colombia 2024María Fernanda Quiñones - eCommerce Day Colombia 2024
María Fernanda Quiñones - eCommerce Day Colombia 2024
 
Grafica Mapa Conceptual Simple Multicolor.pdf
Grafica Mapa Conceptual Simple Multicolor.pdfGrafica Mapa Conceptual Simple Multicolor.pdf
Grafica Mapa Conceptual Simple Multicolor.pdf
 
Raimon Reverter - eCommerce Day Colombia 2024
Raimon Reverter - eCommerce Day Colombia 2024Raimon Reverter - eCommerce Day Colombia 2024
Raimon Reverter - eCommerce Day Colombia 2024
 
Giovanni Stella - eCommerce Day Colombia 2024
Giovanni Stella -  eCommerce Day Colombia 2024Giovanni Stella -  eCommerce Day Colombia 2024
Giovanni Stella - eCommerce Day Colombia 2024
 
Matías Ulloa Salgado - eCommerce Day Colombia 2024
Matías Ulloa Salgado - eCommerce Day Colombia 2024Matías Ulloa Salgado - eCommerce Day Colombia 2024
Matías Ulloa Salgado - eCommerce Day Colombia 2024
 
Salomón Hakim - eCommerce Day Colombia 2024
Salomón Hakim - eCommerce Day Colombia 2024Salomón Hakim - eCommerce Day Colombia 2024
Salomón Hakim - eCommerce Day Colombia 2024
 
Carlos Güisa - eCommerce Day Colombia 2024
Carlos Güisa - eCommerce Day Colombia 2024Carlos Güisa - eCommerce Day Colombia 2024
Carlos Güisa - eCommerce Day Colombia 2024
 
Jorge Padilla Ogalde - eCommerce Day Colombia 2024
Jorge Padilla Ogalde - eCommerce Day Colombia 2024Jorge Padilla Ogalde - eCommerce Day Colombia 2024
Jorge Padilla Ogalde - eCommerce Day Colombia 2024
 
AVICULTURA DIAPOSITIVAS PARAPODER ESTUDIAR
AVICULTURA DIAPOSITIVAS PARAPODER ESTUDIARAVICULTURA DIAPOSITIVAS PARAPODER ESTUDIAR
AVICULTURA DIAPOSITIVAS PARAPODER ESTUDIAR
 
Camilo Andrés Palencia Baez, Camila Furlan - eCommerce Day Colombia 2024
Camilo Andrés Palencia Baez, Camila Furlan - eCommerce Day Colombia 2024Camilo Andrés Palencia Baez, Camila Furlan - eCommerce Day Colombia 2024
Camilo Andrés Palencia Baez, Camila Furlan - eCommerce Day Colombia 2024
 
Diana Mejía - eCommerce Day Colombia 2024
Diana Mejía - eCommerce Day Colombia 2024Diana Mejía - eCommerce Day Colombia 2024
Diana Mejía - eCommerce Day Colombia 2024
 

Poptrie: A Compressed Trie with Population Count for Fast and Scalable Software IP Routing Table Lookup