Webcal: A Domain-specific Language for Web Caching Sumit Gulvani, Asha Tarachandani, Deepak Gupta, Dheeraj Sanghi Indian Institute of Technology, Kanpur, India Luciano Porto Barreto, Gilles.

Download Report

Transcript Webcal: A Domain-specific Language for Web Caching Sumit Gulvani, Asha Tarachandani, Deepak Gupta, Dheeraj Sanghi Indian Institute of Technology, Kanpur, India Luciano Porto Barreto, Gilles.

Webcal: A Domain-specific Language for Web Caching Sumit Gulvani, Asha Tarachandani, Deepak Gupta, Dheeraj Sanghi Indian Institute of Technology, Kanpur, India Luciano Porto Barreto, Gilles Muller, Charles Consel INRIA/IRISA - Compose group, Rennes, France

1

Outline

• • •

Limitations in existing web caches A DSL-based approach Language abstractions and Execution Model

•

Status and on-going work

2

Limited Flexibility of Web Caches

•

Existing caches provide too limited customization

–

Fixed policies

–

Do not consider changes in the execution environment

3

Reasons for Extensibility

•

Why should caches be extensible ?

–

Universal solutions do not exist

–

Customized policies tend to provide better results

–

Caches should adapt to new users and applications

4

Problems in extending existing Cache Systems

• • •

Not structured for extension purposes

–

COTS, parameters...

Development time

–

Code hacking Error-prone

–

Safety

Can we do better ?

5

A DSL-based Approach

•

Why a DSL is useful for web caching ?

–

(-) Development time:

•

Provides powerful abstractions to the programmer improving productivity

–

(+) Layer decomposition:

•

Clear separation of functional components which eases code re-use

–

(+) Safety/robustness:

• •

Improves safety via program verification Ex: message loop detection and matching, program termination

6

What do we want to program ?

•

Policy => Program family

–

Removal

–

Prefetching

–

Placement

–

Inter-cache protocols

–

Others...

7

Language Abstractions

Feature Abstraction

Cache Policy execution control Cache storage management Cache Communication Event-action model SQL-like Messages

8

Event-action Model

•

Events

–

Temporal events

–

Transition events

–

Message arrival

•

Actions

• • • •

Cache storehouse management: SQL-like Communication send Cache statements remove , prefetch, etc.

Event-action statements: jump , return , end

•

Others: definitions, assignments, if-then-else, etc.

9

Programming in WebCal

•

Define cache policies as a Finite State Machine (FSM)

–

Intercache protocol

•

Define policy events and their predicates

–

Timeouts

•

Write actions to be executed when an event is triggered

Examples

10

Removal Policy define MAX_CACHE_SIZE 128Mb; FSM removal [ start { entrycode { event E1 = cacheSize > 0.8*MAX_CACHE_SIZE; } E1 -> ( remove from DOC_INFO_TABLE where contentType == "gif" until cachesize < 0.5*MAX_CACHE_SIZE; ) } ]

11

Prefetching Policy FSM prefetch [ start { entrycode { event E1 = at 00:00:00 hours; } E1 -> ( if cacheSize < 0.7*MAX_CACHE_SIZE { prefetch ("http://www.Mysite.Com"); ) } ]

12

Webcal Execution Model

DSL Compiler

WebCal Program Caching Policy in Java

Policies

Jigsaw Library Event-action Backbone

Web Cache

13

Status and on-going Work

•

Webcal:

–

Working prototype using Jigsaw

–

Event-action backbone / Compiler

–

Tested policies: prefetching, removal, placement

•

Experiments

–

Inter-cache protocols

14