View
219
Download
4
Embed Size (px)
Citation preview
Proxy Cache EngineProxy Cache Engine
Performed byPerformed by:: Artyom BorzinArtyom Borzin
Stas LapchevStas Lapchev
InstructorInstructor: : Hen BroodneyHen Broodney
In cooperation with Magnifier Ltd.In cooperation with Magnifier Ltd.
לישראל טכנולוגי מכון - לישראלהטכניון טכנולוגי מכון - הטכניון חשמל להנדסת חשמלהפקולטה להנדסת הפקולטה מהירות ספרתיות למערכות מהירותהמעבדה ספרתיות למערכות המעבדה
Technion - Israel Institute of TechnologyTechnion - Israel Institute of TechnologyDepartment of Electrical Engineering Department of Electrical Engineering High Speed Digital Systems LaboratoryHigh Speed Digital Systems Laboratory
BackgroundBackground
Basic Network SchemeBasic Network SchemeClientClient
ClientClient
ClientClient
Routing Routing ServerServer
Proxy Proxy ServerServer
Request Routing1. Local Network2. Global Network
Web Web ServerServer
File/Page supply
Request Arrival
Proxy Cache QueryIF Found Then Send the file to the Client
ELSE Send the request to the destination Web ServerEND
BackgroundBackground
Basic Network SchemeBasic Network SchemeClientClient
ClientClient
ClientClient
Routing Routing ServerServer
Proxy Proxy ServerServer
Web Web ServerServer
Response Routing
Stores the file in local cache
Response Arrival
Background (cont.)Background (cont.)
Proxy Server AdvantagesProxy Server Advantages Request Latency ReductionRequest Latency Reduction Network Traffic ReductionNetwork Traffic Reduction
Main Proxy Server DrawbacksMain Proxy Server Drawbacks Latency growth with database sizeLatency growth with database size Low system throughputs Low system throughputs High load on CPUHigh load on CPU Poor cost/performance ratioPoor cost/performance ratio
System Improvement PrincipleSystem Improvement Principle
CPUCPU
Proxy ServerProxy Server
DISK
• Standard Proxy Server Standard Proxy Server ImplementationImplementation
Req
uest
/Res
pons
e
System Improvement PrincipleSystem Improvement Principle
CPUCPU
Proxy ServerProxy Server
DriverDriver
Proxy Cache Proxy Cache EngineEngine
DISK
• Suggested System Suggested System ConfigurationConfiguration
Req
uest
/Res
pons
eCPUCPU
Proxy ServerProxy Server
DISK
• Standard Proxy Server Standard Proxy Server ImplementationImplementation
Req
uest
/Res
pons
e
Project GoalsProject Goals
PerformancePerformance Fast search proceduresFast search procedures Large database Large database Smart memory managementSmart memory management Advanced tuning capabilitiesAdvanced tuning capabilities
Information securityInformation security Launch-and-Forget protocolLaunch-and-Forget protocol
Low CPU loadLow CPU load
Validation environmentValidation environment Function AnalyzerFunction Analyzer
System Request FlowSystem Request Flow
Host
CustomerRequest
DetailedResponse
SW Driver
InstructionEncoding
Proxy Cache Engine
ResponseDecoding
Error
Request Receive Request Receive & Validity Test& Validity Test
RequestRequestEncryptionEncryption
DatabaseMaintenance
Response & StatusResponse & Status
Request Limit Request Limit CompressionCompression
DatabaseAccess
SoftwareSoftware HardwareHardware
Function Analyzer
Block Diagram Block Diagram
FPGAFPGA
SDRAMSDRAM
Associative MemoryController
PCI ControllerPower Power SuppliersSuppliers
SSRAMSSRAM
ClockClockGeneratorGenerator
PCI BusPCI Bus
HOST
FPGA Block DiagramFPGA Block Diagram
Local Bus Interface
Request Decoder & Validity Tester
Response Formatter
Compression &Compression &EncryptionEncryption
Execution UnitExecution Unit
Auxiliary TableAuxiliary Table
Database Database ManagerManager
DatabaseDatabaseAccess ControllerAccess Controller
Associative Memory Controller SSRAM
Block Diagram Block Diagram
FPGAFPGA
SDRAMSDRAM
Associative MemoryController
PCI ControllerPower Power SuppliersSuppliers
SSRAMSSRAM
ClockClockGeneratorGenerator
PCI BusPCI Bus
HOST
Function AnalyzerFunction Analyzer Request/EventRequest/Event GeneratorGenerator
Creates various request scenariosCreates various request scenarios Creates streams of requests with pseudo random length, rate and Creates streams of requests with pseudo random length, rate and
containcontain
ControlControl System dynamic tuning based on collection of statistical dataSystem dynamic tuning based on collection of statistical data Monitoring of system parametersMonitoring of system parameters
Response AnalyzerResponse Analyzer Decoding of proceeded results Decoding of proceeded results System response time analyses System response time analyses
Graphic User Interface (GUI)Graphic User Interface (GUI)
Environment ValidationEnvironment Validation
Function Analyzer Panel Function Analyzer Panel
ControlControl Request/Event Request/Event GeneratorGenerator
ResponseResponseAnalyzerAnalyzer
Development StepsDevelopment Steps
IdeaIssue
StudyingAlgorithm
DevelopmentArchitecture
Logic Design
Simulation
Production& Assembly
System Integration
PCB Design
Software Design
Project UniquenessProject Uniqueness
Unique technologies integrationUnique technologies integration Performance independence on database loadPerformance independence on database load Launch-and-Forget communication protocolLaunch-and-Forget communication protocol Modular system architecture fits to several Modular system architecture fits to several
applicationsapplications High system performanceHigh system performance Good cost/performance ratioGood cost/performance ratio
Cost/Performance AnalysisCost/Performance Analysis
120
130
300
300
800
800
2400
0 500 1000 1500 2000 2500 3000
Stratacache-D
Squid-2.4.D4
Dell-100
Compaq-b17
Aratech-2000
F5-EDGE-FX
Compaq-C2500
request/second
7
4
3
4
13
10
72
0 20 40 60 80
K $
Cost/Performance AnalysisCost/Performance Analysis
120
130
300
300
800
800
2400
25000
0 5000 10000 15000 20000 25000 30000
Stratacache-D
Squid-2.4.D4
Dell-100
Compaq-b17
Aratech-2000
F5-EDGE-FX
Compaq-C2500
Proxy Cache Engine
request/second
7
4
3
4
13
10
72
3
0 20 40 60 80
K $
The system is operational!The system is operational!