1 / 33

Armando Fox, Steven D. Gribble, Yatin Chawathe, Eric A. Brewer, and a cast of tens glomop@full-sail.cs.berkeley.edu

Adapting to Network and Client Variation via On-Demand Dynamic Distillation and Application Partitioning (Scalable Java Web Three-tier Buzzword…). Armando Fox, Steven D. Gribble, Yatin Chawathe, Eric A. Brewer, and a cast of tens glomop@full-sail.cs.berkeley.edu. Motivation.

kyna
Download Presentation

Armando Fox, Steven D. Gribble, Yatin Chawathe, Eric A. Brewer, and a cast of tens glomop@full-sail.cs.berkeley.edu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adapting to Network and Client Variation via On-Demand Dynamic Distillation and Application Partitioning(Scalable Java Web Three-tier Buzzword…) Armando Fox, Steven D. Gribble, Yatin Chawathe, Eric A. Brewer, and a cast of tens glomop@full-sail.cs.berkeley.edu

  2. Motivation • Mantra: Access Is the Killer App • PDA’s, smart phones, laptops, 2-way pagers... • Client variation is problematic for servers

  3. Goals • Reduce end-to-end latency when link is slow • Meaningful presentation for range of clients • Adapt to network changes at application level • New abilities for limited clients

  4. Design Principles 1. Datatype-Specific Distillation & Refinement 2. Distillation On Demand 3. Push computing into infrastructure 4. Application Partitioning

  5. Datatype-Specific Distillation • Lossy compression that preserves semantic content • Tailor content for each client 6.8x 65x 1.2 The Remote Queue Model We introduce Remote Queues (RQ), ….

  6. Refinement • Retrieve part of distilled object at higher quality Zoom in to original resolution Distilled image (by 60X)

  7. Distillation On Demand • Fine-tune content for heterogeneous devices • Target data formats • User preference profile drives distillation • Dynamic adaptation as bandwidth varies • Dynamic+caching may be more efficient than precomputing

  8. Computing in the Infrastructure • Legacy server compatibility • Partition functionality for “small” clients • Amortize resources across many clients • Can combine with distributed caching • Place inside “boundary of connectivity”

  9. Distillation Proxy Architecture Proxy front-end Servers fast LAN or SAN Image Audio Datatype- specific Distillers Video Text

  10. Effect on Latency • How expensive is distillation? • introduces latency into critical path • but, reduces transmission time

  11. Transmit Distill End-to-End Latency for Images 1.8x 3.4x 5.9x 9.9x Cartoon, 18.8 KB 446 sec Size Reduction 64x 109x 154x 214x Portrait, 492 KB 0 5 10 15 20 25 30 35 40 End-to-end Latency (sec)

  12. End-to-End Latency Reduction • End-to-end latency reduced by 3x-10x • Images: 3x-100x, 10x common • Rich text: 5x-7x (PostScript to HTML) • How important is datatype-specific distillation? • gzip images: < 3%, and takes too long Datatype-specific distillation reducesend-to-end latency, often by 10x.

  13. Extending Client Capabilities • Watch MBONE Video at home • Real-time transcoding of 1-2 Mbps source stream • Tune frame rate, frame size, color depth • 28.8 Kbs: 1-4 f/s (160 x 120, 8 bit color) • ISDN: 10-15 f/s • Read PostScript on your smart phone • PostScript to HTML distiller: 5x-7x reduction Move complexity from client to infrastructure.

  14. Back to Design Principles… 1. Datatype-Specific Distillation & Refinement 2. Distillation On Demand 3. Push computing into infrastructure 4. Application Partitioning

  15. Application Partitioning • Problem: “Porting” to small devices is out of the question. • Dissimilar development environments • Lack of Unix or Windows tools and semantics • Limited memory, CPU, filesystem • Bizarre programming model • Goal: Write as little code as possible. • What about Windows CE? and Java?

  16. Application Partitioning By Proxy Partitioning goals: • Re-use existing desktop-client code • Exploit client’s “natural” abilities when possible • GUI, pen input, built-in applications, etc.

  17. Thin Clients: Top Gun Wingman • World’s only graphical browser for PalmPilot handheld device • >5000 users worldwide • Richest feature set of any Pilot browser, many uniquely enabled by proxy • #9 out of 100 in “People’s Choice” awards

  18. T C Top Gun Wingman as a Thin Client • Intermediate-form page layout • Image scaling & transcoding • Controlled by layout engine • Device-specific ADU marshalling • Including client versioning • Originals and device-specific pages cached html $ A ADU

  19. Partitioning Summary • Exploit resources at infrastructure proxies • connectivity • Unix/desktop programming idioms, environment • allows aggressive partitioning of client code • Reuse existing desktop-client code • a lot less to debug! • Exploit client’s “natural” capabilities Move complexity away from “small” clients.

  20. Conclusions • Datatype-specific distillation: • Substantially reduces end-to-end latency • Refinement allows bandwidth management • On-demand distillation tunes content for devices, users, and networks • Computation in the infrastructure: • Simplifies clients by enabling aggressive partitioning • Enables new client capabilities Next step: scalable uniform proxy architecture.

  21. Evolution: TACC Servers • TACC Service • Transformation, Aggregation, and Caching of existing content • Customization tunes behavior to each user • Scalable TACC architecture meets the challenges of infrastructural services: • Scalability and high availability • Low incremental operating cost Rapid prototyping and deployment of new services

  22. C TranSend, a Prototype TACC Server • Lossy compression of Web images • Downloads 3-7x faster • Datatype-specific transformers • Customize quality/speed tradeoff • Everything done on the fly • TACC unifies large classes of existing services. • Search, directory, cache • Filtering, dynamic content generation, T

  23. T C Wingman as a TACC Application • PalmPilot web browser • Intermediate-form page layout • Image scaling & transcoding • Controlled by layout engine • Device-specific ADU marshalling • Including client versioning • Originals and device-specific pages cached html $ A ADU

  24. Example: Bay Area Culture Page • Aggregate and collate static content • uses dates as “landmarks” (layout independence) • configurable start, end dates, and content sites

  25. Cluster-Based Scalable Internet Services • TranSend & Wingman deployed on UCB NOW • Nearly continuous uptime since Apr. 1997 • Automatic scaling, availability, load balancing • Simple composition-based programming model • Semantics allow cluster-friendly implementation • Workers shielded from most failure modes • Focus on the content of the service • New infrastructural services easier than ever to deploy

  26. (The End)

  27. Work in Progress • NOW-based WWW proxy for large user base • Adaptive, scalable server based on Berkeley NOW • Expect ~10 nodes for~1K simultaneous users • Integration of caching and distillation • Apps for PDA’s, smart phones, set-tops, NC’s • Exploit new capabilities • Better performance for existing functionality

  28. Amortizing Distillation • Web Simulation using UCB CS client traces • Pentium Pro 200 supports ~25 simultaneous users 1000 100 10 Avg distillation latency (s) 1 0.1 0 10 20 30 40 # active users

  29. Working Proxies • Pythia Distillation Proxy for WWW • GIF/JPEG distillation, PostScript to HTML, extensible • Nokia 9000 Smart Phone Proxy • 9600 baud, 540x200x2 screen, HTML 2.0 subset • RTP Video Gateway • Watch MBONE video over slow, non-multicast link • Wink Communications ITV Web Surfer • 256x192x4 set-top, ~16KB RAM • constrained palette, proprietary text/graphics formats • Wink Engine executes simple form-based applets

  30. A Reuse Existing Desktop Code • Charon: proxied Kerberos for PDA’s [Mobicom 96] • Implementation: 45KB, ~2 weeks Kc,s Kc,tgs Tc,s Tc,tgs Tc,tgs Kc Proxy Client

  31. Benefits of Charon Partitioning • client communicates with proxy only • no need for TCP/IP • no Kerberos protocol overhead or parsing • multiplex streams onto this single secured channel • proxy manages nearly all Kerberos state • no ticket management on client • proxy may securely access other services • e.g. secure access to MIME email on PDA

  32. Leverage Client’s Natural Abilities • Integrated MIME email for Sony MagicLink • Client side uses ML’s built-in mail facility • Proxy side uses existing mh programs • ProxyMail: • – virtual folders • – mh inbox • – MIME images • – graceful disconnection

  33. MBONE WhitePad • Exploit PDA support for “notepad” paradigm • Add proxy backend to existing MBONE WB client • SRM, IP multicast, etc. invisible to WhitePad WhitePad Proxy GloMop SRM wireless network wirelessnetwork IP multicast

More Related