12
CrowdMeter: An Emulation Platform For Performance Evaluation Of Crowd-Sensing Applications Manoj R. Rege Telecommunication Networks Group Technische Universit¨ at Berlin. Berlin, Germany [email protected] Vlado Handziski Telecommunication Networks Group Technische Universit¨ at Berlin. Berlin, Germany [email protected] Adam Wolisz Telecommunication Networks Group Technische Universit¨ at Berlin. Berlin, Germany [email protected] Abstract In this paper we introduce CrowdMeter, an emulation platform for predicting performance of large-scale crowd-sensing applications. CrowdMeter architecture follows natural decomposition of the application under evaluation and provides features for emulation of mobile devices and access network links. It leverages virtualization and cloud-based infrastructure-as-service resources to offer necessary scaling. We instantiate CrowdMeter architecture using off-the-shelf components and public-cloud resources, and perform a preliminary evaluation of its emulation fidelity focused on the communication services. The results confirm that CrowdMeter can successfully capture important aspects of real-world performance of different wireless access links. They also illustrate the ease-of-use and the scalability of the platform in terms of number of emulated mobile devices. Author Keywords Crowd-sensing, Emulation, Cloud, Virtualization ACM Classification Keywords C.4 [Performance Of Systems]: Measurement techniques General Terms Design, Experimentation, Human Factors, Performance

CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

CrowdMeter: An EmulationPlatform For PerformanceEvaluation Of Crowd-SensingApplications

Manoj R. RegeTelecommunication NetworksGroupTechnische Universitat Berlin.Berlin, [email protected]

Vlado HandziskiTelecommunication NetworksGroupTechnische Universitat Berlin.Berlin, [email protected]

Adam WoliszTelecommunication NetworksGroupTechnische Universitat Berlin.Berlin, [email protected]

AbstractIn this paper we introduce CrowdMeter, an emulationplatform for predicting performance of large-scalecrowd-sensing applications. CrowdMeter architecturefollows natural decomposition of the application underevaluation and provides features for emulation of mobiledevices and access network links. It leveragesvirtualization and cloud-based infrastructure-as-serviceresources to offer necessary scaling. We instantiateCrowdMeter architecture using off-the-shelf componentsand public-cloud resources, and perform a preliminaryevaluation of its emulation fidelity focused on thecommunication services. The results confirm thatCrowdMeter can successfully capture important aspects ofreal-world performance of different wireless access links.They also illustrate the ease-of-use and the scalability ofthe platform in terms of number of emulated mobiledevices.

Author KeywordsCrowd-sensing, Emulation, Cloud, Virtualization

ACM Classification KeywordsC.4 [Performance Of Systems]: Measurement techniques

General TermsDesign, Experimentation, Human Factors, Performance

Page 2: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

IntroductionThe multitude of sensors available on the modern mobiledevices have propelled crowd-sensing as promisingapproach for collecting valuable information about ourphysical environment, serving as enabler for manyinnovative applications in diverse domains [4] likeenvironmental monitoring, health care, social networking,transportation, etc.

The rise of crowd-sensing applications can be primarilyattributed to advancement of mobile devices asmulti-utility platforms, easy and low cost availability ofcloud technology and ubiquitous network connectivity.The majority of existing crowd-sensing applications,typically organize the technology stack in three distincttiers: a device tier that encompasses the applicationcomponents that run locally on the user’s mobile devices,a cloud tier that encompasses the back-end services, andan interconnection tier that links them. This technologicalbase is complex and characterized by high level ofheterogeneity. In an attempt to address this problem,several platforms have been recently proposed that offercustomized programming abstractions for developing anddeploying crowd-sensing applications [3, 10, 11]. Theyfocus on hiding the underlying heterogeneity and onproviding support for high-level specification of commonfunctions like description, distribution and scheduling ofcrowd-sensing tasks, management of participationincentives, etc.

Such support for developing the desired functionality is,however, not paralleled by any support for prediction ofthe performance of the developed crowd-sensingapplication. Various micro-level design decisions related toon-device data sensing, processing and storage, theiroffloading to cloud-based services, type and quality of the

access links, user mobility, behavioral dynamics, etc. canhave profound and complex effect on performance of theapplication. As a result, the true performance is “justexperienced“ only after full deployment, when costs fortaking corrective actions are very high.

The prevailing approach for predicting performance ofcrowd-sensing applications today involves recruitingvolunteers and performing pre-deployment tests runs.While such pilot tests with volunteers are valuable forvalidating the basic functional correctness of theapplication, they provide only a first, simplisticinformation about performance as - by definition - theyignore the scaling factor and usually do not reflect thewhole diversity of usage scenarios. Alternatively, adeveloper can pursue a purely simulation-based approachby leveraging the wide availability of existing models fordifferent aspects like networking, mobility, etc.Unfortunately, available simulation models rarelyadequately capture the relevant performance details of themobile devices, communication between the devices andthe cloud as well as the in-cloud data processing. This canlead to overall inaccurate performance estimates.

To address the limitations of both small scale prototypingand pure simulation, we present in this work CrowdMeter,an emulation-based platform for evaluating performanceof large-scale crowd-sensing applications. Our platformleverages cloud-based infrastructure-as-service resourcesto support easy and realistic emulation of large numbersof participating mobile devices and their wireless accesslinks, thus offering a valuable tool for assessing real-worldperformance impact of different design decisions even inpre-deployment development phase.

Besides CrowdMeter architecture, a core contribution ofour work is the analysis of combined impact of mobile

Page 3: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

device emulation and link emulation and virtualization.While each of these elements has been thoroughlyinvestigated in isolation in the past, we believe that ourwork is the first to offer experimental data about theeffects resulting from their interaction in the context ofperformance evaluation of large-scale crowd-sensingapplications.

Design and System ArchitectureThe design of CrowdMeter platform focuses on three coretenets: emulation of different mobile devices, integrationof human factors involved in crowd-sensing, emulation ofdifferent wireless access links as well as the computationaleffort needed to perform the processing in the cloud. Weuse a cloud based platform to emulate all the abovecomponents in a way which assures the possibility of theirreplication on large scale. In the following, we brieflyexplain some of the core challenges in each of these areas,and the design decisions that we took in CrowdMeter.

Emulating Mobile DevicesThe realistic emulation of the participating mobile devicesis a core element of CrowdMeter. The emulation providessoftware-based “imitation” of the major hardwarecomponents such as sensors, radios, CPU, memory, cache,etc. play an important role in determining thecrowd-sensing application performance. In this way itprovides a virtual hardware substrate on top of whichdifferent software components can be instantiated andtested.

The quality of mobile device emulation has crucial impacton the capability of CrowdMeter to predict the overallperformance of the application under evaluation. To thisend we advocate using high-fidelity emulators based onmobile device hardware virtualization that offer portability

and allow seamless migration of unmodified binary codebetween the real devices and their emulated doubles.Although these emulators offer an execution environmentand functionality that closely mimics the modeledhardware, they might introduce subtle distortions andperformance penalties, making it absolutely necessary tovalidate their behavior against real mobile devices. Thevalidation step allows for quantifiable assessment of thepossible impact that mobile device emulation might haveon the predicted performance of an overall crowd-sensingapplication.

Modeling Human FactorsThe mobile device provides the user the means to interactwith the crowd-sensing application. The performance ofsuch application is highly dependent on user behavioralcharacteristics and patterns. Factors such as user activityand context, mobility, user interaction patterns with themobile device, remaining battery capacity, etc. influencethe likelihood of active user participation. Theperformance variations caused by these factors are likelyto multiply on large scale and impact the overallapplication performance related to sensing coverage,sensed data quality associated with location accuracy,sensor noise etc. In order to reliably predict applicationperformance, it is necessary to model and introducesupport for these human factors in the platform.

Emulating Communication LinksThe wireless access technology and its characteristics havedirect impact on the overall application performance,consequently the realistic emulation of communicationlinks between the participating mobile devices and thecloud-based crowd-sensing application server(s) is anothercore element of CrowdMeter.

Page 4: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

virtual machineinstance

Device Tier Cloud TierInterconnection Tier

emulated communication links

crowd-sensingapplication

server

mobiledevice

emulator

virtual machineinstance

mobiledevice

emulator

Figure 1: High-level architecture of the CrowdMeter platform

To maximize realism of emulation, interconnecting links inCrowdMeter are modeled on top of the real cloud-basedinterconnection network that is used by application underevaluation. To the best of our knowledge, theperformance of communication link emulation on top ofcloud based networks has not been studied in sufficientdepth in the literature. Important design decisionsassociated with this task are related to the selection of thelevel of realism in emulation of individual links, thelocation in the technology stack where this emulationshould be implemented.

CrowdMeter ArchitectureCrowd-sensing applications, typically organize thetechnology stack in three distinct tiers: a device tier thatencompasses the application components that run locallyon the user’s mobile devices, a cloud tier thatencompasses the back-end services, and aninterconnection tier that links them.

The architecture of CrowdMeter closely mirrors thisnatural decomposition into three distinct tiers. Figure 1depicts the high-level three tiered architecture of theproposed emulation platform.

The leftmost tier represents the emulated mobile devices(as discussed above) on top of a public cloud platform. Itconsists of a pool of emulator images from severalheterogeneous mobile device platforms. A developer cancreate a population of heterogeneous emulated mobiledevices at desired scale by selecting emulator imagesavailable in the pool. Each emulator image has device tierof the crowd-sensing application deployed on it.

The emulators are deployed on virtual machine instancesof the underlying cloud platform. A virtual machineinstance can have several multiple emulators deployed onit. Several factors such as level of realism, scalinglatencies, monetary cost, etc. influence the decision of thenumber of deployed emulators per single virtual machine.The desired scale of the device population is achievedeither by deploying more emulators on each virtualmachine, or by instantiating new virtual machines from atemplate image containing the emulator and itsconfiguration.

The rightmost tier is formed by the back-end servers, thatare deployed in the hosting cloud. Unlike the previous tier,this tier is not emulated, however, it represents the realcloud tier deployment of the crowd-sensing application

Page 5: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

under evaluation. In practice, above two tiers could alsobe deployed on the same public cloud platform.

Finally, the middle interconnecting tier in the architectureis comprised by the emulated links between the mobiledevices and the back-end servers. For each mobile devicereplica, developers can select among a set of differentwireless access link technologies that will be emulated ontop of the wired communication infrastructure in thehosting cloud using standard network link emulators.

The use of virtualization in the cloud can introduceunwanted artifacts in the networking communicationlinks [14, 15]. Common problems include long-tailedlatencies, unstable throughputs etc. Interestingly, theseartifacts are typically not result of the public cloudnetwork infrastructure but rather effects introduced byprocessor sharing on virtualized machines on the endnetwork link points. Furthermore, they are also dependenton the amount and type of load sharing on the underlyingCPU resources.

In case of CrowdMeter, these artifacts can be even moresevere and pronounced due to presence of mobile deviceemulation on virtualized environment. This can lead toreduced fidelity in the emulated links thereby influencingthe overall application behavior. For a successfulprediction of the overall performance of the crowd-sensingapplication under evaluation, the link emulation support inCrowdMeter has to be able to produce link characteristicsthat are similar to the real access network links, despitethe combination of several artifacts from emulation andvirtualization.

Modeling Large-Scale SystemsThe high fidelity of the emulation of the individual mobiledevices and interconnection links would mean little

without support for their efficient replication, as necessarypredisposition for realistic time, this efficient scalingshould not come at the cost of reducing the emulationquality of the individual components.

To support the necessary scales, our CrowdMeter platformleverages infrastructure-as-service resources from thepublic cloud to deploy large number of instances of theemulated mobile devices and links. Since the resourcesharing in the cloud can cause variations in emulationbehavior by introducing biases such as additionallatencies, etc., it is important that these effects areidentified and quantified in order to prevent them frominfluencing accuracy of the performance evaluation of theoverall crowd-sensing application under evaluation.

To this end, it is necessary to benchmark differentcommon crowd-sensing tasks such as sensing, local dataprocessing and communication under the joint effects ofemulation and virtualization. The authors in [9, 13]provide several benchmark tests for computation,networking and storage on the public cloud platforms andhighlight the performance gaps existing in the servicesoffered by public cloud platforms for different categories ofapplication.

CrowdMeter InstantiationHaving presented the generic CrowdMeter design andarchitecture, in this section we discuss the motivationbehind the concrete instantiation of its components.

In instantiating the CrowdMeter architecture, we aimed atreuse of off-the-shelf and publicly available components asmuch as possible, allowing us to ascertain the quality ofperformance prediction that can be readily made availableto a large number of crowd-sensing application developerswithin acceptable cost boundaries.

Page 6: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

In this paper, we focus our discussion on two majorcomponents of emulated application: the mobile devices,and the access link. In addition we discuss the details ofthe cloud platform used for hosting the emulators.

Mobile Emulation PlatformThe mobile device emulation in the current instance ofCrowdMeter, is based on the Android emulationplatform [1]. The platform supports the emulation of theentire Android stack including the underlying kernel. TheAndroid emulator is implemented using the QuickEMUlator (QEMU) virtualization suite that supportsemulation of several different CPU architectures on a hostmachine. QEMU uses dynamic translation for convertingbinary opcode of the emulated CPU architecture to theunderlying host machine opcode.

10.0.2.0/24

en0 en1

Xen Hypervisor

QEMU VM Android (Guest)

Amazon EC2 VM Instance (Host)

Amazon EC2 Server

Host Routing Table

127.0.0.1

DNSServer

192.168.1.0/24

Gateway

eth0tap0

dom0

Dummynet

Gateway

Figure 2: Networkcommunication elements andflow pattern inside a singlemobile device emulator inCrowdMeter - An Android(Guest) based mobile emulator inthe QEMU virtual machine isdeployed on a Amazon EC2virtual machine instance (Host)running on top of Amazon EC2Server using a Xen Hypervisor.

In addition to the CPU emulation, QEMU providesnetworking support to the Android guest environment.The detailed network communication elements and flowpattern between the Android emulator and host aredepicted in Figure 2. In user mode networking, theAndroid guest is connected to the underlying host networkthrough a gateway. However, the guest is not directlyaccessible from host machine or an external network.Therefore, we use alternate QEMU networking mode byconfiguring an additional network interface on the Androidguest (en1), using gateway interface (tap0) on the host,and IP forwarding to communicate with host defaultinterface (eth0).

The emulator platform uses Android Virtual Device (AVD)that includes custom profiles for hardware. CrowdMeteruses AVD configuration encapsulating Android 2.3.3,ARM processor, 1 GB of RAM and SD-card storage, alongwith support for GPS, camera, accelerometer and audiosensors emulation.

Mobile communication link emulationA natural choice to instantiate link emulation is on theemulator of the mobile devices themselves. The Androidemulator indeed has support for different kinds of linkemulation (using a simple leaky bucket implementation).Our in-depth studies, however, have shown that the linkemulation functionality of the Android emulator isunstable and does not honor link bandwidth caps due to adesign and implementation bug. These problems havebeen identified and reported back to the Android emulatordeveloper community1.

Due to these limitations and the fact that the Androidemulator does not support link emulation on multiplenetwork interfaces, we were forced to seek an alternativesolution. After evaluation of several network linkemulators, we have decided to perform the link emulationin CrowdMeter on the underlying host machine instancewith the help of Dummynet [12].

In the current instance of CrowdMeter we support mobileaccess link emulation for 3G and WiFi networks. Theaccess links are emulated by defining the bandwidth, delayand the packet loss parameters based on thecommunication technology. Table 1 gives the bandwidthand the delay parameters used by CrowdMeter foremulating 3G and WiFi networks, which have beenadapted from published experimental measurementsstudies [6].

The Hosting Cloud PlatformFrom the plethora of available choices for the cloudhosting platform [9], we have selected Amazon EC2 [2] forthe current instantiation of CrowdMeter architecture.

1Android Emulator Net Speed - Throughput not cappedhttps://android-review.googlesource.com/#/c/61620/

Page 7: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

Amazon EC2 uses Xen virtualization technology andprovides instance abstraction for each virtual machine thatis run on the Amazon server (shown in figure 2). Eachserver has several running instances of the virtualmachine. CrowdMeter allows usage of three different

Table 1: Mobile access linkemulation parameters

LinkType 3G Wifi

Delay(ms) 150 64

Uplink(Mbps) 1.01 0.93

Downlink(Mbps) 1.22 4.66

classes of virtual machine instances provided by AmazonEC2: Micro, Small and Medium as hosting platform fordeploying the mobile device and network link emulators.

Table 2: Amazon EC2 instance types and specifications

InstanceType Cores Memory

(GiB) Network Performance

Micro 1 0.615 Very LowSmall 1 1.7 Low

Medium 2 3.75 Moderate

A more detailed specification of the individual type of EC2instances is given in Table 2. CrowdMeter provisions allvirtual machine instances using a shared template imagewith a Ubuntu 12.2 Linux distribution. The platform isdeployed in the eu-west-1a availability region of AmazonEC2.

Preliminary EvaluationIn this section, we discuss methodology and tools forevaluating the CrowdMeter platform, and report on theinitial results from the evaluation of its communicationcomponents. They enable us to build first impressionsabout the fidelity of the platform and its emulationcapability of different mobile-to-cloud access technologiesand protocols that play an important role in the overallperformance of most crowd-sensing application.

For all our evaluation experiments, we consider an EC2Medium instance in the same zone as our crowd-sensingapplication server and the mobile emulator clients are

deployed on Micro, Small and Medium instancesrespectively.

In the following we first provide a short overview of theperformance metrics that we use to assess the quality ofthe emulation of the access link technologies andnetworking protocols.

Round Trip Time (RTT) - RTT metric offers insightinto variations in communication latencies that largelyinfluence behavior of network protocols used forinteraction between mobile and cloud services. RTT isimportant metric for capturing performance of delaysensitive crowd-sensing applications.

Bandwidth – TCP Throughput - Bandwidth representsavailable network capacity variations over time fromheterogeneous factors such as mobility of participatinguser(s), number of active network users, network load etc.TCP is commonly used transport protocol bycrowd-sensing applications for communicating with cloudservices. Transport throughput is important metric forcapturing performance of crowd-sensing applicationsgenerating rich multimedia sensing data on mobile devices.

We use the standard UNIX Ping tool to measure RTTs.We collect 2000 RTT measurements by sending 10packets per second. TCP throughputs on the emulatedlinks are measured using IPerf [8]. For the purpose ofTCP throughput measurements, we use sender andreceiver window sizes of 256 KB respectively. Allevaluation measurements are collected across 10 differentpairs of emulated mobile access links between mobiledevice emulator running on a virtualized instance and aserver deployed on a Medium instance. We measure TCPthroughputs across 5 minute intervals in uplink anddownlink direction with a resolution of 0.5 s. All

Page 8: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●●

●●●●●●●●●●●

●●

●●●●●●●●●

●●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●●●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●●

●●●

●●●●●●●●●

●●●

●●

●●●●●●

●●

●●●●●

●●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●●●

●●●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●●

●●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●●

●●●

●●

●●

●●

●●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●●

●●

●●●●

●●

●●

●●●

●●●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●

●●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●●

●●●●●

●●

●●

●●

●●●●●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●●●●●

●●●●●

●●

●●●●

●●●●●●●●●●●●●●●●

●●●

●●

●●●

●●

●●●●●●●●●

●●

●●●●●●●

●●

●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●

●●●●●

●●●●●●●●●●

●●●

●●●●

●●●●●●

●●●●

●●●●●

●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●

Micro Small Medium

RT

T (

ms)

60

80

10

01

20

Wifi

(a) Wifi

●●

●●●●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●●●

●●●

●●

●●●

●●●

●●

●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●●●●●

●●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●●●

●●●●●●

●●

●●

●●●●

●●●●●●

●●●

●●●

●●

●●●●

●●●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●●

●●

●●●●

●●●●

●●

●●●

●●●●●

●●●●

●●

●●●

●●

●●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●

●●●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●●●

●●

●●

●●●●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●●

●●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●●●

●●●●●

●●●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●●

●●●●●

●●●

●●

●●●

●●

●●●

●●

●●●●●

●●●

●●

●●

●●

●●●

●●●

●●

●●

●●●

●●●

●●

●●

●●●

●●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●●●●

●●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●●●

●●

●●

●●

●●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●

●●●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●●●

●●

●●●

●●●●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

●●●

●●

●●

●●●●

●●

●●

●●●●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●●●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●●

●●

●●

●●●

●●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●●

●●●

●●

●●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●●

●●●

●●●●●●

●●

●●

●●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●●

●●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●●●●●●●

●●●●●●

●●●●●●

●●

●●●

●●●●●

●●●●●●●●●●●●

●●●●●●●●

●●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●●

●●●

●●●●●●●●

●●●

●●●●●●●

●●●

●●●●●●●

●●●

●●

●●●●

●●●●

●●●●

●●●●●●

●●

●●

●●

●●●●

●●●●●●●●●

●●●●●●●

●●●

●●●●●

●●●●

●●●●●

Micro Small Medium

RT

T (

ms)

14

01

60

18

02

00

3G

(b) 3G

●●●●●●●●●●●●●●●●●●

●●●●●●

●●●

●●

●●●●●●

●●●●●●●●

●●

●●●●●●●●●●●●●●●●●

●●

●●●

●●●●●●●●●●●●●●

●●●

●●

●●●

●●

●●●●●●●●●●

●●

●●

●●

●●

●●

●●●●●●●●

●●

●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●

●●●●●●●●●●●

●●●●●●●●●●●

●●

●●●●●●●●●●●

●●●●●●●●

●●

●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●

●●

●●

●●

●●●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●

●●

●●●●●●●●●●

●●

●●●●●●

●●●●

●●●●●●●●

●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●

●●

●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●

●●

●●●●●

●●●●●●●

●●

●●●

●●

●●●●●

●●●●●●

●●●●●●●

●●

●●●●●●●●●●●●●●

●●●

●●●

●●●●

●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●

●●●●●●●●●●●●●

●●

●●

●●●●●●●●●●

●●●●●●

●●●●●●●●●●●●●●●●●●●

●●

●●●

●●●

●●

●●●

●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●

●●●●●●●●

●●●●●●

●●

●●●●●●●●●

●●●●●

●●●●●

●●

●●

●●●●●●●●

●●

●●●

●●●●

●●●●●●●●

●●

●●

●●●●●

●●

●●

●●●

●●●

●●●●

●●

●●●

●●

●●●

●●●

●●●

●●●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●

●●

●●●

●●

●●

●●●●

●●

●●●

●●

●●●

●●●●●●●

●●●

●●●●●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●●

●●

●●●

●●

●●

●●●●●

●●

●●

●●

●●●

●●

●●●

●●

●●●

●●

●●●

●●

●●●●

●●

●●

●●●

●●●●

●●

●●●

●●●

●●●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●●●●●●●●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●

●●●●

●●●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●●●

●●●●

●●●●

●●

●●

●●

●●

●●●●●●

●●

●●●

●●

●●

●●●●

●●●●

●●●●●●●●●●

●●●●

●●●●

●●

●●

●●●

●●

●●●●●

●●

●●

●●

●●

●●

●●●●

●●●●●●

●●

●●●

●●

●●

●●●

●●

●●●●●●●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●●●

●●

●●●

●●●●●●

●●

●●●

●●

●●

●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●●

●●

●●

●●●

●●

●●●

●●●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●●●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●

●●

●●●●

●●●

●●●

●●

●●

●●

●●

●●

●●●

●●●●●●●●●●

●●

●●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●

●●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●●

●●●

●●●

●●

●●●●

●●

●●

●●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●

●●●●●●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●●●

●●

●●●●●●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●●

●●●

●●●

●●●

●●

●●●●●

●●

●●

●●

●●●

●●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●●

●●

●●

●●

●●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●●

●●

●●

●●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●●●●

●●●

●●

●●

●●

●●●

●●●●

●●●●●●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●●●

●●

●●

●●

●●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●●

●●

●●

●●●●

●●

●●

●●●

●●●

●●

●●●●●●●●●●●●●●

●●●

●●●

●●

●●

●●●●●●●

●●

●●●

●●●

●●

●●

●●

●●

●●●●

●●●●

●●●●●

●●

●●●●

●●

●●●

●●●●

●●

●●

●●●●●●●

●●●●●

●●

●●

●●●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●●●●

●●

●●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●●

●●●

●●

●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●●●●●

●●●●●●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●●●●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●●

●●●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●●

●●

●●

●●●●●

●●

●●●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●●

●●●●

●●●●

●●

●●

●●●●●

●●

●●●●●●

●●

●●

●●●

●●●

●●

●●●●

●●

●●

●●

●●

●●●●●

●●●●●●●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●●●●

●●●

●●

●●

●●●●●●

●●

●●

●●●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●●

●●

●●●

●●●●

●●

●●●

●●

●●

●●●●

●●

●●●●

●●●●●●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●●●●●

●●

●●

●●

●●●●

●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●●

●●

●●●●●●●●

●●●

●●●

●●

●●●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●●●●

●●●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●●●●

●●●

●●●

●●

●●

●●●

●●●●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●●●

●●

●●

●●

●●●●●

●●●

●●

●●●

●●●●●

●●●●

●●●

●●

●●

●●●

●●

●●●●

●●

●●

●●●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●●

●●

●●●●●

●●

●●●●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●

●●

●●

●●●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●

●●●●

●●

●●●●●

●●●●●●●●

●●

●●●●

●●

●●

●●

●●

●●●●●

●●●

●●

●●

●●●●

●●

●●

●●

●●●

●●●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●

●●●●

●●

●●●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●●

●●

●●●●●

●●

●●●●●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●●●

●●●

●●●●

●●●

●●

●●●

●●

●●●●●

●●

●●

●●●●●

●●

●●●

●●

●●●●●

●●

●●

●●

●●●●●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●●●

●●

●●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●●●●

●●

●●●●

●●●●●

●●

●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●●●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●●

●●●●●●

●●●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●●●●

●●

●●

●●

●●●

●●●●

●●

●●●

●●

●●●●

●●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●●●●●●●

●●●●●

●●●

●●

●●

●●

●●

●●●

●●●●

●●

●●●●

●●●

●●●

●●●

●●

●●●●

●●●●●

●●

●●●●

●●

●●

●●

●●●●

●●●●●●●●●●

●●

●●●●●

●●●●●●●●

●●●●●

●●●

●●●

●●

●●●●

●●

●●

●●●●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●●

●●

●●●●●

●●

●●●●

●●

●●

●●

●●●

●●

●●●

●●

●●●●

●●

●●

●●●●●

●●

●●●●●●

●●

●●

●●●

●●

●●●

●●●

●●

●●●●

●●

●●

●●

●●●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●●●●●●●●●

●●

●●

●●●●

●●●

●●

●●●

●●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●●●●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●●●●

●●

●●●

●●●●

●●

●●

●●

3GMedium

3GMicro

3GSmall

RTT

Jitt

er (m

s)0

2040

60

●●●●

●●●●●●●●

●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●

●●

●●

●●

●●●●●●●●●●●

●●●●●●●●●●●●●●●

●●●

●●●●●●

●●●●●

●●●●●●●●●●●●●●●

●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●

●●●●●●●●●●●●

●●●

●●

●●

●●●●●●●●

●●●●●

●●

●●●●●●●

●●

●●●

●●●●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●

●●●●●●●●

●●

●●●●●●●●●●

●●●●●●

●●

●●●●●●●●●

●●

●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●●●

●●●●

●●

●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●●

●●

●●

●●●●●●

●●

●●●●●●

●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●●

●●●

●●

●●●●

●●

●●

●●●●●

●●

●●

●●

●●●

●●

●●

●●

●●●●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●●●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●●●

●●●●

●●

●●

●●●●

●●●●

●●

●●●●

●●●

●●

●●●●●

●●●

●●

●●

●●●●●●

●●

●●●

●●

●●●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●

●●●

●●

●●●

●●●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●●●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●●●●●

●●

●●●●

●●●●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●●

●●●

●●

●●●

●●●

●●●

●●

●●●

●●●●

●●●

●●

●●

●●

●●

●●

●●●●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●●●●●

●●●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●●●

●●●●

●●

●●●●●

●●

●●●●●●●

●●●

●●●●●

●●

●●●

●●●

●●

●●

●●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●●●●●●

●●

●●

●●

●●

●●●●●

●●●

●●

●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●●

●●

●●

●●●

●●●●

●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●●

●●●●●●●●●

●●

●●

●●

●●●

●●

●●●

●●

●●●●

●●

●●

●●●●

●●●●●●

●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●●●●●●●●

●●

●●●●●●●

●●●●

●●●

●●

●●●●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●●

●●●●

●●

●●

●●●

●●

●●●●●

●●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●●●

●●●

●●

●●●●●

●●

●●

●●●

●●●●

●●

●●●●

●●

●●●●●●

●●●●●

●●●●

●●

●●

●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●●●

●●

●●●●●

●●

●●●

●●●●

●●●

●●

●●

●●

●●●●●●

●●

●●

●●

●●●

●●●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●●

●●●●

●●●

●●

●●●

●●

●●

●●

●●●●●●●

●●●●

●●

●●

●●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●●●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●●

●●●

●●●●●●

●●●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●●

●●●●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●●●●●●●

●●

●●

●●●●

●●

●●

●●●●●

●●●

●●

●●

●●

●●●●

●●●

●●

●●●

●●●

●●●●●●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●●

●●●●

●●

●●

●●

●●●

●●●●

●●●

●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●●●●

●●●●●

●●●●

●●●

●●

●●●

●●

●●●●

●●●●●●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●●●●●●●●●

●●

●●●●●

●●●

●●●●

●●

●●●

●●●

●●●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●

●●

●●●●●

●●●●●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●●●●●●●●

●●●

●●

●●

●●

●●●●

●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●●●

●●●

●●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●●●

●●●●●●●●●

●●

●●

●●●

●●

●●●

●●

●●●

●●

●●

●●

●●●●●

●●●

●●●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●●●●●

●●●

●●

●●●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●●●

●●●●

●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●●●

●●●●

●●●●

●●

●●

●●

●●●●●●

●●

●●

●●

●●●

●●

●●●●●●

●●

●●

●●

●●●●

●●

●●●●

●●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●●●

●●●●

●●

●●

●●●●●●

●●

●●

●●

●●●●●●

●●●

●●

●●●

●●●●

●●

●●●●

●●●

●●

●●●

●●●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●

●●●●●●●●●

●●●

●●●

●●

●●

●●●●●●●

●●●●●●

●●

●●●

●●●●

●●

●●●

●●●●●●●●●●

●●●●

●●

●●

●●●●●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●●●●

●●

●●

●●●●●●●●●●●●●●●●●●

●●

●●

●●

●●●●

●●

●●●●●●●●●●●●

●●

●●

●●●

●●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●●●

●●●●

●●

●●●●●●●

●●

●●●●●

●●

●●

●●

●●●

●●●●●●

●●

●●●●●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●●●

●●●

●●

●●

●●

●●

●●●●●●

●●●●

●●●●●●●

●●

●●

●●●

●●●●●

●●

●●●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●

●●●●

●●●

●●

●●●●●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●●

●●●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●●●

●●●●

●●

●●

●●

●●

●●●

●●●

●●●

●●●●●●●

●●●●

●●

●●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●

●●●●

WifiMedium

WifiMicro

WifiSmall

3GWifi

(c) RTT Jitter

Figure 3: Boxplots of measured RTT, and RTT Jitter of emulated 3G and WiFi links between mobile device emulator client deployedon Micro, Small and Medium instances and the crowd-sensing application server deployed on a Medium instance.

evaluation measurements are carried out sequentially inuplink and downlink direction respectively.

Round Trip Time (RTT)Figure 3 shows the RTT and the RTT jitter boxplots ofemulated mobile access links between the mobile deviceemulator client on virtualized instance and the server. Thebox plots denote 5th, 25th, 50th, 75th and 95th percentileof measurements for each type of link. The number ofhops between clients and server were measured using theUNIX traceroute tool and vary from 4 to 7. Linkemulation is applied by adding delay to incoming andoutgoing ICMP packets (150 ms and 64 ms for 3G andWiFi links respectively).

In figure 3, the joint effect of emulation and virtualizationis quite evident in longer tails in distribution of measuredRTTs of emulated links. Previous studies [14] have shownlonger tails on barebone virtual instances as a result ofCPU sharing on the underlying server. We observe that

Micro instances which give low network performance havethe longest tail of all three followed by Small and Mediuminstances respectively. With respect to performance ofdelay introduced by link emulation, we see thatMedium–Medium instance pair impose tighter bounds onRTTs with 99 percentile of RTTs within 155 ms and67.8 ms for 3G and Wifi compared to 1019 ms and988 ms for the Micro–Medium, and 177 ms and 89.6 msfor the Small-Medium pair respectively.

Table 3: Comparison between Average RTTs (ms) ofemulated 3G and Wifi links measured directly on underlyinghost virtual instance and those on mobile emulator on a virtualinstance for Micro, Small and Medium instance types.

Instance 3G WifiHost Emulator Host Emulator

Micro 154.7 182.6 64.7 94.5Small 151.3 153.4 64.6 66.1

Medium 149.5 151.2 62.5 63.64

Page 9: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

Micro Small Medium0.6

0.8

1.0

1.2

1.4

TCP

Thr

ough

put (

Mbp

s)

3G−Uplink

(a) 3G-Uplink

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

Micro Small Medium0.6

0.8

1.0

1.2

1.4 3G−Downlink

(b) 3G-Downlink

●●

●●●●●

●●●

●●●●

●●

●●●

●●●●●●

●●●●

●●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●●●●

●●●●●

●●●●

●●●●●

●●●●●

●●

●●●

●●

●●●

●●●

●●

●●●

●●●

●●

●●

●●●

●●●

●●●●

●●

●●

●●●●●●

●●

●●●

●●

●●

●●●

●●

●●●●

●●●●●●●

●●

●●●

●●

●●

●●●

●●●

●●●

●●●●

●●

●●

●●

●●

●●●

●●●●●

●●

●●●●

●●

●●●●●

●●●

●●●

●●●

●●

●●

●●●

●●

●●●

●●●

●●

●●●●

●●●●

●●●

●●●

●●●

●●●

●●●●●●

●●●

●●

●●

●●●●●

●●

●●●

●●

●●

●●●

●●●●●●●

●●

●●

●●

●●●●

●●

●●●

●●

●●●●

●●●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●●●

●●

●●●

●●●●●

●●●

●●

●●●●

●●●

●●

●●

●●

●●●●●●●●●

●●

●●

●●●●

●●●●●

●●

●●●●●

●●

●●●

●●●

●●●●●

●●●●●

●●●●

●●●●

●●●●

●●●

●●●

●●

●●●

●●

●●●●

●●

●●●●●●●

●●

●●●●●

●●●

●●

●●

●●●●●●

●●●●

●●●

●●●

●●

●●

●●●●

●●

●●

●●

●●●

●●

●●●●●●●●

●●

●●●

●●●●●

●●

●●●●●●●

●●

●●●●●●

●●

●●●●●

●●

●●●

●●

●●●

●●

●●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●●

●●●●

●●

●●

●●●

●●

●●●

●●●●●

●●

●●●●

●●●●●●●

●●●

●●●

Micro Small Medium0.80

0.85

0.90

0.95

1.00

Wifi−Uplink

(c) Wifi-Uplink

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

Micro Small Medium4.2

4.3

4.4

4.5

4.6

Wifi−Downlink

(d) Wifi-Downlink

Figure 4: Uplink and Downlink TCP throughputs of emulated 3G and Wifi links on Micro, Small and Medium instances respectively.

Table 3 highlights the difference in average RTTsmeasured on the virtualized emulator running on a virtualinstance and on the same underlying host virtual instance.The increase in the RTTs are due to two factors, firstly,the network configuration of the emulator running onQEMU connected through a gateway with forwarding tothe host virtual instance, and secondly the impact ofQEMU emulation on a virtual instance. The amount ofimpact caused by virtualization can be seen by reductionin RTT difference in high-end instance types. In case ofMicro instances, virtualization degrades the performanceof the emulator to the point where average RTT on theemulator compared to the host virtual instance is higherby 27.9 ms (3G) and 29.7 ms (WiFi).

Next, we compare RTTs of the emulated links to realworld crowd-sensed 3G and WiFi measurements reportedacross different mobile carriers in the USA by [6, 7]. RTTsfor 3G networks reported from different carriers rangefrom 140 ms to 340 ms while WiFi networks reportedRTTs were typically anywhere between 50 ms to 400 ms.

Median RTT jitter was observed to be more than 10 msfor 3G and around 7.9 ms for the WiFi links.

Comparing RTT ranges and the jitter values of theCrowdMeter emulated links to these statistics, we seethat, although, Medium–Medium and Small–Mediumpairs give tighter bounds in RTTs for emulated links forthe defined parameter, they do not emulate wider range ofRTTs and jitter in network links. RTT of emulated links isa characteristic of the link emulation algorithm used (inthis case adding constant delay on each packet byDummynet). We observe that simply by using the medianvalues of the RTTs from real 3G and WiFi networks asdelay parameters coupled with longer tails in the RTTsinduced by virtualization, low-end Micro and Smallinstances reproduce RTT behavior that havecharacteristics similar to the RTTs of real 3G and WiFinetwork links.

TCP ThroughputFigure 4 summarizes TCP throughput measurementsbetween each type of instance pair viz. Micro–Medium,

Page 10: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

Small–Medium and Medium-Medium in uplink anddownlink direction respectively. Again, we use medianvalues of throughputs reported for 3G (1.01 Mbps and1.22 Mbps) and WiFi (0.93 Mbps and 4.66 Mbps) as thelimiting bandwidth for uplink and downlink emulationrespectively. In figure 4, we observe that all threeinstances have same median TCP throughput 0.95 Mbps(3G-Uplink) and 0.88 Mbps (WiFi-Uplink),1.14 Mbps(3G-Downlink), 4.39 Mbps (WiFi-Downlink).The average TCP throughputs are capped by bandwidthparameter specified for the link emulation. From theseresults, we see that average TCP throughput performanceof Micro, Small and Medium instance in uplink anddownlink are similar (given in Table 4).

Table 4: Average TCP Throughputs (Mbps) of emulated 3Gand Wifi links on mobile emulator.

Instance 3G WifiUplink Downlink Uplink Downlink

Micro 0.98 1.09 0.86 4.38Small 0.94 1 0.87 4.35

Medium 0.95 1.14 0.87 4.39

Analysis of instantaneous TCP throughput plots showthroughput periodically fluctuating between higher periodsof data transfer followed by stable throughput period anda sudden drop in both uplink and downlink direction.With using link emulation, this behaviour is not aspronounced as observed in some of the earlier studies [14].

Having analyzed performance of link emulation at networkand transport layers, supported by CrowdMeter platform,we learn that link behavioral characteristics of theemulated links on different virtual instances match closelyto mobile access links in diverse mobile user contextscenarios in reality. Our observations are based solely on

the comparison of end statistics of the emulated links andreal measurements in literature. We believe that in futurethis can be exploited in intelligently selecting instancetype depending on crowd-sensing performance scenario tobe evaluated.

Group CommunicationFinally, we evaluate CrowdMeter platform for scalabilityand for modeling of large-scale group communication atthe application level. In many diverse classes ofcrowd-sensing applications there is an absolute need fornotifying a large group of mobile devices (or participants)for sensing the phenomenon of interest. Very often due toneed of increased sensing data fidelity and coverage, agroup of devices or participants need to be notified in atimely manner.

Many applications use Push based messaging protocols forenabling such notifications. We use Google CloudMessaging (GCM) [5] protocol to evaluate the fidelity oflinks at application level under scalability. GCM enablescloud services (crowd-sensing cloud tier) to send messagesto their respective Android based device applications(device tier) through a dedicated GCM server.

We want to demonstrate the use of CrowdMeter inanalyzing the impact of scaling number of devices in aGCM multicast notification query on the best effortdelivery latency. The latency is the application levellatency and is the time between submitting a multicastnotification request from crowd-sensing application serverto GCM server and receiving a notification on the device.

Using CrowdMeter, we deploy a population of 200 virtualinstances of Small type with Android emulators. Of the200 deployed emulators, we observed that only one failedduring our experiments. We create a mix of emulators in

Page 11: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

the population using 3G and WiFi networks with thecommunication link emulation support. Further, weprototype and deploy on 200 emulators an Androidapplication that uses GCM to receive messagenotifications from the crowd-sensing application server ona medium instance.

0 20 40 60 80 100

0.0

0.2

0.4

0.6

0.8

1.0

Best Effort GCM Message Latency (s)

CDF

GCM UnicastGCM Multicast (200 devices)

Figure 5: Impact of scale on the best effort GCM messagedelivery latency

Best effort delivery of a GCM message can be defined byspecifying the time-to-live field of GCM message to 0,which ensures that a message is either deliveredimmediately or dropped. In order to measure notificationmessage latency, we synchronize the emulators on eachinstance with the crowd-sensing server using NTP.

For our validation experiments, we push single notificationevery 30 s by setting the time-to-live to 0. We carry out20 runs each time varying the percentage of 3G and WiFidevices in the crowd in increments of 10. Figure 5 showsCDF of the latencies measured on all mobile emulatorsusing both 3G and WiFi link emulation. The CDFhighlights the impact of scaling the number of devices onthe best effort message delivery latency in a singlemulticast notification request. The increase in medianbest effort delivery latencies from unicast notification

messages (0.54 s) to multicast notifications to 200 devices(26.5 s) is around order of magnitude of 50.

Conclusion and Future WorkIn this paper, we presented CrowdMeter, a cloud-basedemulation platform for carrying performance evaluation ofcrowd-sensing applications. Using a combined approachbased on emulation and virtualization, CrowdMeterfocuses on addressing the challenges in predicting theperformance of large-scale crowd-sensing applications inthe pre-deployment phase.

Our preliminary evaluation of the communication andnetworking components of the CrowdMeter platform,instantiated with an Android based mobile emulator andusing the Amazon EC2 service, was concentrated on theassessment of the impact of the virtualization in the cloudenvironment on the fidelity of the mobile access linkemulation, observed through delay and throughputmetrics.

The presented results show that in terms of delayemulation, low-end and cheap cloud instances with theirlong tailed latencies offer link emulation performance thatis most similar to real mobile access links. In terms ofemulation of available bandwidth, the results show thatthe amount of virtualization does not impact the averageTCP throughput in the emulated links. The instantaneousthroughput, however, can be highly variable.

We also evaluated CrowdMeter for scalability using acase-study using the Google Cloud Messaging servicewhich is commonly used in several crowd-sensingapplications. The GCM results highlight the impact ofscale on the message dissemination latencies anddemonstrate the ease of use and the scalability ofCrowdMeter.

Page 12: CrowdMeter: An Emulation Platform For Performance ...€¦ · Emulating Mobile Devices The realistic emulation of the participating mobile devices is a core element of CrowdMeter

We plan to build on the existing evaluation results andfurther improve the platform functionality. Targeting evenlarger scales would require more efficient scalingstrategies. To this end we plan to investigate more closelythe challenges associated with deploying multiple mobileemulator components on a single virtual instances in thehost cloud platform. Further, modeling platform supportfor human behavioral factors associated withcrowd-sensing is another aspect that we intend to focuson in future.

In the next period we will evaluate the emulation fidelityof additional CrowdMeter components for differentcommon crowd-sensing application tasks like sensing, dataprocessing, computation offloading, data storage, etc., ascore building blocks of many crowd-sensing applications.We also intend to open the CrowdMeter platform andprovide suitable programming abstractions and APIs thatcan simplify the specification of custom performanceprediction scenarios for the developers.

AcknowledgementsThe work has been partially supported by EIT ICT Labs,as part of the activity 12149, “From WSN Testbeds toCPS Testbeds“.

References[1] Android Emulator. http://developer.android.com/

tools/help/emulator.html.[2] Amazon Web Services. http://aws.amazon.com/.[3] Das, T., Mohan, P., Padmanabhan, V. N., Ramjee,

R., and Sharma, A. Prism: Platform For RemoteSensing Using Smartphones. In Mobisys (2010),63–76.

[4] Ganti, R. K., Ye, F., and Lei, H. MobileCrowdsensing: Current State And Future Challenges.

IEEE Communications Magazine 49, 11 (2011),32–39.

[5] Google Cloud Messaging For Android. http://developer.android.com/google/gcm/index.html.

[6] Huang, J., Qian, F., Gerber, A., Mao, Z. M., Sen, S.,and Spatscheck, O. A Close Examination OfPerformance And Power Characteristics Of 4G LTENetworks. In MobiSys (2012), 225–238.

[7] Huang, J., Xu, Q., Tiwana, B., Mao, Z. M., Zhang,M., and Bahl, P. Anatomizing ApplicationPerformance Differences On Smartphones. InMobiSys (2010), 165–178.

[8] Iperf. http://iperf.sourceforge.net/.[9] Li, A., Yang, X., Kandula, S., and Zhang, M.

Cloudcmp: Comparing Public Cloud Providers. InIMC (2010), 1–14.

[10] Ra, M.-R., Liu, B., La Porta, T. F., and Govindan,R. Medusa: A Programming Framework ForCrowd-sensing Applications. In MobiSys (2012),337–350.

[11] Ravindranath, L., Thiagarajan, A., Balakrishnan, H.,and Madden, S. Code In The Air: SimplifyingSensing And Coordination Tasks On Smartphones.In HotMobile (2012), 4:1–4:6.

[12] Rizzo, L. Dummynet: A Simple Approach To TheEvaluation Of Network Protocols. ACM ComputerCommunication Review 27 (1997), 31–41.

[13] Walker, E. Benchmarking Amazon EC2 ForHigh-performance Scientific Computing. LOGIN 33,5 (Oct. 2008), 18–23.

[14] Wang, G., and Ng, T. S. E. The Impact OfVirtualization On Network Performance Of AmazonEC2 Data Center. In INFOCOM (2010), 1163–1171.

[15] Xu, Y., Musgrave, Z., Noble, B., and Bailey, M.Bobtail: Avoiding Long Tails In The Cloud. In NSDI(2013), 329–342.