cellular networks and mobile computing coms 6998 -11, fall 2012

Download Cellular Networks and Mobile Computing COMS 6998 -11, Fall 2012

Post on 25-Feb-2016

19 views

Category:

Documents

1 download

Embed Size (px)

DESCRIPTION

Cellular Networks and Mobile Computing COMS 6998 -11, Fall 2012. Instructor: Li Erran Li ( lierranli@cs.columbia.edu ) http://www.cs.columbia.edu/ ~lierranli/coms6998-11Fall2012/ 10 /16/ 2012: Smart phone virtualization and storage. Announcements. - PowerPoint PPT Presentation

TRANSCRIPT

Narrowing the Beam: Lowering Complexity in Cellular Networks by Scaling Up

Cellular Networks and Mobile ComputingCOMS 6998-11, Fall 2012Instructor: Li Erran Li (lierranli@cs.columbia.edu)http://www.cs.columbia.edu/~lierranli/coms6998-11Fall2012/10/16/2012: Smart phone virtualization and storage1 AnnouncementsPreliminary project report due next Friday, October 26th10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)SyllabusMobile App Development (lecture 2,3)Mobile operating systems: iOS and Android Development environments: Xcode, Eclipse with Android SDKProgramming: Objective-C and android programmingSystem Support for Mobile App Optimization (lecture 4,7)Mobile device power models, energy profiling and ebug debuggingCore OS topics: virtualization, storage and OS support for power and context managementInteraction with Cellular Networks (lecture 1,5, 8) Basics of 3G/LTE cellular networksMobile application cellular radio resource usage profilingMeasurement-based cellular network and traffic characterizationInteraction with the Cloud (lecture 6,9)Mobile cloud computing platform services: push notification, iCloud and Google Cloud MessagingMobile cloud computing architecture and programming modelsMobile Platform Security and Privacy (lecture 10,11,12)Mobile platform security: malware detection, attacks and defensesMobile data and location privacy: attacks, monitoring tools and defenses10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Smart Phone Virtualization: on DevicesCells video: http://www.youtube.com/watch?v=i_F92AS9a6s

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Smart Phone Virtualization: on ServersMegaDroidOff-the-shelf PCs emulates a town of 300,000 Android phones Emulate cellular and GPS behaviorUsage: Tracing the wider effects of natural disastersHacking attemptsSoftware bugsAssist real phone (e.g. offload computation, virus check)Video: http://www.engadget.com/2012/10/03/sandia-labs-megadroid-project-simulates-300-000-android-phones/10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)

Personal Phone

Business Phone

Developer Phone

Childrens Phone10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.

Virtualization10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Bare-Metal HypervisorOSKernelOSKernelOSKernel

Hypervisor / VMMHardwareServer Virtualizationpoor device support / sharing10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.OSOSHost OS KernelOSHypervisor / VMM

Hosted HypervisorDesktop VirtualizationkernelmoduleHardware

host user spacepoor device performanceemulateddevices10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.OS KernelUser Space SDKNon-Virtualization

no standard appsless securecustom user space API for isolated appsHardware

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.

device diversity

mobile usage modelgraphics-accelerated UIKey ChallengesPowerButtonsWiFiGPSCell RadioFramebufferGPUBinder IPCTouchscreenAccelerometerCompasspmemmicrophoneheadsetspeakerscamera(s)h.264 accel.

RTC / Alarms10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.CellsmicrophoneKey Observation

large: lots of windows/appssmall:one app at a time

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.CellsmicrophoneKey Observationscreen real-estate is limited, and mobile phone users are accustomed to interacting with one thing at time10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.CellsmicrophoneUsage Modelforeground/ background10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Cellsmicrophonemultiple, isolated virtual phones (VPs) on a single mobile device100% device support in each VPunique phone numbers - single SIM!accelerated 3D graphics!Complete Virtualization10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Cellsmicrophoneless than 2% overhead in runtime testsimperceptible switch time among VPsEfficient Virtualization10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.LinuxKernel

VP 3

VP 2

VP 1

Single Kernel: Multiple VPsvirtualize at OS interfaceisolated collectionof processes10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.LinuxKernelSingle Kernel: Device SupportPowerCell RadioBinder IPCAccelerometerCompasspmemspeakerscamera(s)hw codecRTC / AlarmsVP 3

VP 2

VP 1

ButtonsWiFiGPSFramebufferGPUTouchscreenmicrophoneheadset

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.LinuxKernelSingle Kernel: Device Supportall VPs access the same device simultaneouslyVP 3

VP 2

VP 1

SensorsInputAndroid...Audio/Video

RTC / AlarmsWiFiCell RadioFramebufferPowerGPU10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.LinuxKernelPowerWiFiCell RadioFramebufferGPURTC / AlarmsSensorsInputAndroid...Audio/VideoDevice Namespacessafely, correctly multiplex access to devices

device namespacesVP 3

VP 2

VP 1

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Cells10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)+device namespacesforeground/ background=Complete, Efficient, TransparentMobile VirtualizationCourtesy: Jason Nieh et al.LinuxKernel

PowerWiFiCell RadioFramebufferGPURTC / AlarmsSensorsInputAndroid...Audio/VideoGPUFramebufferdevice namespacesCell Radioefficient basic graphics virtualizationhardware accelerated graphicsproprietary/closed interface10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.

virtual addressesphysical addressesscreen memoryApproach 1: Single Assignment

Framebuffer10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Framebuffervirtual state

screen memoryApproach 2: Emulated Hardware

emulated framebuffer

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.virtual addressesphysical addressesmux_fb

screen memory

VP 3

backgroundmux_fb presentsidentical deviceinterface to all VPsusing device namespacesswap virt addr mappings:point to different phys addr

Cells: Device NamespacesVP 1

FramebufferVP 2

backgroundforeground10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.

screen memoryAccelerated GraphicsMMUcontextVP 2

OpenGLVP 1

contextOpenGLOpenGLcontextVP 3

graphics virtual addressesphysical addressesFramebufferGPUVP: just a setof processes!process isolation10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.

GPUMMUgraphics virtual addressesphysical addresses

screen memoryDevice Namespace + Graphics ContextcontextVP 2

OpenGLVP 1

contextOpenGLOpenGLcontextVP 3

background

foregroundbackground10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)LinuxKernelDriversBaseband: GSM / CDMARilDVendor RIL

VoIPVoIPVoIP?Courtesy: Jason Nieh et al.LinuxKernelGSM/CDMARilDDual-SIM?Vendor RIL

GSM / CDMADriversDriversRilDVendor RIL10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Root NamespaceLinuxKernelvendor APIDriversBaseband: GSM / CDMACells RILRilDVP 2

Cells RILRilDVP 1

RilDCells RILVP 3

Cells: User-Level Namespace ProxybackgroundbackgroundforegroundVendor RILproprietary hardware/software requires a well-defined interface.CellD10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Experimental ResultsSetupNexus Sfive virtual phonesoverhead vs. stock Android 2.3

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Experimental ResultsSetupCPU Linpackgraphics Neocorestorage Quadrantweb browsing Sun Spidernetworking Custom WiFi Test10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Runtime Overhead

Negligible Overhead In 3D Measurements!Experimental ResultsCourtesy: Jason Nieh et al.device namespacessafely and efficiently share devicesforeground / backgrounddesigned specifically for mobile devicesimplemented on Androidless than 2% overhead on Nexus SCellsComplete, Efficient, TransparentMobile Virtualization10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.More Infocellrox.com

cells.cs.columbia.edu

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)Courtesy: Jason Nieh et al.Revisiting Storage for Smartphones

Hyojun KimCristian UngureanuNitin Agrawal

10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)36Backgroundblktrace: collect block level traces for device I/O monkeyrunner installed at android-sdk-macosx/tools/monkeyrunnerfunctional testing framework for Interactive Android applications10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)blktraceBlock IO layer10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)

blktrace (Contd)10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)

Source: Alan D.Brunellhttp://www.gelato.org/pdf/apr2006/gelato_ICE06apr_blktrace_brunelle_hp.pdfblktrace (Contd)blktrace sample traces10/16/12Cellular Networks and Mobile Computing (COMS 6998-11)

Source: Alan D.B

Recommended

View more >