Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com...

22
Selective Early Request Selective Early Request Termination for Busy Internet Termination for Busy Internet Services Services Jingyu Zhou and Tao Yang Jingyu Zhou and Tao Yang Ask.com Ask.com University of California, Santa Barbara University of California, Santa Barbara

Transcript of Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com...

Page 1: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Selective Early Request Selective Early Request Termination for Busy Internet Termination for Busy Internet

ServicesServices

Jingyu Zhou and Tao YangJingyu Zhou and Tao Yang

Ask.comAsk.comUniversity of California, Santa BarbaraUniversity of California, Santa Barbara

Page 2: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Multi-tier Internet ServicesMulti-tier Internet ServicesIndex serversIndex servers(partition 1)(partition 1)

Doc Doc serversservers

Query FrontendsQuery Frontends

Local-areaLocal-areanetworknetwork Index serversIndex servers

(partition 2)(partition 2)

Firewall/Firewall/Web switchWeb switch

Index serversIndex servers(partition 3)(partition 3)

Query Query cachescaches

Page 3: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Multi-thread Programming Multi-thread Programming Model for Request Model for Request

ProcessingProcessing• Multi-threaded

service tier– E.g., Apache, IIS,

BEA WebLogic, and Neptune

Network dispatcher

Thread 1

Thread 2

Thread 3

Thread N

Get request

Process request

Send result

Thread 3

?

AdmissionController

RequestQueue

Page 4: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Problem StatementProblem Statement• Service-level agreement

– E.g., 99% requests within 1s

• A QoS challenge to be met during– Flash-crowd type of high request rate– Size distribution shift: percentage of

long requests increases

Page 5: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Motivating Example:Motivating Example:Size Distribution ShiftSize Distribution Shift

• Settings– 50 requests/s– Two types of

requests: 5ms and 500ms

– Long requests vary from 0.1% to 10%

• Results– Significant throughput

loss– Magnitude increase of

response time – Admission control

alone isn’t enough

Page 6: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Current TechniquesCurrent Techniques• Admission control

– Response time feedback (e.g., SEDA, Quorum)– Bounding request queue length (e.g., Neptune)– Policing TCP SYN packets (e.g., [Voigt’01]

• Adaptive service degradation– E.g., reduce image quality

• Size-based scheduling– Only for static content– File size as estimator

Page 7: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

SERT Idea & ChallengesSERT Idea & Challenges• Idea

– Request-aware: differentiate long and short requests

– Early termination: abort long requests during overload

• Challenges– Detect long/short dynamic requests– Adaptive selection of termination threshold– Resource accounting for safety– Simplicity in programming

Page 8: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

SERT ArchitectureSERT Architecture

Thread Pool

Request Queue

Re so

ur ce

Acce ss

Resources

Memory Lock File ...

Resource Accounting ModuleTermination

Handler

Invoke

Set/Cancel Timer Timer & TerminatorTerminate

Threshold Controller

Page 9: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Resource AccountingResource Accounting• Targets a class of requests that are

– Read-only– Stateless

• Resources– Memory: track heaps and memory

mapped areas– Locks: use an integer counter– Sockets & file descriptors

Page 10: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Threshold Controller Adjusts Threshold Controller Adjusts Termination ThresholdTermination Threshold

• Ideas– During light load allow execute longer: large threshold– During heavy load terminate earlier: small threshold– Load index p is throughput loss

• Formula– Threshold=LB + F(p)×(UB-LB), where:

timeout range is [LB, UB]

Ter

min

atio

n T

hres

hold

Throughput Loss

UB

LB

LW HW

α=1

α>1

0

)(

1

)(

LWHW

pHWpF

p <= LW

LW < p < HW

p >= HW

Page 11: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Implementation & UsageImplementation & Usage• Intercept GLIBC/Pthread functions

– Memory, Pthread locks, etc.

• POSIX signal for terminations• Use sigsetjmp()/siglongjmp()• Neptune middleware uses SERT APIs• Applications link the SERT library

with no code changes

Page 12: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

SERT APIsSERT APIs• Start timer thread and set signal type

extern int SERT_init_timer(int signum);

• Start & end of a requestextern void SERT_start();extern void SERT_end();

• Set timeout value and controller parametersextern void SERT_set_args(struct sert_arg *);

• Set the rollback pointextern void SERT_register_rollbackpoint(void *);

Page 13: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

A Pseudo-code ExampleA Pseudo-code Examplevoid worker(){ while (1) { Request *request = get_request(); jump_buf env;

if (sigsetjmp(&env, 1) == 0) { SERT_register_rollbackpoint(&env); } else { /* longjmp back, resources has already been deallocated */ continue; }

SERT_start(); process_request(request); SERT_end();

send_result(request); }}

Page 14: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Experimental SettingsExperimental Settings• Hardware

– 9 dual PIII 1.4GHz machines– Each has 4 GB RAM, 10K RPM SCSI disk– Fast Ethernet

• Applications from Ask.com– Index matching: find web pages containing key words;

heavy-tailed; 2.1 GB warm data in memory– Ranking: rank page importance; exponential; in memory

App. Ave. (ms) 90% (ms) Max. (ms)

Index Match 23.6 46 2,732

Ranking 93 212 14,035

Page 15: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Size Distribution ShiftSize Distribution Shift

• During shift, about 10% requests are 500+ms• SERT

– 209.1% higher throughput– 54.7% response time reduction

Page 16: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Ranking Service EvaluationRanking Service Evaluation

Page 17: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Evaluation of Threshold Evaluation of Threshold Controller for Ranking Controller for Ranking

ServiceService

• Adaptive controller vs. fixed threshold of 0.5s, 3.0s, 15s

Page 18: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Evaluation of Threshold Evaluation of Threshold Controller for Index Controller for Index

MatchingMatching

• Adaptive controller vs. fixed threshold of 0.5s, 3.0s, 15s

Page 19: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Related WorkRelated Work• Real-time database systems

[Kuo’00,Lin’90,Shu’94]– Higher priority transaction aborts lower ones– UNDO/REDO log for recovery

• Recoverable memory libraries – Recoverable virtual memory [Saty.’94], Rio

Vista [Lowell’97]– Application modifications needed

• Process checkpointing and rollback– Fault tolerance[Li’90], program replay

[Srinivasan’04] and debugging [Qin’05]

Page 20: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

ConclusionsConclusions• Contribution: an early termination

scheme for busy Internet services– Dynamically select termination

threshold– Safely terminate requests early– Provide API for multi-threaded services

• Future work– Perform cooperative early-termination

across different nodes and tiers

Page 21: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

Questions?Questions?

Page 22: Selective Early Request Termination for Busy Internet Services Jingyu Zhou and Tao Yang Ask.com University of California, Santa Barbara.

CDF of Response Time during CDF of Response Time during Size Distribution ShiftSize Distribution Shift

E.g., completed within one second– SERT 81.7%– AC 45.3%