• No results found

Communication Theory in the Cloud

N/A
N/A
Protected

Academic year: 2022

Share "Communication Theory in the Cloud"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)

Communication Theory in the Cloud

Matthew C. Valenti1

West Virginia University

October 30, 2009

1This work supported by the National Science Foundation under award CNS-0750821.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 1 / 31

(2)

Outline

1 Motivation

2 How to Run Matlab on a Grid

3 A Cloud Computing Approach

4 Evolving on a Grid

5 Conclusions

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 2 / 31

(3)

Motivation

Monte Carlo Simulation Ten Years Ago

M.C. Valenti Chapter 3. Iterative Decoding Algorithms 42

0.5 1 1.5 2 2.5

10−7 10−6 10−5 10−4 10−3 10−2 10−1 100

Eb/N o in dB

BER

1 iteration

2 iterations

3 iterations 6 iterations

10 iterations

18 iterations

Figure 3.3: Simulated performance of a rate r = 1/2, constraint length Kc= 5, turbo code for various numbers of decoder iterations. The size of the interleaver is L = 65, 536 and an AWGN channel is assumed.

Figure 3.3 from my 1999 dissertation:

“Iterative detection and decoding for wireless communications.”

Simulated the original turbo code of Berrou et al (1993) down to a BER of 10−7. Simulation written using C-mex and ran on 266 MHz processor.

Took about a month to generate this figure!

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 3 / 31

(4)

Today’s World

Monte-Carlo simulation continues to be an important aspect of communication theory.

Processing capacity has increased, but so has the complexity of the systems that must be simulated.

Other compute-intensive algorithms have been successfully applied to the analysis and design of systems.

Density-evolution.

Genetic algorithms.

Access to computing power is an advantage to groups working on modern communication theory.

The demand for computing resources can now be met by utility, grid, and cloud computing.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 4 / 31

(5)

Motivation Definitions

Utility and Cloud Computing

Utility computing providers rent capacity on computing resources that they maintain.

Metered computing: analogous to electric power.

Resources often virtualized and shared by multiple tenants.

Example: Amazon Elastic Compute Cloud ($2.04 USD/day).

Cloud computing not only provides raw computing power, but also hosts the applications that use the power.

Applications usually accessed via a web browser.

User data typically stored on provider’s filesystems.

Underlying computing infrastructure concealed from user.

Key example: gmail.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 5 / 31

(6)

Cluster, Grid, and Community Computing

A cluster computer is a collection of tightly coupled computing servers.

Usually co-located.

A computing grid is a distributed collection of computing servers.

While the servers may be dedicated resources, they could be borrowed from idle desktop computers.

Specialized software is needed to aggregate CPU power (e.g. Frontier).

Community computing projects assemble a grid of donated CPU resources using volunteers idle cycles.

Examples: SEI@home, Folding@home (Driven by BOINC software).

Screensaver (windows) or low-priority process (linux).

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 6 / 31

(7)

How to Run Matlab on a Grid

Our Initial Work on Grid Computing

Starting in 2005, we began partnering with Parabon Computation, Inc.

Developer of the Frontier grid computing platform.

The Frontier client was installed on over 2,000 desktop computers throughout the state of WV.

31 from one of our general-purpose student computing lab were set aside for my research group’s experimentation.

11 windows and 20 linux machines.

We developed a methodology for executing Matlab code on the grid.

Interface was through Matlab commands (no web interface, yet).

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 7 / 31

(8)

The Matlab Compiler

A key enabling technology was the Matlab compiler.

mcc.

Translates Matlab to C, then compiles to executable.

We ran the compiled Matlab code on the grid.

Benefit: No Matlab license needed on the compute engines.

Issue: Executable is architecture specific.

In addition to the compiled executables, the Matlab Component Runtime (MCR) must be installed on each machine.

Around 400-500 MB.

Must be same version as the compiler.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 8 / 31

(9)

How to Run Matlab on a Grid A Case Study

Initial Application: Optimization of CPM Modulation I/II

Continuous-phase modulation (CPM) is a class of modulation characterized by a continuous phase transition from one symbol interval to the next.

Constant amplitude (unity PAPR) for efficient amplification.

Low spectral sidelobes for reduced ACI.

Suitable for noncoherent reception.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 9 / 31

(10)

Initial Application: Optimization of CPM Modulation II/II

We considered coded CPM modulation, and optimized:

R: rate of the code.

h: Modulation index.

M: Alphabet (e.g. how many tones).

Criteria was the “symmetric information rate”.

Mutual information with uniformly distributed modulator inputs.

Information-theoretic limit on performance.

Given a bandwidth constraint and value of M, we determined value of (h,R) that minimized the required SNR (Eb/N0).

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 10 / 31

(11)

How to Run Matlab on a Grid A Case Study

Simulation for a Single h

5 10 15 20 25 30 35 40

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Eb/No in dB

Rate

CM Capacity of 4-FSK h=0.5 in Fading Monte Carlo simulation is used to evaluate the symmetric information rate.

Generated a curve like this for each value of h and M (took about 8 hours).

Due to the bandwidth constraint, there is a minimum value of code rate R for this h.

Goal is to find this value of Eb/No

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 11 / 31

(12)

Simulation of Many h

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

5 10 15 20 25 30 35 40

h

2FSK (B=2) 4FSK (B=2) 8FSK (B=2) 16FSK (B=2)

Eb/No in dB D. Torrieri, S. Cheng, and M.C. Valenti,

“Robust frequency hopping for interference and fading channels,”

IEEE Transactions on Communications, Aug. 2008.

Repeated for several M with h spaced in intervals of 0.01.

About 300 simulations for this figure alone, and 1000 total for the paper.

* Would take 1 year on one computer.

* Only took 2 weeks on ~31 computers.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 12 / 31

(13)

How to Run Matlab on a Grid A Case Study

Runtime Comparison (9.5 hours)

0 1 2 3 4 5 6 7 8 9 10

0 2 4 6 8 10 12 14

Time in hours

Computations relative to 1.2 GHz P3

11 tasks running in parallel

1 was faster than the local machine (gold line) 9 were slightly slower

1 was significantly slower (red line) After 9.5 hours, the grid executed 6,019,410, nearly an order of magnitude improvement over running locally.

Dotted black line shows performance of local laptop, a 1.2 GHz PIII w/ 512 Mbytes RAM, which processes 64,140 simulation trials per hour.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 13 / 31

(14)

Runtime Comparison (24 hours)

11 tasks running in parallel

After 24 hours, the grid executed 16,630,510 trials an order of magnitude improvement

over running locally.

0 5 10 15 20 25

0 5 10 15 20 25 30 35 40

Time in hours

Computations relative to 1.2 GHz P3

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 14 / 31

(15)

A Cloud Computing Approach

A Community Computing Resource

In 2007, we received NSF funding to make our work more accessible to the research community through the following enhancements:

Web-accessibility:

A web-interface allowing global access.

True community computing:

Users of the resource expected to contribute CPU cycles in return for the privilege of running on the grid.

Will allow the grid to organically grow and scale to the user population.

No need to purchase computing power from utilities.

Parallelization of individual jobs:

Split each Monte Carlo simulation into parallel tasks.

Open-source simulation code:

A Matlab toolbox for performing common tasks, such as simulation of turbo and LDPC codes.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 15 / 31

(16)

Coded Modulation Library I/II

Coded Modulation Library (CML) Developed at WVU.

First released in 2005.

Runs in Matlab, but uses lots of c-mex.

Free software (licensed under lesser GPL).

Download from www.iterativesolutions.com (version 1.10).

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 16 / 31

(17)

A Cloud Computing Approach

Coded Modulation Library II/II

Features:

Modulation: PSK, QAM, APSK, CPM (CPFSK).

Coding: convolutional, turbo, BTC, LDPC. Hybrid-ARQ.

Information theoretic bounds (channel capacity; outage probability).

Support for standardized error control codes:

Cellular: WCDMA, HSDPA, LTE, cdma2000.

Wireless LAN/MAN: 802.11a/g, 802.16 (Wimax) . Satellite: DVB-RCS, DVB-S2.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 17 / 31

(18)

CML Version 2

CML 2.0 is now under development.

Object-oriented.

Makes use of Matlab’s growing support for creating custom classes.

OO makes it easier to add support for new functionality.

Will include support for STBC, OFDM, and EXIT curves.

Hosted as a Google Code project.

http://code.google.com/p/iscml/

Encourages contribution by the community.

Uses subversion for version control.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 18 / 31

(19)

A Cloud Computing Approach

Parallelizing CML Simulations on the Grid

In our earlier work, we wanted to run many simulations, so we assigned one simulation per node on the grid.

However, Monte Carlo simulations are embarrassingly parallelizable.

Each Monte Carlo job can be split into multiple tasks.

Each task runs as many Monte Carlo trials as it can for 5 minutes or until a maximum number of trials is reached.

“Simulation unit”.

The Frontier Application aggregates the data returned from the compute engines.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 19 / 31

(20)

The User Perspective The User Perspective

Select: All, None, Starred, Unstarred

 Job 1 SVB-S2 r=3/4 in AWGN Done

 Job 2 (3,4,4) OSTBC in Nakagami fading

 Job 3 Turbo-coded binary CPFSK (h=0.5) Uploaded

You have used 100 units (10%) of your 1000 units of runtime Run Stop Delete Download

New Job

Inbox Starred Running Done DVB-S2 STBC

Help Settings Invite Contribute

Move To 

The web interface is developed using the Google Web Toolkit (GWT), which is the same technology used to power gmail.

The web interface is developed using the Google Web Toolkit (GWT), which is the same technology used to power gmail.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 20 / 31

(21)

A Cloud Computing Approach

How It Works

How It Works

Frontier Server

Computing Cloud User logs onto web-app,

Specifies simulation parameters, (e.g. by file upload),

clicks "run"

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(22)

How It Works

How It Works

Frontier Server

Computing Cloud Data file specifying

parameters committed to the SVN repository.

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(23)

A Cloud Computing Approach

How It Works

How It Works

Frontier Server

Computing Cloud Web app starts the Frontier app.

Divides simulation job into multiple tasks, each corresponding to one simulation unit

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(24)

How It Works

How It Works

Frontier Server

Computing Cloud Frontier application

connects to the frontier server telling it to run the tasks

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(25)

A Cloud Computing Approach

How It Works

How It Works

Frontier Server

Computing Cloud Frontier server schedules tasks on the grid.

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(26)

How It Works

How It Works

Frontier Server

Computing Cloud Each compute

engine performs a SVN update to ensure it has:

(1) the data file.

(2) the latest version of the executable code.

(3) the MCR.

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(27)

A Cloud Computing Approach

How It Works

How It Works

Frontier Server

Computing Cloud A java program

launches multiple executables, one for

each core. They are identical except for the random number seed.

Runs as native code in a linux environment (actual or virtual).

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(28)

How It Works

How It Works

Frontier Server

Computing Cloud After five

minutes, execution halts.

Results for each task are aggregated and sent back to the Frontier server.

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(29)

A Cloud Computing Approach

How It Works

How It Works

Frontier Server

Computing Cloud Results from each task are relayed

back to the Frontier App, which updates results database

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(30)

How It Works

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

How It Works

Frontier Server

Computing Cloud Frontier app decides if the simulation

has run long enough, and if not repeats the whole process.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(31)

A Cloud Computing Approach

How It Works

Web Browser

Client (the end-user) Web

Server Frontier

App.

SVN Repository Server

Data- base

How It Works

Frontier Server

Computing Cloud At any time, the user may

retrieve the current results.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 21 / 31

(32)

Running Custom Code

We will allow any user to run jobs that use the current official release of CML.

However, this requires that the desired simulation be already supported by CML.

Authorized “power” users might like the ability to run code that they have developed on their own.

A certain level of trust is required because the compute engines will be running native code.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 22 / 31

(33)

A Cloud Computing Approach

Updating the Code

Code Update

Google Code Project

Frontier Server

Computing Cloud Matlab code is committed

into a Google Code project

The source code is here!

Web Browser

SVN Client Matlab

Client (the end-user) Web

Server Frontier

App.

SVN Repository

Matlab Compiler Server

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 23 / 31

(34)

Updating the Code

Code Update

Web Browser

SVN Client Matlab

Client (the end-user)

Google Code Project Web

Server Frontier

App.

SVN Repository

Matlab Compiler

Frontier Server

Computing Cloud Server

User logs into web app and issues a command for the server to checkout the Google code, compile it, and commit executables to the server’s repository.

Data- base

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 23 / 31

(35)

Evolving on a Grid

Genetic Algorithms

Besides running simulations, the grid can be used for other compute-intensive tasks.

The grid is well suited for evolutionary computing.

In a genetic algorithm, a population of individuals evolves through breeding and mutation.

Requires:

Genes appropriate to the application.

A fitness function.

Rules for breeding, mutating, and selection.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 24 / 31

(36)

Parallelizing Genetic Algorithms

Communication Theory in the Cloud 33/29

Parallel Genetic Algorithms

 The evolution process can be accelerated when running on the grid.

 Each node can evolve its own gene pool.

 Periodically, the best individual among the pools is cloned and “immigrates”

to other pools.

The evolution process can be accelerated when running on the grid.

Each node can evolve its own gene pool.

Periodically, the best individual among the pools is cloned and immigrates to other pools.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 25 / 31

(37)

Evolving on a Grid

Optimization of Signal Constellations

Goal is to optimize the symbol labeling.

Optimization of Signal Constellations

 Goal is to optimize the symbol labeling

 Optimization criteria: Maximize the harmonic mean of the squared-Euclidian distances between signals whose labels differ in just one bit position.

– Asympotically optimal for BICM-ID systems (Huang-Ritcey, 2005)

0

1 2

3

4 5 6

7 8

9 10

11 12

13 14

15

0

1 2

3

4

5 6

7 8

9 10 11

12 14 13

15

Optimization criteria: Maximize the harmonic mean of the

squared-Euclidian distances between signals whose labels differ in just one bit position.

Asympotically optimal for BICM-ID systems (Huang-Ritcey, 2005).

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 26 / 31

(38)

Results of Optimization

100 101 102 103 104 105

0 0.5 1 1.5 2 2.5 3 3.5

generation

squared harmonic mean

PSK QAM 64-ary

32-ary 16-ary

Results of Genetic Algorithm

M.C. Valenti, R. Doppalapudi, and D. Torrieri, “A genetic algorithm for designing constellations with low error floors,” in Proc. Conf.

on Info. Sci. and Sys. (CISS), (Princeton, NJ), Mar. 2008.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 27 / 31

(39)

Evolving on a Grid

Optimization of STBC

Space-time block codes enable communications with multiple transmit antennas.

Desirable properties:

Full-diversity: To mitigate fading.

Orthogonality: Permits low-complexity ”decoupled” decoding.

Full-rate: For spectral efficiency.

For more than 2-TX antennas and a complex signal constellation, it is not possible to simultaneously satisfy all the above properties.

Goal of evolved STBC’s:

Force a full-rate code to be nearly orthogonal.

Use decoupled decoding despite resulting self-interference.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 28 / 31

(40)

Performance of Evolved STBC

1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6

10-5 10-4 10-3 10-2 10-1 10

BER

Eb/N0 in dB

Orthogonal (3,4,4) MDC-QO (4,4,4) Evolved (4,4,4) Alamouti (2,2,2) Results of a STBC designed using a genetic algorithm.

Severe fading (Nakagami-1/2) Turbo outer code.

D. Torrieri and M.C. Valenti, “Efficiently decoded full-rate space-time block codes,”

IEEE Transactions on Communications, to appear

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 29 / 31

(41)

Conclusions

Conclusions

Computing is a commodity.

Utility computing = cheap and reliable.

Community computing = free but less reliable.

By aggregating donated CPU cycles and providing a web-interface, we are developing a computing resource for the communication theory community.

The computing grid is appropriate for:

Parallel Monte Carlo simulation.

Evolutionary computing.

The resource is still under development, so please stay tuned!

Goal is to be online during the summer of 2010.

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 30 / 31

(42)

Thank you

Valenti Communication Theory in the Cloud( West Virginia University ) October 30, 2009 31 / 31

References

Related documents

Finally, to evaluate the quality of the learned dictionary, one might also ask how PRDL compares with the straightforward approach to first run (standard) phase retrieval and then

The purpose of this research is to know the effect of giving Strychnine bush extract to the dosage to get the dose of songga extract of wood which is effective to give the

2.7.The rod holder is then hand tapped with plug tap and bottoming tap 2.8.Oil is added while hand tapping one drop at a time to the

[r]

Our correla- tional analyses generally indicated that more depressed individuals’ gaze behavior was less aligned with the conversational flow, demonstrated by

We ana- lyze properties of the preconditioned matrices, in particular their eigenvalue distributions, and prove that for solving singular saddle point problems by preconditioned

In order to clarify the complexity of Yashka, we need to look into the historical, political, social, and cultural contexts in which Russian women soldiers, like

Correspondence and orders for medicines written in English will facilitate  execution of orders.. MRP