Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Best Dissertation Symposium: Reducing user-perceived latency in mobile applications via prefetching and caching

Best Dissertation Symposium: Reducing user-perceived latency in mobile applications via prefetching and caching

Slides for my PhD dissertation "Reducing user-perceived latency in mobile applications via prefetching and caching", presented at the Best Dissertation Symposium 2021 at the University of Southern California.
Presentation on YouTube: https://youtu.be/a5oTwih9rkE

Yixue Zhao

May 13, 2021
Tweet

More Decks by Yixue Zhao

Other Decks in Research

Transcript

  1. Reducing User-Perceived Latency
    in Mobile Applications
    via Prefetching and Caching
    Yixue Zhao
    Advisor: Nenad Medvidović
    Computing Innovation Fellow (CIFellow)
    University of Massachusetts Amherst

    View Slide

  2. View Slide

  3. View Slide

  4. Latency!

    View Slide

  5. Latency Problem
    Angry Users Sales Loss
    5

    View Slide

  6. Main Cause: Network Transfer
    Network
    round trip
    Mobile App Remote Server
    Main cause of user-perceived latency is network transfer since
    mobile apps spend most time fetching data from remote servers.
    [Ravindranath et al. OSDI’12]
    6

    View Slide

  7. Effective Solution!
    Problem: Annoying loading wheel L
    Solution: Prefetching and Caching
    7

    View Slide

  8. Prefetching and Caching
    local cache
    on the phone
    immediate
    response!
    8

    View Slide

  9. Prefetching and Caching
    9
    ?
    But how?

    View Slide

  10. 10
    Literature
    Study
    Techniques
    Testing

    View Slide

  11. 1. Two categories
    Literature
    Study
    Techniques
    Testing
    11

    View Slide

  12. Two Categories
    q Content-based
    q No existing solution
    q Call for novel idea
    q History-based
    q Applicable existing solution
    q Adapt to mobile domain
    12

    View Slide

  13. q Content-based
    q No existing solution
    q Call for novel idea
    q History-based
    q Applicable existing solution
    q Adapt to mobile domain
    13
    Techniques
    Two Categories

    View Slide

  14. 14
    2. Is it a good idea?
    Literature
    Study
    Techniques
    Testing

    View Slide

  15. 15
    Literature
    Study
    Techniques
    Testing
    2. Is it a good idea?

    View Slide

  16. 16
    3a. Content-based
    (first work)
    Literature
    Study
    Techniques
    Testing

    View Slide

  17. Content-based: PALOMA
    Key Insights
    q App’s code has all we need
    q “User think time” provides opportunities
    17

    View Slide

  18. PALOMA at a High Level
    Code
    Analysis
    App
    Rewriting
    Optimized
    App
    18

    View Slide

  19. PALOMA at a High Level
    19
    Automatic
    No other information
    required
    99% latency
    reduction!
    Code
    Analysis
    App
    Rewriting
    Optimized
    App

    View Slide

  20. 20
    Literature
    Study
    Techniques
    Testing
    3b. History-based
    (practical solution)

    View Slide

  21. History-based: HiPHarness
    21
    Existing Solutions HiPHarness
    q Large prediction models
    q Big cost
    q Privacy issues

    View Slide

  22. History-based: HiPHarness
    22
    Existing Solutions HiPHarness
    q Large prediction models
    q Big cost
    q Privacy issues
    q Small prediction models!
    q Good training data
    q Enough training data

    View Slide

  23. History-based: HiPHarness
    23
    Existing Solutions HiPHarness
    q Large prediction models
    q Big cost
    q Privacy issues
    q Small prediction models!
    q Good training data
    q Enough training data
    94%
    smaller!

    View Slide

  24. HiPHarness Dataset
    q 10,000+ mobile users
    q 15+ million network requests
    q 7+ million prediction models
    24

    View Slide

  25. q Small prediction models work great!
    q Win-win (reduce size AND improve accuracy)
    q Challenged prior conclusion
    q Re-opened this area
    HiPHarness Takeaways
    25
    Less is More!

    View Slide

  26. 26
    Literature
    Study
    Techniques
    Testing
    4. Which is better?

    View Slide

  27. Challenges in Testing
    q Testing prefetching and caching techniques is very
    expensive
    q Require real-user traces (i.e., “usage-based test”)
    q hire participants
    q obtain permission
    q provide guidelines
    q provide compensation
    q …
    27

    View Slide

  28. Challenges in Testing
    q Testing prefetching and caching techniques is very
    expensive
    q Require real-user traces (i.e., “usage-based test”)
    q hire participants
    q obtain permission
    q provide guidelines
    q provide compensation
    q …
    28
    I need
    this!

    View Slide

  29. Usage-based Test Background
    q Emerging research area in Software Testing
    (since 2018)
    q State-of-the-art research:
    test-reuse techniques
    29

    View Slide

  30. FrUITeR at a High Level
    q Goal: find out who’s better
    q Reproduce existing techniques
    q Establish standard pipeline
    q Fair comparison in the same way
    A Framework for Evaluating UI Test Reuse
    30

    View Slide

  31. Challenges in Practice
    Discuss with
    authors
    31
    Study
    implementation
    Modify
    implementation
    Establish
    benchmark
    Construct
    ground truths

    View Slide

  32. Reproducibility Crisis
    32
    Common Theme
    q “It’s hard to (re)use other research tools”
    q “They don’t have documentation”
    q “It’s hard to run a research tool on my own apps”
    q …

    View Slide

  33. 33
    FrUITeR’s Open Science Contribution
    FrUITeR’s Website:
    https://felicitia.github.io/FrUITeR/

    View Slide

  34. v Prefetching & caching is good idea J
    encouraged more techniques
    Recap Dissertation Contributions
    34

    View Slide

  35. v Prefetching & caching is good idea J
    encouraged more techniques
    v First content-based (PALOMA)
    inspired follow-up work
    Recap Dissertation Contributions
    35

    View Slide

  36. v Prefetching & caching is good idea J
    encouraged more techniques
    v First content-based (PALOMA)
    inspired follow-up work
    v Make history-based practical (HiPHarness)
    challenged prior conclusion & re-opened this area
    Recap Dissertation Contributions
    36

    View Slide

  37. v Prefetching & caching is good idea J
    encouraged more techniques
    v First content-based (PALOMA)
    inspired follow-up work
    v Make history-based practical (HiPHarness)
    challenged prior conclusion & re-opened this area
    v Test which is better (FrUITeR)
    set standards for a fair playground
    Recap Dissertation Contributions
    37

    View Slide

  38. 4. Which is better?
    (FrUITeR)
    Dissertation & Beyond
    Mobile-App Performance
    38
    Software
    Testing
    Open
    Science

    View Slide

  39. Dissertation Publications
    v Literature Review & Empirical Study [ASE 2018]
    v Prefetching & Caching Techniques
    [MOBILESoft 2017 SRC ICSE 2018, MOBILESoft 2021]
    v Software Testing [ESEC/FSE 2020]
    v Open Science
    [MOBILESoft 2019 Visions, ICSE 2019 Doctoral Symposium]
    39

    View Slide

  40. Dissertation Publications
    v Literature Review & Empirical Study [ASE 2018]
    v Prefetching & Caching Techniques
    [MOBILESoft 2017 SRC ICSE 2018, MOBILESoft 2021]
    v Software Testing [ESEC/FSE 2020]
    v Open Science
    [MOBILESoft 2019 Visions, ICSE 2019 Doctoral Symposium]
    40
    https://tinyurl.com/yixuedissertation https://tinyurl.com/yixuetalks

    View Slide

  41. Thank you!
    41

    View Slide