10-26
Programming Abstractions for Mobile-Cloud Computing

[[{"fid":"615","view_mode":"embedded_left","fields":{"format":"embedded_left","field_file_image_alt_text[und][0][value]":"Mayur Naik","field_file_image_title_text[und][0][value]":"","field_file_caption_credit[und][0][value]":"","field_file_caption_credit[und][0][format]":"full_html"},"type":"media","attributes":{"alt":"Mayur Naik","height":250,"width":200,"class":"media-element file-embedded-left"},"link_text":null}]]As the computing landscape changes to provide a more personalized and targeted experience to users, the demand for compute-intensive tasks on mobile devices such as tablets, smartphones, and smart watches increases. However, this demand coincides with diminishing returns from transistor scaling as well as battery and power constraints that may curtail mobile devices from providing new capabilities. Mobile-cloud computing is an emerging approach that boosts mobile devices by offloading compute-intensive tasks in mobile applications to more powerful machines. A central challenge in mobile-cloud computing concerns orchestrating computation and communication between the mobile device and the remote system in a manner that allows computation gains to outweigh communication costs. To enable this tradeoff, we study two simple programming abstractions that allow the remote system to preserve state across disparately offloaded segments of a computation, and to communicate with the mobile device while performing offloaded computation. To evaluate the benefits of these abstractions, we have developed an efficient algorithm based on finding a min-cut of a graph that identifies the optimal offloading pattern. I will describe our experience applying these abstractions to partition several Android applications and obtain speedup, energy savings, and improved QoS under different network settings. Our experience also yields insights into how to further accelerate mobile-cloud computing through designing new networking protocols and leveraging advances in hardware approximation and acceleration.

Mayur Naik is an Assistant Professor in the School of Computer Science at Georgia Tech since 2011. His research interests lie in areas related to programming systems, with a current emphasis on program analysis techniques for improving software quality and programmer productivity on modern computing platforms. He is a recipient of Distinguished Paper awards at FSE'15, PLDI'14, and ICSE'09, the Lockheed-Martin Dean's award for excellence in teaching at Georgia Tech (2015), and an NSF CAREER award (2013). He received his Ph.D. in Computer Science from Stanford University in 2008 and was a Research Scientist at Intel Labs, Berkeley from 2008 to 2011.

Date and Time
Monday October 26, 2015 4:30pm - 5:30pm
Location
Computer Science Small Auditorium (Room 105)
Host
Nick Feamster

Contributions to and/or sponsorship of any event does not constitute departmental or institutional endorsement of the specific program, speakers or views presented.

CS Talks Mailing List