mobile software development framework adaptive mobile applications n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Mobile Software Development Framework: Adaptive Mobile Applications PowerPoint Presentation
Download Presentation
Mobile Software Development Framework: Adaptive Mobile Applications

Loading in 2 Seconds...

play fullscreen
1 / 72

Mobile Software Development Framework: Adaptive Mobile Applications - PowerPoint PPT Presentation


  • 197 Views
  • Uploaded on

Mobile Software Development Framework: Adaptive Mobile Applications. 10/23/2012 Y. Richard Yang. Outline. Admin Mobile cloud services Push notification service Track service Storage service Adaptive mobile applications. Admin. HW3 Project ideas. Recap: Example Mobile Cloud Services.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Mobile Software Development Framework: Adaptive Mobile Applications


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
    Presentation Transcript
    1. Mobile Software Development Framework: Adaptive Mobile Applications 10/23/2012 Y. Richard Yang

    2. Outline • Admin • Mobile cloud services • Push notification service • Track service • Storage service • Adaptive mobile applications

    3. Admin. • HW3 • Project ideas

    4. Recap: Example Mobile Cloud Services • Push notification service • Location based services, e.g., • Track service (supporting location based services) • Storage services, e.g., • iCloud, Google Drive, Dropbox • Proxy services, e.g., • Kindle Split Browser • Recognition/synthesis services

    5. Example: Push Notification Service • A single persistent connection between Push Notification Service (PNS) and each mobile device • Authorization • App developer registers project with PNS • App on device registers with PNS and forwards registration to PNS • App server sends to registered apps on devices • Scalability, fault tolerance, generality • Send only notification, not data • For reliability, use soft state, not hard state

    6. Example: Track Service Creation • TC MakeCollection(GroupCriteria criteria, boolremoveDuplicates) Manipulation • TC JoinTrackCollections (TC tCs[], boolremoveDuplicates) • TC SortTracks (TC tC, SortAttributeattr) • TC TakeTracks(TC tC, int count) • TC GetSimilarTracks (TC tC, Track refTrack, float simThreshold) • TC GetPassByTracks (TC tC, Area[] areas) • TC GetCommonSegments(TC tC, float freqThreshold)

    7. API Usage: Ride-Sharing Application • // get user’s most popular track in the morning • TC myTC = MakeCollection(“name = Maya”, [0800 1000], true); • TC myPopTC = SortTracks(myTC, FREQ); • Track track = GetTracks(myPopTC, 0, 1); • // find tracks of all fellow employees • TC msTC = MakeCollection(“name.Employer = MS”, [0800 1000], true); • // pick tracks from the community most similar to user’s popular track • TC similarTC = GetSimilarTracks(msTC, track, 0.8); • Track[] similarTracks = GetTracks(similarTC, 0, 20); • // Verify if each track is frequently traveled by its respective owner • User[] result = FindOwnersOfFrequentTracks(similarTracks);

    8. Outline • Admin and recap • Mobile Cloud Services • Push notification service • Track service • Storage service

    9. Storage/Sync Service • Store content in cloud to be accessible by multiple selected devices • Multiple deployed services, e.g., • iCloud • Google Drive • DropBox

    10. Storage/Sync Service Example: iCloud • Backend • Hosted by Windows Azure and Amazon AWS • Uses HTTPS connect to servers • More details: see iCloud sessions • https://developer.apple.com/videos/wwdc/2012/?id=209

    11. Key Design Points for Mobile Storage • Data models • what data structure to put on mobile storage • Read miss • stalls progress (user has to wait for data) • Synchronization/consistency • user may see outdated data • user modification may generate conflicts • Good topic for investigation/design projects • See backup slides for some pointers

    12. Outline • Admin and recap • Adaptive mobile applications

    13. Adaptive Mobile Applications • An adaptive mobile application adjusts the amounts as well as the locations of resources that it consumes • The objective typically is to • Improve responsiveness • Reduce energy consumption at device

    14. Amazon Silk Split-Browser • Dynamically split browsing work between local device and Amazon cloud http://www.extremetech.com/mobile/97587-amazon-silk-bridging-the-gap-between-desktop-and-tablet-web-browsers

    15. Adaptive Mobile App: Big Picture in-netproxy device serviceserver On-device app/sys adaptation Device-aware service partition, delivery Service partition

    16. Adaptive Mobile Applications: Overview • This is a large topic • We will look at an example on each entity in-netproxy device serviceserver On-device app/sys adaptation Device-aware service partition, delivery Service partition

    17. Outline • Admin and recap • Adaptive mobile applications • Device adaptation

    18. Discussion • What resource parameters/aspects of a mobile device can be controlled? http://www.wired.com/gadgetlab/2012/09/iphone5-spec-showdown/

    19. Example: iphone 5 downloading idle iPhone 5 controls the CPU frequency http://www.anandtech.com/show/6324/the-iphone-5-performance-preview

    20. Iphone5 A6 Processor http://www.zdnet.com/inside-apples-a6-processor-7000004786/

    21. CPU Power Model • The power consumption rate P of a CMOS processor satisfies where k is a constant, C the capacitance of the circuit, f the CPU frequency, and V the voltage • When the supply voltage V is lower, charging/discharging time is longer; thus frequency should be lower => P ~ O(V3)

    22. CPU Power Model Question: • Suppose P ~ V3. Do we save energy by reducing freq/vol to 1/3, but finish the same job? • What if linear: P ~ V? throughput

    23. Dynamic Voltage Scaling • For convex power consumption rate, to minimize power for finishing a job, one may lower the freq/vol to close to 0 • Constraint • bound response time (e.g., deadline of multimedia playback)

    24. Example Architecture: GraceOS multimedia applications monitoring requirements scheduling scheduler demand distribution profiler time constraint speed adaptor speed scaling CPU

    25. b1 b2 Demand Prediction • Online profiling and estimation: count number of cycles used by each job CDF F(x) = P [Xx] 1 cumulative probability Cmin=b0 br=Cmax br-1

    26. Demand Stability Demand distribution is stable or changes slowly

    27. b1 b2 CPU Resource Allocation How many cycles to allocate to amultimedia job? Application should meet percent of deadlines  eachjob meets deadline with probability   allocate C cycles, such that F(C)=P[XC]   1  cumulative probability C F(x) b0 br br-1

    28. How Fast to Run the CPU? • Goal: provides Ci cycles during a time duration of Pi • Fact: since power is a convex function of frequency, if a job needs C cycles in a period P, then the optimal frequency is C/P, namely the lowest constant frequency.

    29. Why Not Uniform Speed? • Intuitively, uniform speed achieves • - minimum energy if use the allocated exactly • However, jobs use cycles statistically • - often complete before using up the allocated • - potential to save more energy •  stochastic DVS

    30. b1 b2 Stochastic DVS • For each job • find speed Sxfor each unit allocated cycle x CDF F(x) = P [Xx] 1 cumulative probability Cmin=b0 br=Cmax br-1

    31. suchthat Stochastic DVS • For each job • find speed Sxfor each allocated cycle x • time is 1/Sx and energy is (1 - F(x))S3x

    32. 400 speed (MHz) 200 100 Job 1 2.5x106 cycles Job 2 1.2x106 cycles Example Speed Schedule cycle: speed: 100 MHz 200 MHz 400 MHz Observation: speed up the processor with increasing clock cycles

    33. A1 B1 A1 B1 DVS • context switch • Store speed for switched-out • New speed for switched-in speed up within job switch back A1 speed A2 A1 execution

    34. Implementation • Hardware: HP N5470 laptop • Athlon CPU (300, 500, 600, 700, 800, 1000MHz) • round speed schedule to upper bound system call process control block • DVS modules • PowerNow speed scaling • Soft real-time scheduling standard Linux scheduler • Extension to Linux kernel 2.4.18 • 716 lines of C code

    35. Evaluation: Normalized Energy Reduces power consumption However, limited due to few speed options

    36. Odyssey: An Example Client Architecture • Application indicates resource capabilities in its request to service • Operating system maintains/monitors available resources • no need to have each application re-implement the monitoring • An application registers a resource descriptor and an upcall event handler with the OS • OS notifies the application upon detecting resource changes • Application adjusts requests to the server

    37. Outline • Admin and recap • Adaptive mobile applications • Device adaptation • Server adaptation

    38. Server Adaptation • It is a good practice to design your app so that • Client notifies the server about its capability • Server adapts according to client capability

    39. Example: Content Distribution Server • Server has many dimensions to adapt image/video fidelity: • frame rate (for video) • image size • quality of image • Usage: e.g., data acceleration offered by many carriers

    40. Frame Encoding: Block Transform Encoding DCT

    41. Discrete Cosine Transform 4C(u)C(v) n-1 n-1 (2j+1)up (2k+1)vp f(j,k) cos å å cos F[u,v] = n2 2n 2n j=0 k=0 where 1 for w=0 Ö 2 C(w) = for w=1,2,…,n-1 1

    42. more detail Basis Functions of DCT • An image is a superposition of basis functions • DCT computes the contribution of each basis function • - F[u,v]: for the basis • function at position [u, v] • Q: If you want to change encoding rate, what mayyou do?

    43. Huffman Code Run-length Code Frame Encoding: Block Transform Encoding DCT Quantize Zig-zag 011010001011101...

    44. Example: MPEG Block Encoding DC component Quantize DCT original image AC components zigzag run-length and Huffman encoding of the stream 10011011100011... coded bitstream < 10 bits (0.55 bits/pixel)

    45. Compressed(22 KB, 12:1) Uncompressed(262 KB) Compressed(6 KB, 43:1) Examples

    46. Outline • Admin and recap • Adaptive mobile applications • Client adaptation • Server adaptation • Proxy and job partition

    47. Discussion • When may a proxy help? in-netproxy device in-netserver

    48. Example: Round-Trip-Time Effects server device

    49. Example: Round-Trip-Time Effects server device

    50. Measured Benefit of Reduced Latency