HashCache: Cache Storage for the Next Billion Anirudh Badam - - PowerPoint PPT Presentation

hashcache cache storage for the next billion
SMART_READER_LITE
LIVE PREVIEW

HashCache: Cache Storage for the Next Billion Anirudh Badam - - PowerPoint PPT Presentation

HashCache: Cache Storage for the Next Billion Anirudh Badam KyoungSoo Park Vivek S. Pai Larry L. Peterson Princeton University 1 Next Billion Internet Users 2 Next Billion Internet Users Schools, urban middle class in developing


slide-1
SLIDE 1

HashCache: Cache Storage for the Next Billion

1

Anirudh Badam KyoungSoo Park Vivek S. Pai Larry L. Peterson

Princeton University

slide-2
SLIDE 2

Next Billion Internet Users

2

slide-3
SLIDE 3

Next Billion Internet Users

  • Schools, urban middle class in

developing regions

2

slide-4
SLIDE 4

Next Billion Internet Users

  • Schools, urban middle class in

developing regions

  • Affordable hardware
  • OLPC and Intel Classmate

2

$200

slide-5
SLIDE 5

Next Billion Internet Users

  • Schools, urban middle class in

developing regions

  • Affordable hardware
  • OLPC and Intel Classmate
  • Expensive Internet
  • $1500+ per month per Mbps
  • Unlikely to improve in the

near future

2

$200 $1500 per month

slide-6
SLIDE 6

Bandwidth Saving

3

slide-7
SLIDE 7

Bandwidth Saving

  • Connectivity is a precious

resource

3

slide-8
SLIDE 8

Bandwidth Saving

  • Connectivity is a precious

resource

  • Saving bandwidth important
  • Disk caches reduce network

bandwidth requirement

3

Internet

Cache

slide-9
SLIDE 9

Bandwidth Saving

  • Connectivity is a precious

resource

  • Saving bandwidth important
  • Disk caches reduce network

bandwidth requirement

  • Good news - disk is very

cheap

  • $100/TB

3

Internet

Cache

slide-10
SLIDE 10

Why Large Caches?

4

slide-11
SLIDE 11

Why Large Caches?

  • Larger bandwidth savings
  • Refreshes cheaper than re-fetches
  • Overnight prefetch, content push from peers

4

slide-12
SLIDE 12

Why Large Caches?

  • Larger bandwidth savings
  • Refreshes cheaper than re-fetches
  • Overnight prefetch, content push from peers
  • Good offline behavior
  • Preload websites
  • Enables local search

4

slide-13
SLIDE 13

Why Large Caches?

  • Larger bandwidth savings
  • Refreshes cheaper than re-fetches
  • Overnight prefetch, content push from peers
  • Good offline behavior
  • Preload websites
  • Enables local search
  • Save even on dynamic content
  • WAN Acceleration = packet caching

4

slide-14
SLIDE 14

What is the Cost?

5

slide-15
SLIDE 15

What is the Cost?

  • In-memory data structures
  • Hash table avoids seeks for misses
  • Cache replacement (LRU, etc)

5

70 seeks per sec

slide-16
SLIDE 16

What is the Cost?

  • In-memory data structures
  • Hash table avoids seeks for misses
  • Cache replacement (LRU, etc)
  • RAM index size per TB
  • Open Source (Squid) - 10 GB
  • Commercial (Tiger) - 5 GB

5

70 seeks per sec

slide-17
SLIDE 17

What is the Cost?

  • In-memory data structures
  • Hash table avoids seeks for misses
  • Cache replacement (LRU, etc)
  • RAM index size per TB
  • Open Source (Squid) - 10 GB
  • Commercial (Tiger) - 5 GB
  • Can not use laptops for cache
  • 2 servers, $2K each = 20 laptops

5

70 seeks per sec

x 20

slide-18
SLIDE 18

Our Solution

6

slide-19
SLIDE 19
  • HashCache: storage engine w/ plug-in indexing
  • 6 schemes in paper, 3 shown here
  • New Web proxy using HashCache engine

Our Solution

6

slide-20
SLIDE 20
  • HashCache: storage engine w/ plug-in indexing
  • 6 schemes in paper, 3 shown here
  • New Web proxy using HashCache engine
  • Efficiency and Performance:
  • Range of policies trading speed and memory
  • 20-50x less RAM for Squid-like speed
  • 6-10x less RAM vs Tiger (Commercial)

Our Solution

6

slide-21
SLIDE 21
  • HashCache: storage engine w/ plug-in indexing
  • 6 schemes in paper, 3 shown here
  • New Web proxy using HashCache engine
  • Efficiency and Performance:
  • Range of policies trading speed and memory
  • 20-50x less RAM for Squid-like speed
  • 6-10x less RAM vs Tiger (Commercial)
  • Can now use cheap laptops vs servers
  • Even for TB-sized caches

Our Solution

6

slide-22
SLIDE 22

Performance: req/sec/disk

1 2 3 4 70 140 210 280 350 HashCache Current Squid Tiger

Gigabytes/Dollar

Our Solution

6

Better

slide-23
SLIDE 23

A Brief History of Cache

7

slide-24
SLIDE 24

A Brief History of Cache

7

URL

slide-25
SLIDE 25

A Brief History of Cache

7

URL ddddhhhhbbbb

slide-26
SLIDE 26

A Brief History of Cache

7

URL ddddhhhhbbbb

} } }

Directory Level 1 Directory Level 2 Actual File

slide-27
SLIDE 27

A Brief History of Cache

7

URL ddddhhhhbbbb

} } }

Directory Level 1 Directory Level 2 Actual File

In-memory Hashtable

slide-28
SLIDE 28

A Brief History of Cache

7

URL ddddhhhhbbbb

} } }

Directory Level 1 Directory Level 2 Actual File

In-memory Hashtable

Squid

slide-29
SLIDE 29

A Brief History of Cache

7

URL

slide-30
SLIDE 30

A Brief History of Cache

7

URL Filesystem

Circular Log

slide-31
SLIDE 31

A Brief History of Cache

7

URL hash_value Filesystem

Circular Log

slide-32
SLIDE 32

A Brief History of Cache

7

URL hash_value

  • ffset

Memory hash_value Filesystem

Circular Log

slide-33
SLIDE 33

A Brief History of Cache

7

URL hash_value

  • ffset

Memory hash_value Filesystem

Circular Log

Tiger

slide-34
SLIDE 34

A Brief History of Cache

  • Open Source Implementation - Squid
  • Multiple seeks for hit, miss and write
  • Dependent on default filesystems
  • Commercial/High Performance - Tiger
  • One seek for hit
  • Custom file layout

7

slide-35
SLIDE 35

Index Element Sizes

8

slide-36
SLIDE 36

Functionality Existence Identification Replacement Policy Location Information Other

Index Element Sizes

8

slide-37
SLIDE 37

Functionality Implementation Choice Existence Identification Hashtable Chaining Pointers Hash Replacement Policy LRU List Pointers Location Information Disk Offset, Version Number, etc Other Expiration Date, Size, HTTP header info etc Total

Index Element Sizes

8

slide-38
SLIDE 38

Functionality Implementation Choice Existence Identification Hashtable Chaining Pointers Hash Replacement Policy LRU List Pointers Location Information Disk Offset, Version Number, etc Other Expiration Date, Size, HTTP header info etc Total

Index Element Sizes

Focusing mainly

  • n reducing the

size of the index

8

slide-39
SLIDE 39

Functionality Implementation Choice Squid (Bits) Existence Identification Hashtable Chaining Pointers 96 Hash 160 Replacement Policy LRU List Pointers 64 Location Information Disk Offset, Version Number, etc Other Expiration Date, Size, HTTP header info etc 240 Total 560

Index Element Sizes

8

slide-40
SLIDE 40

Functionality Implementation Choice Squid (Bits) Tiger (Bits) Existence Identification Hashtable Chaining Pointers 96 96 Hash 160 32 Replacement Policy LRU List Pointers 64 64 Location Information Disk Offset, Version Number, etc 40 Other Expiration Date, Size, HTTP header info etc 240 Total 560 232

Index Element Sizes

8

slide-41
SLIDE 41

Revisiting the Index...

9

slide-42
SLIDE 42

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem

9

slide-43
SLIDE 43

Cache size limited by memory size

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem

9

slide-44
SLIDE 44

Cache size limited by memory size

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem Performance depends on disk seeks

9

slide-45
SLIDE 45

Cache size limited by memory size

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem Performance depends on disk seeks

reduce the dependency

9

slide-46
SLIDE 46

Cache size limited by memory size

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem Performance depends on disk seeks

reduce the dependency

  • ptimize

for seeks

9

slide-47
SLIDE 47

Revisiting the Index...

  • Eliminate(?) in-memory index

In-memory Index

Application Cache Manager Reliable Filesystem

9

slide-48
SLIDE 48

Revisiting the Index...

  • Eliminate(?) in-memory index
  • Need membership and location

information

In-memory Index

Application Cache Manager Reliable Filesystem

9

slide-49
SLIDE 49

Revisiting the Index...

  • Eliminate(?) in-memory index
  • Need membership and location

information

  • Use disk as hash table

In-memory Index

Application Cache Manager Reliable Filesystem

9

slide-50
SLIDE 50

Revisiting the Index...

  • Eliminate(?) in-memory index
  • Need membership and location

information

  • Use disk as hash table
  • On disk data structures for

key lookup

  • Store the object as values for

the keys

In-memory Index

Application Cache Manager Reliable Filesystem

9

slide-51
SLIDE 51

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem HashCache Engine

9

Application Logic Application Cache Manager Reliable Filesystem

In-memory Index

slide-52
SLIDE 52

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem HashCache Engine

9

Application Logic Reliable Filesystem

In-memory Index

slide-53
SLIDE 53

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem HashCache Engine

9

Application Logic

In-memory Index

slide-54
SLIDE 54

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem HashCache Engine

9

Application Logic

In-memory Index
slide-55
SLIDE 55

Revisiting the Index...

In-memory Index

Application Cache Manager Reliable Filesystem HashCache Engine

9

Application Logic

In-memory Index
slide-56
SLIDE 56

HashCache: Basic Policy

10

slide-57
SLIDE 57

URL

HashCache: Basic Policy

10

slide-58
SLIDE 58

URL

HashCache: Basic Policy

data

10

slide-59
SLIDE 59

URL

HashCache: Basic Policy

hash_value

data

H Bits

10

slide-60
SLIDE 60

URL

HashCache: Basic Policy

hash_value

data

H Bits

N contiguous blocks

Filesystem

(Disk Table)

10

slide-61
SLIDE 61

URL

HashCache: Basic Policy

hash_value

% N

t

data

H Bits

N contiguous blocks

Filesystem

(Disk Table)

10

slide-62
SLIDE 62

URL

HashCache: Basic Policy

hash_value

% N

t

data tth block

H Bits

N contiguous blocks

Filesystem

(Disk Table)

10

slide-63
SLIDE 63

URL

Circular Log

head

HashCache: Basic Policy

hash_value

% N

t

data tth block

H Bits

N contiguous blocks

Filesystem

(Disk Table)

10

slide-64
SLIDE 64

URL

Circular Log

head

HashCache: Basic Policy

hash_value

% N

t

tth block

H Bits

N contiguous blocks

Filesystem

(Disk Table)

10

slide-65
SLIDE 65

URL

Circular Log

head

HashCache: Basic Policy

hash_value

% N

t

tth block

H Bits

N contiguous blocks

Filesystem

(Disk Table)

10

slide-66
SLIDE 66
  • Advantages
  • No index memory needed
  • Tuned for one seek for most objects

HashCache: Basic Policy

10

slide-67
SLIDE 67
  • Advantages
  • No index memory needed
  • Tuned for one seek for most objects
  • Disadvantages
  • One seek per miss
  • No collison control
  • No cache replacement policy

HashCache: Basic Policy

10

slide-68
SLIDE 68

Collision Control

11

slide-69
SLIDE 69

Collision Control

11

slide-70
SLIDE 70

Collision Control

Chaining

11

slide-71
SLIDE 71

Collision Control

  • Does not transition well

to disk-based

  • Multiple seeks per
  • peration
  • Walking hash bin list
  • Global replacement

policy crosses bins

Chaining

11

slide-72
SLIDE 72

Collision Control

Chaining

11

slide-73
SLIDE 73

Collision Control

  • Fixed locations where each
  • bject can be found
  • Allocated contiguously,

read together

Set Associativity T

  • Ways

11

slide-74
SLIDE 74

Collision Control

  • Fixed locations where each
  • bject can be found
  • Allocated contiguously,

read together

  • Seek time dominates short

read

Set Associativity T

  • Ways

11

slide-75
SLIDE 75

Collision Control

  • Fixed locations where each
  • bject can be found
  • Allocated contiguously,

read together

  • Seek time dominates short

read

  • Eliminate global cache

replacement policies

Set Associativity T

  • Ways

11

slide-76
SLIDE 76

Reducing Seeks

12

slide-77
SLIDE 77

Reducing Seeks

  • In-memory hash table
  • Too much memory for

pointers

Bin Pointers 32 Chaining Pointers 64 Hash 32 Total (bits) 128

In-memory Hash Table

12

slide-78
SLIDE 78

Reducing Seeks

  • In-memory hash table
  • Too much memory for

pointers

  • Disk is already a hash table
  • Pointers not needed
  • Large bitmap with the

same layout as the disk

Disk Table

12

slide-79
SLIDE 79

Reducing Seeks

  • In-memory hash table
  • Too much memory for

pointers

  • Disk is already a hash table
  • Pointers not needed
  • Large bitmap with the

same layout as the disk

  • Just store hash per URL

Disk Table

In-memory Bitmap

H Bits Disk Block

12

slide-80
SLIDE 80

Reducing Seeks

  • In-memory hash table
  • Too much memory for

pointers

  • Disk is already a hash table
  • Pointers not needed
  • Large bitmap with the

same layout as the disk

  • Just store hash per URL

Disk Table

In-memory Bitmap

H Bits Disk Block

12

slide-81
SLIDE 81

Reducing Seeks

  • Original hash of the URL:

64 bits

12

64

Original Hash

slide-82
SLIDE 82

Reducing Seeks

  • Original hash of the URL:

64 bits

  • Eliminate bits for (same)

bin # (228 objs, 8-way, #bins=225 (S))

12

64

Original Hash

39

64 - log(S)

slide-83
SLIDE 83

Reducing Seeks

  • Original hash of the URL:

64 bits

  • Eliminate bits for (same)

bin # (228 objs, 8-way, #bins=225 (S))

  • Shrink hash size: Just to

eliminate most false positives (8 bits)

12

64

Original Hash

39

64 - log(S)

8

low FP hash

slide-84
SLIDE 84

Cache Replacement

13

64

Original Hash

39

64 - log(S)

8

low FP hash

slide-85
SLIDE 85

Cache Replacement

13

  • Large disks: 10-100+ million
  • bjects
  • Global caching relevant when

disk size working set

  • When disk >> working set,

local policies global policies

≈ ≈ 64

Original Hash

39

64 - log(S)

8

low FP hash

slide-86
SLIDE 86

Cache Replacement

13

  • Large disks: 10-100+ million
  • bjects
  • Global caching relevant when

disk size working set

  • When disk >> working set,

local policies global policies

  • Local replacement benefits
  • 3 bits per URL
  • Performed on contiguous objects
  • False positives limited by set size

≈ ≈ 64

Original Hash

39

64 - log(S)

8

low FP hash

11

hash + rank

slide-87
SLIDE 87

HashCache: SetMem Policy

14

slide-88
SLIDE 88

HashCache: SetMem Policy

URL

14

slide-89
SLIDE 89

HashCache: SetMem Policy

URL

data

14

slide-90
SLIDE 90

HashCache: SetMem Policy

URL

hash_value

% S

t

data

14

slide-91
SLIDE 91

HashCache: SetMem Policy

URL

hash_value

% S

t

data

Filesystem

head

Memory

14

slide-92
SLIDE 92

HashCache: SetMem Policy

URL

hash_value

% S

t

data

Filesystem

head

Memory

11 Bits tth set tth set

14

slide-93
SLIDE 93

HashCache: SetMem Policy

URL

hash_value

% S

t

data

Filesystem

head

Memory

11 Bits tth set tth set

14

slide-94
SLIDE 94

HashCache: SetMem Policy

URL

hash_value

% S

t

Filesystem

head

Memory

11 Bits tth set tth set

14

slide-95
SLIDE 95

HashCache: SetMem Policy

URL

hash_value

% S

t

LRU LRU

Filesystem

head

Memory

11 Bits tth set tth set

14

slide-96
SLIDE 96
  • Advantages
  • No seeks for most misses
  • 1 seek per read, 1 seek per write
  • Good hash + replacement in 11 bits

HashCache: SetMem Policy

14

slide-97
SLIDE 97
  • Advantages
  • No seeks for most misses
  • 1 seek per read, 1 seek per write
  • Good hash + replacement in 11 bits
  • Disadvantages
  • Writes still need seeks

HashCache: SetMem Policy

14

slide-98
SLIDE 98

Further Reducing Seeks

Disk Table

15

slide-99
SLIDE 99

Further Reducing Seeks

  • Storing objects by hash can

produce random reads & writes

Disk Table

15

slide-100
SLIDE 100

Further Reducing Seeks

  • Storing objects by hash can

produce random reads & writes

  • Restructure on-disk table

Disk Table

15

slide-101
SLIDE 101

Further Reducing Seeks

  • Storing objects by hash can

produce random reads & writes

  • Restructure on-disk table
  • Store only hash, rank, offset

15

11 hash

rank

slide-102
SLIDE 102

Further Reducing Seeks

  • Storing objects by hash can

produce random reads & writes

  • Restructure on-disk table
  • Store only hash, rank, offset
  • Move all data to log

15

11 hash

rank

43 hash

rank

  • ffset
slide-103
SLIDE 103

Further Reducing Seeks

  • Storing objects by hash can

produce random reads & writes

  • Restructure on-disk table
  • Store only hash, rank, offset
  • Move all data to log
  • Benefits
  • Group writes amortize seeks
  • Scheduling related writes

enables read prefetch

  • Both reads & writes < 1 seek

15

11 hash

rank

43 hash

rank

  • ffset
slide-104
SLIDE 104

Further Reducing Seeks

  • Storing objects by hash can

produce random reads & writes

  • Restructure on-disk table
  • Store only hash, rank, offset
  • Move all data to log
  • Benefits
  • Group writes amortize seeks
  • Scheduling related writes

enables read prefetch

  • Both reads & writes < 1 seek

15

HC-Basic

43

HC-Log

11 HC-SetMem

slide-105
SLIDE 105

Further Reducing Seeks

  • Storing objects by hash can

produce random reads & writes

  • Restructure on-disk table
  • Store only hash, rank, offset
  • Move all data to log
  • Benefits
  • Group writes amortize seeks
  • Scheduling related writes

enables read prefetch

  • Both reads & writes < 1 seek

15

560

Squid

232

Tiger HC-Basic

43

HC-Log

11 HC-SetMem

slide-106
SLIDE 106

HashCache: Log Policy

16

slide-107
SLIDE 107

HashCache: Log Policy

URL

16

slide-108
SLIDE 108

HashCache: Log Policy

URL

data

16

slide-109
SLIDE 109

HashCache: Log Policy

URL

hash_value

% S

t

data

16

slide-110
SLIDE 110

HashCache: Log Policy

URL

hash_value

% S

t

data Circular Log

Filesystem

head LRU

Memory

16

slide-111
SLIDE 111

HashCache: Log Policy

URL

hash_value

% S

t

data Circular Log

Filesystem

head LRU

Memory

tth set 43 Bits

16

slide-112
SLIDE 112

HashCache: Log Policy

URL

hash_value

% S

t

data Circular Log

Filesystem

head LRU

Memory

tth set 43 Bits

16

slide-113
SLIDE 113

Implementation

17

slide-114
SLIDE 114

Implementation

  • HashCache Storage

Engine with plug-in policies

17

slide-115
SLIDE 115

Implementation

  • HashCache Storage

Engine with plug-in policies

  • HashCache Web proxy

using storage engine

17

slide-116
SLIDE 116

Implementation

  • HashCache Storage

Engine with plug-in policies

  • HashCache Web proxy

using storage engine

  • Multiple apps on same

box, sharing memory

17

slide-117
SLIDE 117

Implementation

  • HashCache Storage

Engine with plug-in policies

  • HashCache Web proxy

using storage engine

  • Multiple apps on same

box, sharing memory

  • 20,000 lines C code for

the proxy and 1000 lines for the indexing policies

17

slide-118
SLIDE 118

Implementation

  • HashCache Storage

Engine with plug-in policies

  • HashCache Web proxy

using storage engine

  • Multiple apps on same

box, sharing memory

  • 20,000 lines C code for

the proxy and 1000 lines for the indexing policies

  • Event Driven

implementation with non-blocking I/O

17

slide-119
SLIDE 119

Implementation

  • HashCache Storage

Engine with plug-in policies

  • HashCache Web proxy

using storage engine

  • Multiple apps on same

box, sharing memory

  • 20,000 lines C code for

the proxy and 1000 lines for the indexing policies

  • Event Driven

implementation with non-blocking I/O

  • Design similar to that of

Flash Web Server. Helpers for I/O and DNS lookups

17

slide-120
SLIDE 120

Implementation

  • HashCache Storage

Engine with plug-in policies

  • HashCache Web proxy

using storage engine

  • Multiple apps on same

box, sharing memory

  • 20,000 lines C code for

the proxy and 1000 lines for the indexing policies

  • Event Driven

implementation with non-blocking I/O

  • Design similar to that of

Flash Web Server. Helpers for I/O and DNS lookups

  • Balances load across

multiple disks easily and makes scaling obvious

17

slide-121
SLIDE 121

Evaluation - Web Polygraph

  • De-facto feature and performance testing tool for web proxies
  • Compare all variants of HashCache with Squid and Tiger

18

slide-122
SLIDE 122

Evaluation - Web Polygraph

  • De-facto feature and performance testing tool for web proxies
  • Compare all variants of HashCache with Squid and Tiger

18

Experiment Name Setting Configuration Comparision

slide-123
SLIDE 123

Evaluation - Web Polygraph

  • De-facto feature and performance testing tool for web proxies
  • Compare all variants of HashCache with Squid and Tiger

18

Experiment Name Setting Configuration Comparision Low End

Small School using Laptop

1.4 GHz 256 MB 60 GB SATA HashCache vs Squid vs Tiger

slide-124
SLIDE 124

Evaluation - Web Polygraph

  • De-facto feature and performance testing tool for web proxies
  • Compare all variants of HashCache with Squid and Tiger

18

Experiment Name Setting Configuration Comparision Low End

Small School using Laptop

1.4 GHz 256 MB 60 GB SATA HashCache vs Squid vs Tiger

High End

ISP with High-End Server

2 GHz 3.5 GB 5x18 GB SCSI HashCache-Log vs Squid vsTiger

slide-125
SLIDE 125

Evaluation - Web Polygraph

  • De-facto feature and performance testing tool for web proxies
  • Compare all variants of HashCache with Squid and Tiger

18

Experiment Name Setting Configuration Comparision Low End

Small School using Laptop

1.4 GHz 256 MB 60 GB SATA HashCache vs Squid vs Tiger

High End

ISP with High-End Server

2 GHz 3.5 GB 5x18 GB SCSI HashCache-Log vs Squid vsTiger

Large Disk

Large School with Mini-Tower

1.4 GHz 2 GB 2x1TB USB HashCache-Log vs HashCache-SetMem

slide-126
SLIDE 126

15 30 45 60 HC-Basic Squid HC-SetMem HC-Log Tiger

Hit Rate

Max

Hit Rate Comparison

19

slide-127
SLIDE 127

Low End Configuration

slide-128
SLIDE 128

Low End Configuration

75 150 225 300

Performance req/sec

HC-Basic Squid HC-SetMem Tiger HC-Log

slide-129
SLIDE 129

Low End Configuration

75 150 225 300

0% RAM for Index 75% 5% 50% 20%

Open Source and Commercial could index only 18 GB HashCache could index 60 GB

Performance req/sec

HC-Basic Squid HC-SetMem Tiger HC-Log

slide-130
SLIDE 130

750 1,500 2,250 3,000

Performance req/sec

Squid Tiger HashCache-Log

High End Configuration

21

5x18 GB Disk

slide-131
SLIDE 131

750 1,500 2,250 3,000

Performance req/sec

Squid Tiger HashCache-Log

40% RAM for Index 4% 18%

High End Configuration

21

5x18 GB Disk

slide-132
SLIDE 132

Index Efficiency

slide-133
SLIDE 133

Squid Tiger HC-Log HC-SetMem 1,500 3,000 4,500 6,000

Index Efficiency

Max Disk for 1GB RAM

slide-134
SLIDE 134

Squid Tiger HC-Log HC-SetMem 1,500 3,000 4,500 6,000

Index Efficiency

Max Disk for 1GB RAM

40 reqs/sec 300 300 65

slide-135
SLIDE 135

Large Disk Configuration

23

1 TB Disk

75 150 225 300 HC-Basic HC-SetMem HC-Log

Performance req/sec

slide-136
SLIDE 136

Large Disk Configuration

23

1 TB Disk

75 150 225 300 HC-Basic HC-SetMem HC-Log

Performance req/sec 150 MB 600 MB 0 MB Index

slide-137
SLIDE 137

Conclusions & Status

  • New Storage Engine & Web Cache
  • From no RAM per object to tiny no. of bits/obj
  • 6-10x better than Tiger, 20-50x vs Squid
  • Enables large disk w/ only laptop-class machine
  • More policies, details in paper
  • Suitable for developing-world usage
  • Current deployments: Ghana, Nigeria
  • Working w/ school supplier on new deployments

24

slide-138
SLIDE 138

Thank You!

abadam@cs.princeton.edu

http://tinyurl.com/hashcache

25