• No results found

Computing while Charging: Building a Distributed Computing Infrastructure using Smartphones

N/A
N/A
Protected

Academic year: 2020

Share "Computing while Charging: Building a Distributed Computing Infrastructure using Smartphones"

Copied!
17
0
0

Loading.... (view fulltext now)

Full text

(1)

5

III

March 2017

(2)

Technology (IJRASET)

Computing while Charging: Building a Distributed

Computing Infrastructure using Smartphones

Bakiadarshani J,Bairavi G1, Vaishnavi G2

1,2

B.TECH-Information Technology, A.V.C College of Engineering,Mannampandal.

Abstract: Every night, a large range of idle smartphones square measure blocked into an influence supply for recharging the battery. Given the increasing computing capabilities of smartphones, these idle phones constitute a sizeable computing infrastructure. Therefore, for an enterprise that provides its staff with smartphones, we argue that a computing infrastructure that leverages idle smartphones being charged nightlong is AN energy-efficient and efficient various to running tasks on ancient server infrastructure. While parallel execution and scheduling models exist for servers (e.g.,MapReduce), smartphones present a distinctive set of technical challenges attributable to the heterogeneousness in electronic equipment clock speed, variability in network bandwidth, and lower availability compared to servers

In this paper, we address several of these challenges to develop CWC—a distributed computing infrastructure mistreatment smartphones. Specifically, our contributions are: (i) we profile the charging behaviors of real phone house owners to show the viability of our approach,(ii) we modify programmers to execute parallelizable tasks on smartphones with very little effort, (iii) we develop a straightforward task migration model to resume interrupted task executions, associate degree (iv) we implement and valuate a paradigm of CWC (with eighteen robot smartphones) that employs an underlying novel programming algorithmic rule to minimize the make span of a group of tasks. Our extensive evaluations demonstrate that the performance of our approach makes our vision viable. Further, we expressly evaluate the performance of CWC’s programming element to demonstrate its effectivity compared to alternative doable approaches.

Keywords: Smartphone, Distributed Computing, Scheduling, CWC-Computing While Charging, Central Processing Unit(CPU)

I. INTRODUCTION

Today, a number of organizations offer their workers with smartphones for varied reasons [1]; a survey from 2011 [2] reports that sixty six of surveyed organizations do therefore and plenty of those organizations have 75–100% of their workers victimisation smartphones. For example, Novartis [3] (with 100,000 workers in a hundred and forty countries)handed out smartphones for its employees to manage emails, calendars, as well as data regarding health issues; Lowe’s [4] did therefore for its workers to own real time access to key product information and to permit managers to handle body tasks .In this paper, we argue that in such settings, an enterprise will harness the mixture computing power of such smartphones, to construct a distributed computing infrastructure. Such an infrastructure may cut back each the capital and energy prices incurred by the enterprise. First, this could cut back the amount of servers to be purchased for computing functions. For example, Novartis awarded a contract of $2 million to IBM to build an information center for his or her computational tasks [5]. If they could exploit the smartphones handed bent on their workers to run some portion of their work, it is conceivable that the value of their computing infrastructure could are reduced. Due to recent advancements in embedded processor design, now a smartphone will replace a traditional desktop or a server running a twin core processor for computation. According to Nvidia, their Quad Core CPU, Tegra 3, outperforms an Intel Core two couple processor in variety crunching [6]; for alternative workloads, one can expect the performance of the 2 CPUs to be comparable. Our second motivation for the smartphone-based computing infrastructure is that the enterprise could profit from important energy savings by closing down its servers by offloading tasks to smartphones. The power consumed by an advert PC processor like the Intel Core two couple is 26.8W [7] at peak load. In contrast, a smartphone CPU will be over 20x additional power economical, e.g., the Tegra 3 has a power consumption of one.2W [7, 8]. Since their computing abilities square measure similar, it is conceivable that one can harness 20 times additional machine power whereas overwhelming the same energy by commutation one server node with a plurality of smartphones. In fact, to harness the energy efficiency of embedded processors, cloud service providers square measure already pushing towards ARM-based information centers [9].

(3)

Technology (IJRASET)

life and information measure. If a smartphone is used for computing in periods of use by its owner, we run the risk of exhausting its battery and rendering the phone unusable. Further, today information usage on 3G carriers area unit generally capped, and thus, shipping large volumes of information victimization 3G is probably going to be impractical. Thus, our vision is to use these smartphones for computing when they area unit being charged , especially at night. During these periods, the likelihood of active use of the phone by its owner will be low. Moreover, the phone will be static and, will seemingly have access to wireless fidelity in the owner’s home (today, 80% of the homes in the US have wireless fidelity property [10]); this can each scale back fluctuations in network information measure, and allow the transfer of information to/from the smartphones at no price. We name our framework CWC, which stands for computing whereas charging. To realize CWC, we envision the use of one server, connected to the Internet, for scheduling jobs on the smartphones and grouping the outputs from the computations. The scheduling algorithms dead on the server area unit light-weight, and thus , a rudimentary low cost laptop can answer. Smartphones are solely utilised for computation once being charged. If an owner disconnects the phone from the power outlet, the task is suspended, and migrated to a different phone that's connected to an influence outlet. Towards building CWC, our contributions are as follows:

A. Profiling Charging Behaviors

While Associate in Nursing enterprise will probably mandate that its staff charge their smartphones once they don't seem to be being actively used, we examine the typical charging behaviors of smartphone house owners. Using Associate in Nursing robot application that we have a tendency to develop, we gather charging statistics on the phones of fifteen volunteers. Our results demonstrate that, on average, a typical user charges his phone for up to 8 hours nightly.

B. Scheduling Tasks on Smartphones

As a fundamental part of CWC, we style a hardware that minimizes the makespan of finishing the jobs at hand, taking into account both the mainframe and information measure offered for every smartphone. Since the optimal allocation of jobs across phones is NP-hard, we style a greedy rule for the allocation, and show via experiments that it out performs other straight forward conceivable heuristics.

C. Migration of Tasks Across Phones

CWC executes tasks on smartphones only once they're being charged. Tasks ar suspended if phones are unplugged throughout execution. We style associate in Nursing implement an approach to with efficiency migrate such tasks to other phones that are blocked in.

D. Automation of Task Executions

The typical means of running Associate in Nursing application on smartphones is to possess the phone’s owner transfer, install, and run the application. However, we cannot bank on such human intervention to leverage smartphones for a computing infrastructure. We demonstrate however task executions on phones will be completed in an exceedingly utterly machine-driven manner. Note that, while we have a tendency to acknowledge the potential privacy implications of running machine-driven tasks on smartphones, we merely assume here that Associate in Nursing enterprise would not run malicious tasks on its employees’ smartphones. Improving the isolation of tasks enforced in typical smartphone operating systems is on the far side the scope of ourwork.

E. Preserving User Experience

Blindly executing tasks for extended durations on a smartphone being charged, can prolong the time taken for the phone to absolutely charge. We show that intensive use of a phone’s mainframe will delay a full charge by thirty fifth. We style and implement a mainframe suffocation mechanism, which ensures that task executions do not impact the charging times.

F. Implementation and Experimentation

Finally, to demonstrate the viability of CWC, we implement a paradigm and conduct in depth experiments on a test bed of eighteen golem phones. Specifically, we show the affectivity of the programming and task migration algorithms inside CWC.

II. RELATEDWORK

(4)

Technology (IJRASET)

available smartphone testbeds are projected [11,12] to modify smartphone OS and mobile applications analysis. CrowdLab [13] and urban center [14] offer resources on volunteer devices. There conjointly exist systems wherever users voluntarily contribute idle time on their PCs to machine tasks (e.g., [15]). In distinction,our vision isn't for the smartphone infrastructure to be used for analysis and testing, however to modify energy and value savings for real enterprises. Moreover, the problems that we tend to address haven't been thought-about by these efforts. additionally to those systems, flavors of MapReduce for smartphones are enforced (e.g., [16]).However, such efforts don't address the problems of detection idle phone usage and partitioning tasks across phones with various capabilities.They do envision exploitation phones to supply a distributed computing service.

The system that's nearest in spirit to CWC is New World vulture [17]. New World vulture are often wont to queue and schedule jobs across a distributed set of desktop machines. These machines are either dedicated to running jobs on them or are operated by regular users for routine activities. within the latter case, New World vulture monitors whether or not user machines are idle and harnesses such idle central processing unit power to perform the computations needed by jobs. It conjointly preempts computations on these machines once the users continue their routine use (i.e., the machine is not any a lot of idle).While the higher than options of New World vulture could also be just like CWC, the 2 have the subsequent key differences:

CWC tries to preserve the charging profile of smartphones via its central processing unit choking technique. This is often a challenge not self-addressed by New World vulture since desktop machines don't exhibit such a retardant.

Desktop machines largely dissent in terms of their central processing unit clock speed, memory (RAM) and disc space. During a cluster, these machines are connected via local area network switches and this generally ends up in uniform information measure across machines. Thus, systems like New World vulture don't generally consider machine information measure in their programming selections. In distinction, smartphones have extremely variable wireless bandwidths (in addition to their variable central processing unit clock speed and RAM). This may result in sub-optimal programming selections if information measure isn't taken into consideration (details in Section three and Section 5).

Participatory sensing: Recent studies like [18], advocate the collective use of the sensing, storage, and process capabilities of smartphones. With democratic sensing [19], users collect and analyze numerous forms of detector readings from smartphones. Unlike these efforts, a distinctive aspect of CWC is that the data to be processed doesn't originate from the phones. Additionally, CWC permits the execution of a range of tasks in contrast to higher than, where usually a hard and fast task (sensing) is supported. Finally, CWC seeks to leverage work out resources on smartphones, instead of tapping human brain power [20].

A. Measurements of Smartphones

There are measuring studies [21, 22] to characterize typical network traffic and energy consumption on smartphones. In distinction, our focus is on developing a scalable platform for gathering measurements from the phones in CWC. Many prior studies [23, 24] have discovered that phones are idle and are being charged for important periods of your time each day. We are however the primary to acknowledge that these idle periods will be controlled to create a distributed computing infrastructure

B. Provisioning Tasks on Cloud Services

(5)

Technology (IJRASET)

[28]) don't tackle challenges related to provisioning tasks on heterogenous resources nor handle the variability of wireless links.

III. FEASIBILITYSTUDY

In this section, we tend to examine (a) the challenges related to building a smartphone-based computing infrastructure associated (b) the potential savings in capital and energy prices offered by such an infrastructure. Adequacy of computing power: The smartphone infrastructure is just attractive if it will effectively accomplish the computing tasks undertaken on today’s servers. As a result of fast advances in embedded processor technologies, various smartphones with Quad Core CPUs are rising [29]. A number of these CPUs provide clock speeds of up to 2.5 GHz per core (Qualcomm snapdragon quad-core APQ8064) and their processing capabilities are beyond that of generally used server machines. To check the performance of a smartphone CPU with that of typical desktop and server CPUs, we tend to check with the renowned CoreMark benchmarks [30]. Figure 1 (borrowed from [8, 30]) shows the performance of major smartphone CPUs against a widely used desktop and server CPU—the Intel Core 2 Duo; the higher the CoreMark score, the better. We see that whereas the Nvidia Tegra-3 outperforms the Intel Core 2 duo, the Core 2 duo outperforms the opposite processors by over five hundredth. This shows that progressive smartphones like Samsung Galaxy S-3 (running on Tegra-3CPU) will only replace a single-core server desktop machine. In our smartphone testbed, most of the smartphones are running on Tegra-2, flower S-3,and Ti OMAP-4 CPUs; in spite of this, we are able to execute a typical server job with 2 or 3 (of these older) smartphones. Availability of idle task execution periods: Beyond the dramatic enhancements in their work out capabilities, smartphones are attractive for a computing service as a result of their resources are unused for long periods of time. Most users leave their phones idle nightlong whereas the batteries are being recharged. Once being recharged, a smartphone usually runs solely light-weight background jobs (e.g., downloading e-mail) that need least computation and intermittent network access. Programming jobs on a phone throughout such periods is unlikely to impact the phone owners.

To identify and utilize idle periods, we've enforced an automaton application to profile the charging behaviors of users (AppleiOS additionally supports the core functionality required). The applying tracks 3 states on each phone: (a) plugged: once the user is charging the phone, (b) unplugged: when the phone is detached from the charger, and (c) shutdown: when the phone is battery-powered off. Once there's a modification in state (i.e., unplugged to plugged), the applying logs the modification to a server at the side of a timestamp (of the user’s native time zone). In addition, it logs the entire bytes transmitted and received over all wireless interfaces (cellular and WiFi) once within the plugged state; this statistic is reset whenever the phone recently enters the plugged state. The server parses the log files and computes for each charging interval of a specific user: (a) the period of the interval, and (b) the amount of bytes (transmitted and received) throughout that interval. We tend to conduct a study of realistic user behavior by having fifteen volunteers (real users) install our application on their phones and gathering statistics. In Fig. 2(a), we tend to plot the distribution of charging interval lengths, with each interval appointed to day or night; if the plugged state happens between ten p.m. and 5 a.m. of a user’s time, that interval is taken into account to be within the night, else within the day. We observe that the median charging interval is around half-hour and seven hours long, at day and night respectively. Additionally, there are fewer charging intervals within the night. this implies that users charge their phones for an uninterrupted stretch of many hours at night time. Throughout the day, charging is interrupted often, leading to an outsized range of short intervals.

(6)

Technology (IJRASET)

tasks once a phone is unplugged. Figure 3(a) plots the CDF of unplugged activity (failure) for all users. It’s seen that the probability of failure between 12 AM to 8 AM is a smaller amount than 30% In CWC, we merely migrate such unsuccessful tasks to alternative phones that are still plugged in (discussed later).

Profiling a personal user’s behavior will permit the prediction of device specific failures. This will facilitate since tasks is migrated to phones that are less likely to fail at the time of thought. Figures 3(b) and 3(c) show the unplugging behaviors of 2 representative users from our study. The likelihoods of failure in both cases are terribly low between 12 A.M. and 6 A.M. It will increase between 6 A.M. and 9 A.M. Once individuals begin using their phones. During the day, the chance of unplugged activity is high; it decreases when phones are charged again at night time.

Our study suggests that the charging behaviors of users are generally consistent at night time, and provide a chance for harnessing the computing power of idle phones throughout these times.

A. Stability of the Wireless Network

to completely utilize the idle periods to execute jobs, a stable network association is critical. Since we tend to only schedule jobs once a phone is on charge (typically at night), it's safe to assume that the channel qualities don't fluctuate much. The situation of a tool might, however, have an effect on the bandwidth (due to fading); to account for temporally varied fading effects, a periodic (short) bandwidth measurement check is needed before programming jobs on the phones. To look at the steadiness of those measurements over WiFi links, we tend to conduct experiments at 3 completely different locations (within a two mile radius), when the phones are placed on charge. Figure four depicts the results of such a information measure check for WiFi links wherever we run an iperf session from the phones to the server for 600 seconds.

We see that the variation in bandwidth for WiFi links is incredibly low; this implies that we are able to use rare (periodic) bandwidth measurements. Since we expect that communications between the smartphones and also the supporting server can generally be via wireless local area network at users’ homes, we have a tendency to conclude that bandwidth stability isn't probably to be a problem. Cellular links may be used as applicable, however would force additional frequent bandwidth measurements since they'll exhibit high instability [32].

B. Variability of Information Measure across Smartphones

(7)

Technology (IJRASET)

in bandwidth across smartphones.

The task feasible and therefore the input file got to be shipped wirelessly to smartphones. This makes task completion times sensitive to the bandwidth variability across smartphones. To validate this in follow, we tend to style straightforward experiment wherever we've got a central server (a regular PC) that interacts with 6 smartphones. The phones have identical CPU clock speeds however they dissent in terms of their wireless bandwidths to the server. The server has 600 files to be processed by the phones (each phone finds the biggest number in the file). For every file, the standard cycle is that the following. The server sends the file to one of the idle phones, that then processes the file and returns the result back to the server. If there are not any idle phones (i.e., all phones are busy receiving and process some file), the file is queued. Since all the phones are initially idle the server will copy the primary 6 files in parallel without any queuing.

The server logs the turn-around time for every file, that is computed because the distinction between the time that the phone returns the result and therefore the time that the file was queued. When this initial experiment, we tend to take away the 2 phones that have the “slowest” connections and schedule the 600 files on the remaining four phones. We tend to observe from Fig. five that with vi phones, ninetieth of the tasks end in but 1200 milliseconds. On the opposite hand, selecting a reduced range of phones albeit with quick wireless connections, improves the 90th grade to 700 milliseconds (though the queuing delay increases). Our experiment reveals that merely accounting for the CPU clock speed and mistreatment all the phones ends up in poor task completion times. If this experiment were conducted on a cluster of vi PCs with identical CPU clock speed, mistreatment a lot of machines would have reduced the completion times (since the PCs would have constant bandwidth). In summary, one ought to conjointly take wireless bandwidth into consideration once programing tasks across smartphones. This factor is exclusive to Smartphone surroundings and isn't accounted for in systems like condor [17].

C. Benefits

Savings in infrastructure costs: Since the idle calculate resources on already deployed smartphones are used, the price borne by companies to bootstrap the platform are minimal compared to it in fixing the same service on a server-based infrastructure. Firms have either to speculate in shopping for hardware (e.g., servers, switches) or in outsourcing their tasks to 3rd party cloud services. Additionally, establishing computing infrastructure needs careful coming up with regards to factors like area, federal and state laws, and therefore the provisioning of power and cooling support. In distinction, the employment of a smartphone infrastructure obviates such issues. To leverage existing smartphones because the elements of a utility computing service, an enterprise can want no over a central, light-weight server to spot idle resources and portion them to process tasks.

Savings in energy costs: A primary concern of cloud service suppliers is that the power consumption in their information centers. A typical information center server will consume twenty six.8 Watts (Intel Core a pair of Duo) to 248 Watts (Intel Nehalem) [33] of power, counting on the configuration. a lot of significantly, this doesn't account for the facility needed for cooling. To calculate the full power consumption, we tend to use a mean Power Usage Effectiveness (PUE) quantitative relation [34] of two.5; for each Watt consumed by a server, 2.5 watts are additionally consumed for cooling and power distribution. Extrapolating this, we will project the energy value of a Intel Core a pair of pair server to be:

67/1000 KWH × 24 hrs × 365 days × $0.127 = $74.5/year

(8)

Technology (IJRASET)

In comparison to a datacenter server, the power consumption of a smartphone is as low as 1.2 Watts at peak load. we tend to estimate the value of operational a smartphone (with an identical model) to be:

1.2/1000 KWH × 24 hrs × 12 months × $0.127 = $1.33/year

Note that the PUE quantitative relation doesn't apply just in case of smartphones since they are doing not need any cooling. The on top of analysis suggests that energy prices of operating the smartphone computing infrastructure are considerably lower (by an order of magnitude) than using typical data center servers.

Example applications: Next, we tend to describe some example applications that are appropriate for execution on CWC during a real enterprise setting . The first is an example taken from the New World vulture web site [17]. A film production company will render every scene in a film, in parallel, using smartphones. A second example is wherever; a retail store gathers the sales records from many locations. These records are often divided and shipped to phones to quantify what forms of product area unit sold-out the foremost. We tend to believe Lowe’s would be a typical example for this [4]. Lastly, the IT department in an enterprise will gather machine logs throughout the day and analyse them for certain forms of failures at night time.

IV. DESIGNANDARCHITECTURE

In this section, we tend to describe the planning of CWC. We tend to initial describe the parallel task (job) execution model for CWC, and so request answers to the subsequent. (a) However will we predict task execution times?,

(b) However will we implement automated task execution on smartphones without requiring direct user interaction?, (c)How will we preserve user expertise while the tasks are being executed on the phones?

Task model: In CWC, a task may be a program that performs a computation on an input data, like tally the quantity of occurrences of a word in a document. just like the model in Map Reduce, a central server partitions an outsized input data into smaller items, transmits the input partitions (together with the feasible that processes the input) to the smartphones in CWC. Upon receiving the feasible and therefore the corresponding input, the phones execute the task in parallel and come their results to the central server once they end capital punishment the task. The central server performs a logical aggregation of the came back results, betting on the task. For the word count example, the server will merely total the quantity of occurrences rumored by every phone (obtained by process their individual input partitions) to compute the quantity of occurrences within the original input data. We call such tasks breakable tasks to mirror that during this category, a task doesn't exhibit dependencies across partitions of its input and thence, are often broken into an discretional variety of synchronic items. While the above model is appropriate for parallel tasks normally, some tasks cannot be broken into smaller items on that computations are often performed followed by merging the results, to produce a logical outcome. We tend to decision such tasks atomic tasks; such a task (and its input) will solely be dead on one phone because of the dependencies in its input. An example of an atomic task is icon filtering (e.g., blurring a photo). A blur is often obtained by computing a replacement picture element worth supported the neighbouring pixels. Since the blurred pixel value depends on its neighbouring pixels, a blur on pixel cannot be obtained by breaking the photo into smaller items, blurring the pixels in every individual piece and merging the results.

Although an atomic task cannot be parallelized, there are still concurrency advantages once several such tasks are executed in batches. For example, if one has to filter 1000 photos, every individual picture will be transferred to a phone and so, multiple photos will be filtered in parallel. CWC accounts for each breakable tasks and batch atomic tasks in its scheduler (details in Section 5).

(9)

Technology (IJRASET)

A. Predicting Task Execution Times

When a task is regular on a phone, there are two necessary factors that have an effect on the completion time of that task. First, it takes time to repeat the feasible (i.e., binary) and also the input data partition to a phone. This relies on the realizable rate on the link between the phone and also the central server that copies the data. Second, the same task takes completely different times to complete on different phones (depending on the procedure capabilities of the phone). While “computational capabilities” is broad and may embrace characteristics like the speed of reading a file from the disk (e.g., the SD card on a phone) or the dimensions and speed of the cache, we tend to only specialize in the C.P.U. clock speed of a phone; a phone with a quick C.P.U. (in GHz) ought to execute a given task in less time as compared to a phone with a slow C.P.U.

Next, we tend to introduce some basic notation that we tend to use within the resulting discussions. bismuth is that the time that it takes to repeat one KB of information from the central server to phone i. Cij is that the time it takes to execute task j on one KB of computer file victimisation phone i. Ej is that the size (in KB) of the viable for task j and Lj is that the size (in KB) of computer file that task j has tomethod. Given this notation, the completion time of task j, once it's regular to run on phone i, is up to Ej ∗ bi+ Lj ∗ (bi + cij ). The primary term accounts for the time that it takes to repeat the viable to the phone and therefore the second term accounts for the repeating of the computer file and death penalty the task on that. If phone i is allotted a chunk of job j’s computer file, we tend to denote this by lij and one will merely replace Lj with lij within the higher than formula to account for death penalty input partitions.

The estimation of the bismuth values square measure via direct measurements in CWC (bandwidth tests represented earlier). Whereas we tend to concentrate on describing how task execution times are estimated within the following paragraphs, we tend to emphasize that the bandwidth to a smartphone is taken into consideration once creating planning choices. The estimation of cij for every phone task combine has got to be inexpensive since several such mixtures might exist. To estimate cij values, we resort to a scaling technique wherever we tend to initial execute every task j on 1 KB of its input using the slowest phone with a S MHz CPU speed. If the slowest phone takes Ts milliseconds to regionally execute task j on a 1 KB input (excluding the associated ‘executable and data’ repetition costs), a phone with ‘A’ MHz CPU speed is predicted to complete an equivalent task in Ts∗S/A milliseconds. This system avoids the price of identifying every phone-task combine and as we show in Figure 6, could be a fairly correct illustration of actual task completion times. In plotting Figure 6, we initial run a task on the slowest phone in our testbed (HTC G2 with 806 MHz CPU). we then run an equivalent task on all the other phones (the relevant feasible code and information are transferred a priori). Examining the particular runtimes of each phone i (denoted ti) to the run time of the slowest phone (denoted ts), we've the measured speed, ts /ti. We tend to then work out the expected speed supported CPU clock speeds. If a phone contains a X MHz CPU, then the expected speed with relation to the HTC G2 is adequate to X 806 . We tend to do that comparison for 3completely different tasks (described later thoroughly in Section 6). Figure 6 shows that the central process or scaling model captures the particular speed for many of the points (the points are clustered round the y=x line), with a few exceptions wherever the particular speed is on top of what's foreseen by the model (the right points on the x-axis).

The above model is employed by CWC’s task hardware (described in Section 5), that runs on the central server and sporadically assigns partitions of tasks to a group of phones supported the expected task completion time. The phones come with their results beside the time it really took to regionally execute their last appointed task. The hardware then updates its prediction for every phone (and task) supported the reported execution times and uses it for predicting the run time within the following programing period. With this, CWC accounts for the few cases that the initial prediction fails to capture with regards to task execution.

B. Automating Challenge Execution

One of the key requirements of CWC is that a venture be done without requiring person enter. The typical approach of “running a task” on smartphones today is running an software (i.e., “app”). when a consumer desires to execute a new task on her cellphone, she desires to down load and set up the app. this manner commonly calls for human enter for numerous reasons (e.g., android users are supplied a listing of app permissions and need to manually validate the installation). Such a mechanism is truly no longer apt for CWC, since the duties are to be dynamically scheduled on smartphones. To run obligations on the phones, we leverage a go-platform mechanism that uses the java reflection API for the android OS. With reflection, a java executable (i.e., a .class record) can dynamically load other executable, instantiate their items and execute their strategies, at runtime. This permits CWC to ship unique undertaking executable and enter files to a selected phone in an automatic style.

(10)

Technology (IJRASET)

human input. Notice that dynamic elegance loading isn't precise to android; such talents also are to be had with different telephone OS (e.g., iOS allows this through shared libraries). With mirrored image implemented on the cellphone aspect, CWC does now not require any extra infrastructure at the primary server. In truth, builders can keep to apply their traditional java applications and have them scheduled for parallel execution by CWC. Considering the fact that android can execute java code, we just require developers to implement their responsibilities in java (no know-how of android API required). In fig. 7, we depict the flow chart of a normal CWC challenge. The .java source files are compiled into .class documents at the central server, which are then packaged as .jar documents the use of the android tool chain (i.e., the dx command). The .jar file (containing the executable for the android VM) collectively with the input facts is copied to the cellphone. The telephone extracts the .jar record and uses reflection to load and run the undertaking, generating an output of results. Discern eight indicates the java implementation of a typical CWC assignment. While the .java record is compiled and packaged in a .jar document, the task is performed at the phone the usage of the code snippet in figure 9. As a result, each smartphone simultaneously tactics the enter partition (enter.txt) assigned to it and that is transparent to the developers who put into effect their duties (with the template in parent 8) with a single device in thoughts.

C. Retaining Consumer Expectations

While predicting assignment execution instances and automating them are vital, we should be aware that telephones are private gadgets. as a consequence, first it's far critical to ensure that once a person chooses to apply her smartphone, CWC stops the execution of the remaining assigned task to that cellphone in order now not to adversely affect the quit-user experience (e.g., venture execution at the CPU can have an effect on the responsiveness of the person interface). the tasks which might be for that reason stopped, are then migrated to different telephones which are nevertheless plugged in (as discussed).second, running duties on telephones which can be are plugged in, must have a minimal impact on the charging instances of the phones’ batteries. We look at that a heavy utilization of a cellphone’s CPU draws strength and therefore, in a few instances, prolongs the time taken to completely fee a telephone’s battery. particularly, we conduct experiments wherein we first fully rate many types of phones (i.e., from zero% residual battery to a hundred%) in two settings; the first placing is with none task walking at the smartphone, and the second setting corresponds to a case in which a CPU extensive mission is continuously run. for instance, we speak consequences inside the case of HTC sensation phones, in which we again and again run a CPU extensive mission of counting the number of prime numbers in a massive input record continuously in the course of the charging length. we observe that at the same time as it takes around 100 mins to finish full charging inside the first placing, the time will increase to 135 minutes within the 2d placing. word that this boom will be phone-specific. in fact, we repeated the same experiment with HTC g2 telephones and discovered no huge effect (outcomes are not suggested due to area barriers). our commentary is that the extra effective the cellphone, the higher the penalty in terms of the increase within the charging length. in addition word that, if the tasks are handiest scheduled after the cellphone is absolutely charged, there's no penalty (the cellphone remains completely charged); this is due to the fact the energy from the energy outlet is immediately carried out to CPU computations. However, this would postpone undertaking processing and is thus prevented in CWC; furthermore, customers might not leave their phones plugged in till they're fully charged.

(11)

Technology (IJRASET)

pause the responsibilities being finished on the telephones, and leave the CPU idle at some point of such paused durations. Next, we discuss when and for the way lengthy, we pause the execution of a assignment.

To begin with, our experiments exhibit that the residual battery percentage (suggested with the aid of the running system) well-known shows a predictable linear alternate with recognize to time (as visible from determine 10) in the case where no jobs run at the smartphone (referred to as the cellphone’s charging profile). The charge of this linear exchange is particular to the device and the energy source, but the relation stays linear across all the devices. While a assignment runs at the CPU of the cellphone, it draws power and for that reason, the charging profile deviates from this linear profile. We are trying to find to decrease this deviation. if there was no other task (e.g., heritage jobs no longer scheduled by means of CWC) running at the telephone, we ought to decide the deviation because of CWC. The procedure is complicated by using the existence of such other obligations (likely at different times) each of which with unpredictable CPU requirements and consequently power intake patterns. Further, there will be fluctuations within the input power drawn from the supply (e.g. charging the use of a USB vs. a wall charger). Given this, our technique is to constantly monitor the rate at which the battery is charged, and both boom and lower CPU utilization as a consequence; the quantity via which we increase the CPU utilization is called the scaling aspect.

Mainly, we first measure the time it takes for the residual battery rate (δ) to increase by means of 1% of its preceding cost, without any jobs running at the cell phone. This value is called the goal charging parameter. Then, we run the mission for a term of δ/2 and put the technique to sleep for the following δ/2 seconds. we repeat this manner until the overall residual Battery rate will increase through 1 %. Allow the time taken for this be β (≥ δ); this is known as the actual charging parameter. if β = δ , there may be power available to further ramp up the CPU utilization (the energy from the hole is probably better than what's required for charging). In this example, we lower the sleep time at some point of each δ duration through a thing of 0.75, thereby inherently increasing CPU usage; a new β is then computed based on the new settings. If β > δ , the energy drawn by means of the CPU is affecting the battery charging profile. Therefore, we growth the sleep time by a element of 2. Once more, a brand new β cost is computed. the procedure is repeated constantly. Word that the above strategy is akin a multiplicative boom/multiplicative decrease (MIMD) of the duration for which the CPU is saved idle. Ultimately, since the smartphone’s charging profile ought to trade with time (for example because of different responsibilities), we recompute the price of δ on every occasion the residual battery fee changes by 5%.

We plot the outcomes with our adaptive MIMD primarily based CPU scheduling in fig. 10 for the HTC sensation telephones. The outcomes from a perfect charging profile (no duties) in addition to a case in which the CPU is closely applied without our method also are shown. We see that our method lets in the telephone to charge in a time this is nearly the same as in the perfect case; the MIMD conduct of our technique is highlighted in the zoomed insert inside the determine. Without our technique, the charging time increases by using 35 %. Observe here that, the usage of the adaptive approach outcomes in a boom in computation time of approximately 24.5% compared to the heavily applied situation (due to the sleep cycles).

V. TASKSCHEDULING

On this phase, we element how tasks are scheduled in CWC. we are given a fixed J of jobs and a set P of smartphones. As mentioned in advance, each job j ∈ J and speak to i ∈ p. the time it takes i to manner x kb of j’s enter is given through

Ej ∗ bi + x ∗ (bi + cij) (1)

where, Ej is the size (in kb) of process j’s executable, bi is the time (in milliseconds) that it takes cellphone i to receive 1 kb of facts from the server, and cij is the time that it takes for cell phone i to execute the process j on 1 kb of enter statistics. our goal is to time table the obligations across the phones such that the time it takes for the ultimate phone to complete, T, (the makespan) is minimized. in the agenda, each activity j’s enter can be split into portions and every piece can be assigned to a smartphone. lij denotes the dimensions (in kb) of job j’s enter partition assigned to phone i. lij = 0 definitely shows that phone i is not assigned any input partition of job j. uij is a hallmark variable that denotes whether or not or no longer a partition of job j’s enter is scheduled to run on telephone i. the scheduling problem (SCH) is then captured by using the following quadratic integer program

SCH: Minimize T

s.t *(Ej*bi+lij*(bi+cij)≤T, i€ P

=Lj, j€J

uij {0,1} i P, j J

(12)

Technology (IJRASET)

Wherein we minimize the makespan, t . The primary constraint requires that everyone phones end executing their assigned tasks before t. The second constraint ensures that for every task, all of its input is processed. The ultimate constraint ensures that atomic jobs are allotted to a single telephone four. SCH reflects the general case for the minimum makespan scheduling (MMS) problem, which is known to be NP-hard. MMS is defined as: “given a set of jobs and a hard and fast of identical machines, assign the roles to the machines such that the makespan is minimized” [37]. a extra preferred model of mms is scheduling the use of unrelated machines (u-mms), wherein each system has one-of-a-kind capabilities and as a consequence, can execute obligations in specific instances. In each of those issues, handiest atomic jobs are considered. In different phrases, the goal is to assign each job to precisely one of the machines such that the makespan is minimized. SCH is a standard case of u-mms. We don't forget both atomic and breakable duties and the gadget abilities are exclusive. since the unique case of SCH (u-mms) is NP-hard, the hardness consists of over to SCH as well.

Our solution: we address the SCH hassle via fixing the complementary bin packing trouble (CBP), much like the method in [38]. In CBP, the objective is to percent objects the use of at maximum ||P|| packing containers (with capacity C) such that the most peak throughout packing containers is minimized. Here, the objects correspond to the obligations and the packing containers correspond to the phones. The correlation among CBP and SCH may be drawn as follows. Allow us to anticipate that there is an premiere strategy to CBP in which the most top throughout the bins is m. if one rotates every bin ninety◦ to the proper, each bin visually seems as a cell phone in make span scheduling. Items packed on pinnacle of each other in a bin correspond to enter partitions assigned to a phone one after the other. Without a doubt, m corresponds to the most finishing touch time throughout the set of phones in the rotated visualization. as a consequence, packing all gadgets (tasks) the usage of at maximum ||P|| packing containers (phones) and minimizing the most peak throughout packing containers will minimize the makespan .

The pseudo code of our greedy algorithm to solve CBP is given in algorithm 1. the idea is to first sort the tasks in decreasing order of neighbourhood execution time. The primary object within the sorted list is the only wherein Rj ∗ csj is the largest; s is the slowest CPU cell phone in the machine and Rj is the ultimate enter length (in kb) of item (process) j this is but to be assigned to a few cell phone. to start with Rj = Lj . In every generation, we look for the primary object in the listing that can be packed in any of the previously opened bins (an open bin represents a smartphone that has previously been assigned some enter partition). word that determining whether or not an object can be packed in a bin depends on whether or not the contemporary height of the bin plus the execution fee of that item within the unique bin is much less than the bin capability. if we will discover such an item, we percent it inside the bin with the minimal top at that point (i.e., the telephone with the least general execution time). While packing such an object (line 6), we pack its largest input partition that can fit. If the item can fit without partitioning it, we prefer packing it as a whole.

A. Algorithm 1 Greedy Packing Algorithm

L : sorted list in decreasing order of execution time C : bin capacity

repeat

find the first item in L that can fit in any opened bin if such an item exists then

pack the item in the bin with min. height if the item was packed as a whole then

remove it from Lelse insert its remaining input in Lre-sort Lend ifelse if there are un-opened bins thenopen the best bin for the largest item in L pack the item in the opened bin

if the item was packed as a whole then remove it from L else insert its remaining input in L

re-sort L end if

else cannot open any more bins cannot finish packing with C end if end if until all jobs are packed

(13)

Technology (IJRASET)

an object as an entire is not viable (without a doubt due to the fact doing so could bring about the bin peak exceeding the capacity), we pack that object’s biggest partition that could fit without violating the bin capacity (with the reason of keeping the wide variety of walls low). If no object can healthy within the opened boxes (line thirteen), we take a look at if we are able to open a brand new bin. If now not, the set of rules cannot discover a feasible packing for the given capacity. If we will open a brand new bin, we open the bin that would take delivery of the largest object in L, with the minimum boom in its height (line 15). Clearly, this kind of bin is the one that minimizes equation 1 for the biggest item in L. after opening the bin, we again try and percent the item as an entire (line 17). if now not, we part the object’s largest partition challenge to the bin capability.

The above algorithm is repeated more than one times for extraordinary alternatives of bin capacities. Right here, we undertake an technique much like binary search. we first decide an higher certain (UB) on the bin peak. Sincerely, the most bin height occurs whilst all gadgets are assigned to the bin that maximizes equation 1(i.e, the worst bin). For the lower sure (LB), we to start with select a unfastened certain where all items are packed in a single magical bin that has the combination processing capability and the mixture bandwidth of all containers; there are no other packing containers. this magical bin represents the proper case in which the inputs are partitioned without the executable price. After figuring out those preliminary bounds, we execute set of rules 1 with C = (LB+UB) /2 . if the algorithm succeeds packing all objects with bin potential C, we let UB= C. If the algorithm cannot find a possible packing with the initial C, we allow LB = C. The algorithm is then repeatedly finished with C = (LB+UB)/ 2 , till the algorithm succeeds with the minimum C. Here, the binary seek truly reduces the hunt area for the minimum bin ability, with which the algorithm packs all of the objects.

When CWC determines the time table as described above, it begins copying the relevant executable and the input partitions to every cell phone. That is done on a in keeping with-partition foundation; the following assigned mission to the phone is copied best after the phone completes executing its closing assigned venture. While the telephones tell the valuable server approximately a undertaking final touch, they file the partial consequences together with the time it takes to regionally execute the assigned task. as defined in segment 4, CWC makes use of such execution reviews to replace its prediction

On execution times of duties. if the identical challenge is assigned to the identical cell phone in the future (albeit with a one-of-a-kind input partition), CWC makes use of the up to date prediction for scheduling.

Managing disasters: in CWC’S assignment execution cycle, a few telephones may additionally evidently fail while executing a given assignment. In our setting, the term failure can correspond to a spread of instances. For example, while a telephone is plugged off the charger, we treat it as a failed node on account that continuing to execute a CPU-intensive mission on it'd drain the battery (a crucial problem for CWC). In CWC, such screw ups are communicated returned to the important server on every occasion feasible (i.e., when the phone nonetheless has a community connection), and the execution can be resumed from the factor in which it failed (info of undertaking country migration are in phase 6). we call those magnificence of disasters wherein the cell phone keeps a connection with the server “online screw UPS”.Other scenarios may additionally include tougher screw ups, in which the smartphone loses its connection to the server (e.g., wireless motive force unexpectedly crashes or the network connection is dropped), and for this reason, cannot record its failed kingdom lower back to the primary server (the description of detecting such screw ups at the valuable server is again deferred to section 6). we call this magnificence of failures “offline disasters”.

(14)

Technology (IJRASET)

VI. IMPLEMENTATIONANDEVALUATION

Our testbed consists of 18 android telephones with varying network connectivity and CPU speeds. The community interfaces range from WiFi (each 802.11a and 802.11g are considered) to part, 3g and 4g. The CPU clock speeds vary from 806 MHz to at least 1.5 GHz. every phone registers with a crucial server and reports its CPU clock pace. We measure bi values (bandwidth to every telephone i) with the iperf device. The telephones host the CWC software program, which continues a continual tcp connection with the server and allows dynamic task execution as taught by the scheduler. To take care of long flows, we use the SO_KEEPALIV E choice in the connection sockets also as implement custom application layer keep-alive messages. The latter additionally serve as a method of detective work offline failures. If a phone fails to reply to a predetermined range of keep-alive requests from the server, it's marked as unsuccessful. In our implementation, the keep-alive message period is 30 seconds and therefore the range of response failures tolerated, is 3.

Several techniques exist to migrate unsuccessful tasks and resume their state on a target machine; as an example, the authors in [40] modify the android virtual machine (VM) itself to migrate the state of execution however this needs changes to the initial android VM. To make it additional user and developer friendly, we ported JavaGO – a Java program migration library [41] to the android. JavaGO relies on a “source-code-level” transformation technique, where the JavaGo translator takes the user program as input and outputs the migratory Java code. The translated code will run on any Java interpreter and may be compiled by any Just-in-Time (JIT) compiler. JavaGo provides flexibility by permitting programmers to annotate their code using 3 additional language constructs to the Java language, namely go, undock and migratory. The go statement specifies the ip address of the machine where the unsuccessful application are resumed. The undock construct specifies the are to be migrated in the execution stack whereas migratory construct declares that strategies are migratory in order that only those strategies are changed by the JavaGo compiler. In CWC, we have a tendency to translate the annotated java task files with JavaGo translator to supply the migratory .jar task file. just in case of a failure, the state of a task is saved and transmitted to the central server (via the go construct). Our server records the transmitted state but doesn't itself resume the computation at that state. At future programing instant, the server sends the recorded state of every unsuccessful task to a fresh allotted phone, that then resumes the task. Details on migration are found in [41].

The server is enforced as a multi-threaded Java NIO server. Non-blocking threads permit the server to concurrently copy information to a phone while reading the completion reports of alternative phones. We have a tendency to host the server on a small Amazon EC2 instance to indicate its light-weight implementation and economical viability. The little instance is that the default configuration offered by EC2. It offers one virtual core with one.7 GB of memory, that represent a machine that's way less capable than progressive workstations. Currently, Amazon charges eight cents per hour for a small Linux instance. This clearly shows that the light-weight central server in CWC incurs terribly little value for a typical enterprise (although the precise worth could amendment over time).

Prototype Evaluation: In comparing CWC, we use a variety of duties. The primary mission entails counting the occurrences of top numbers in an enter record. the second task is to matter the wide variety of occurrences of a phrase in the enter report and the 1/3 mission is to blur the pixels in a picture. While we are able to without delay use the computing device java versions of the primary responsibilities, doing this changed into no longer possible for the image blurring challenge. The assignment relates to the shortage of compatibility between the pictures instructions at the computer java virtual device and the Dalvik virtual system in android. Even as the code works on JVM, the reflection elegance loader on android complained about the a part of the code that reads the pixels from the photo file (specifically buffered image elegance does no longer exist in android). to do away with the smartphone’s reading the pixels directly from the photograph, we do the following change. We first pre-method the photographs to study the pixels (at the important server) and create textual content documents that comprise a pixel price in every of its strains. Each cell phone changed into able to procedure the textual content documents as earlier than. After this, the server re-creates each image from the blurred pixels again via each phone.

Assessment with Simple Realistic Schedulers: at the server, we additionally put in force less difficult options to CWC. the first alternative splits each breakable task |P| portions without accounting for the one of a kind bandwidth and CPU speeds of phones in P. the atomic jobs are assigned to telephones in a round-robin way (telephone 1 receives atomic job 1 and so on). Within the 2d opportunity, both breakable and atomic jobs are assigned in a round-robin way.

(15)

Technology (IJRASET)

The vertical black stripes in a smartphone’s timeline correspond to the time periods where the telephone is receiving the task executable and the corresponding enter partition from the server. The white regions correspond to the time periods in which the phone executes the challenge regionally. from fig. 12(a), we observe that even as some telephones (2 and 9) finish their duties earlier than others, the burden is well balanced for most of the telephones (four, 12,thirteen, 14 complete at comparable time instants). Telephones 2 and 9 finished early due to a mismatch among the predicted speedup and the measured speedup (recollect fig. 6 in phase 5). Especially, these phones are faster than what is indicated by way of their CPU clock speeds

and for this reason, end in advance than the scheduler’s prediction. we see that the difference inside the of entirety instances among the earliest cell phone(2 finishes at round 900 seconds) and the last telephone (12 finishes at round 1100 seconds) is ≈20% of the makespan. Similarly, our scheduler’s expected makespan of 1120 seconds became only 20 seconds greater than the real makespan of 1100 seconds. fig. 12(b)indicates the CDF of the number of input walls for every of the one hundred fifty duties taken into consideration.

Figure 12: Our greedy scheduler produces very few input partitions (b) and provides support for failure recovery (c).

An enter partition of 0 indicates that the assignment changed into atomically assigned to a single cell phone. even as 33% of the obligations via definition can't be partitioned (the photograph obligations are atomic), we examine that our scheduler preserves atomicity for most of the responsibilities (≈90%) and therefore, extensively reduces the aggregation value on the server. in comparison, we look at that the identical split strategy had a makespan of 1720 seconds, and produced a large wide variety of input walls considering that every breakable venture is split pieces. While the round-robin approach averted excessive input partitions, it performed a makespan of 1805 seconds. In summary, our grasping scheduler is around 1.6x quicker than the opportunity schedulers and it achieves this while with almost negligible aggregation charges. In fig. 12(c), we plot the timeline for a one-of-a-kind run of the above test. right here, we introduce screw ups by using unplugging three telephones (telephones 1, 6 and 17) at random instances at some stage in mission execution (the plot again indicates a subset of telephones). as mentioned in segment 5, inside the subsequent round of scheduling, our scheduler reschedules tasks from formerly failed phones across the ultimate set of phones. the x marks on fig. 12(c) imply the assignment of the failed responsibilities of a telephone. The shaded project executions depict the execution of re-scheduled tasks. We observe that smartphone 1’s responsibilities have been partitioned throughout phones 7, thirteen and 14. Alternatively, smartphone 6’s failed obligations had been re-scheduled across phones zero, 7, 8 and 14. Because telephone 6 failed on the very starting of its time table, it had more duties to be re-scheduled. Our scheduler in particular selected quicker telephones (telephones zero, 7 and 8 completed ahead of time inside the unique schedule) to re-schedule those failed obligations. Standard, re-scheduling failed obligations required 113 seconds after the unique makespan.

(16)
[image:16.612.207.379.89.191.2]

Technology (IJRASET)

Figure 13: Comparison of the makespans of the greedy scheduler and the solution to the relaxed problem.

To recognize how close we're to the optimum, we input numerous mixtures of tasks and and width profiles and solve the trouble with (a) our greedy scheduler and (b) the usage of the at ease system above. We simulate the answers by using producing random bi values among 1 and 70 milliseconds (the minimal and maximum values measured in our experiments). we remember the equal set of a hundred and fifty tasks and we get the cij values from the phones in our testbed. We generate a thousand random configurations and for every configuration, we first achieve the makespan for the relaxed formulation and finally we reap the makespan produced by using our grasping scheduler. FIG. 13 indicates the CDF (over random configurations) of those makespans. It’s miles seen that the median makespan of our greedy scheduler is about 18% worse than the at ease components’s solution.

VII. CONCLUSIONS

On this paper, we envision building a dispensed computing infrastructure using smartphones for the organization. Our imaginative and prescient is based on numerous compelling observations which include (a) organisations offer their personnel with smartphones in many instances, (b) the phones are generally unused while being charged, and (c) such an infrastructure ought to probably yield huge value blessings to the corporation. We articulate the technical demanding situations in building such an infrastructure. We cope with many of them to design CWC, a framework that helps such an infrastructure. We’ve got a prototype implementation of CWC on a test bed of 18 android phones. the use of this implementation, we exhibit each the viability and efficacy of diverse components within CWC.

VIII. ACKNOWLEDGMENT

We would love to thamk Mrs.R.Kanimozhi,M.E assistant professor of our department for her helpful hints in the direction of improving the paper.

REFERENCES

[1] S. Harizopoulos and S Papadimitriou. A Case for Micro-Cellstores: Energy-Efecient Data Management on Recycled Smartphones. In DaMoN, 2011 on a cluster

[2] P. R. Elespuru, S. Shakya, and S. Mishra. MapReduce System over Heterogeneous Mobile Devices. In SEUS, 2009.

[3] J. Cappos, I. Beschastnikh, A. Krishnamurthy, and T. Anderson. Seattle: A Platform for Educational Cloud Computing. In SIGCSE, 2009 [4] Tathagata Das, Prashanth Mohan, Venkata N. Padmanabhan, Ramachandran Ramjee, and Asankhaya Sharma. PRISM: platform for

remote sensing using smartphones. In ACM MobiSys, 2010.

[5] Earl Oliver. Diversity in smartphone energy consumption. In ACM workshop on Wireless of the students, by the students, for the students, 2010.

[6] Thomas A. Henzinger, Anmol V. Singh, Vasu Singh, Thomas Wies, and Damien Zufferey. Static Scheduling in Clouds. In USENIX HotCloud, 2011.

[7] Hossein Falaki, Dimitrios Lymberopoulos, Ratul Mahajan,Srikanth Kandula, and Deborah Estrin. A first look at traffic on smartphones. In IMC, 2010.

[8] J. Dean and S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. In USENIX OSDI, 2004.

[9] Byung-Gon Chun, Sunghwan Ihm, Petros Maniatis, Mayur Naik, and Ashwin Patti. CloneCloud: elastic execution between mobile device and cloud. ACM EuroSys, 2011.

[10] Antony Rowstron, Dushyanth Narayanan, Austin Donnelly,Greg O’Shea, and Andrew Douglas. Nobody ever got Þred for using Hadoop .

(17)

Figure

Figure 13: Comparison of the makespans of the greedy scheduler and the solution to the relaxed problem

References

Related documents

Under two different modes of decision making (viz. symmetric and asymmetric), sufficient conditions are obtained for the existence and uniqueness of equilibrium

Buckeye

From a web-based Virtual Terminal (accessed through your computer) to payment processing via your smart phone - and many, many other options - your Account Executive can help

includes an application to offer a full functional spreadsheet utility which helps you develop worksheets both for performing calculations for existing financial

Alluce valgo, Dita a martello, Metatarsalgie, Vasculopatie, Piede reumatico, Piede diabetico (con il plantare Tecnica S Rigid), deformità, dolori articolari, gotta, borsiti,

See your Independent Financial Adviser. Entering into an equity release plan or an annuity is a long term commitment that can be a good way of improving the quality of life in

If you choose to post messages in our chat rooms, bulletin boards, product reviews, or other message areas, we collect the messages you post and use information you provide to

$45.0 million aggregate principal amount of 6.00% Convertible Debentures, certain unfavourable lease obligations related to closed facilities and DATA Group’s employee benefit