communication theory in the cloud

42
Communication Theory in the Cloud Matthew C. Valenti 1 West Virginia University October 30, 2009 1 This work supported by the National Science Foundation under award CNS-0750821. Valenti Communication Theory in the Cloud October 30, 2009 1 / 31

Upload: others

Post on 12-Sep-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Communication Theory in the Cloud

Communication Theory in the Cloud

Matthew C. Valenti 1

West Virginia University

October 30, 2009

1This work supported by the National Science Foundation under award CNS-0750821.Valenti ( West Virginia University )Communication Theory in the Cloud October 30, 2009 1 / 31

Page 2: Communication Theory in the Cloud

Outline

1 Motivation

2 How to Run Matlab on a Grid

3 A Cloud Computing Approach

4 Evolving on a Grid

5 Conclusions

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

Page 3: Communication Theory in the Cloud

Motivation

Monte Carlo Simulation Ten Years AgoM.C. Valenti Chapter 3. Iterative Decoding Algorithms 42

0.5 1 1.5 2 2.510

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

o in dB

BE

R

1 iteration

2 iterations

3 iterations6 iterations

10 iterations

18 iterations

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

Figure 3.3 from my 1999dissertation:

“Iterative detection anddecoding for wirelesscommunications.”

Simulated the original turbocode of Berrou et al (1993)down to a BER of 10−7.

Simulation written usingC-mex and ran on 266 MHzprocessor.

Took about a month togenerate this figure!

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

Page 4: Communication Theory in the Cloud

Motivation

Today’s World

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

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

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

Density-evolution.Genetic algorithms.

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

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

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

Page 5: Communication Theory in the Cloud

Motivation Definitions

Utility and Cloud Computing

Utility computing providers rent capacity on computing resources thatthey 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 hoststhe 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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 5 / 31

Page 6: Communication Theory in the Cloud

Motivation Definitions

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 borrowedfrom idle desktop computers.

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

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

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

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

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

Page 7: Communication Theory in the Cloud

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 computersthroughout the state of WV.

31 from one of our general-purpose student computing lab were setaside 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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 7 / 31

Page 8: Communication Theory in the Cloud

How to Run Matlab on a Grid

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 8 / 31

Page 9: Communication Theory in the Cloud

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 bya continuous phase transition from onesymbol interval to the next.

Constant amplitude (unity PAPR)for efficient amplification.

Low spectral sidelobes for reducedACI.

Suitable for noncoherent reception.

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

Page 10: Communication Theory in the Cloud

How to Run Matlab on a Grid A Case Study

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 10 / 31

Page 11: Communication Theory in the Cloud

How to Run Matlab on a Grid A Case Study

Simulation for a Single h

5 10 15 20 25 30 35 400

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Eb/No in dB

Rat

e

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 11 / 31

Page 12: Communication Theory in the Cloud

How to Run Matlab on a Grid A Case Study

Simulation of Many h

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 15

10

15

20

25

30

35

40

h

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

Eb/

No

in d

B 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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 12 / 31

Page 13: Communication Theory in the Cloud

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 100

2

4

6

8

10

12

14

Time in hours

Com

puta

tions

rel

ativ

e to

1.2

GH

z P

3

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 13 / 31

Page 14: Communication Theory in the Cloud

How to Run Matlab on a Grid A Case Study

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 250

5

10

15

20

25

30

35

40

Time in hours

Com

puta

tions

rel

ativ

e to

1.2

GH

z P

3

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

Page 15: Communication Theory in the Cloud

A Cloud Computing Approach

A Community Computing Resource

In 2007, we received NSF funding to make our work more accessible to theresearch 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 forthe 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 ofturbo and LDPC codes.

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

Page 16: Communication Theory in the Cloud

A Cloud Computing Approach

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 16 / 31

Page 17: Communication Theory in the Cloud

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 17 / 31

Page 18: Communication Theory in the Cloud

A Cloud Computing Approach

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 18 / 31

Page 19: Communication Theory in the Cloud

A Cloud Computing Approach

Parallelizing CML Simulations on the Grid

In our earlier work, we wanted to run many simulations, so weassigned 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 oruntil a maximum number of trials is reached.“Simulation unit”.

The Frontier Application aggregates the data returned from thecompute engines.

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

Page 20: Communication Theory in the Cloud

A Cloud Computing Approach

The User PerspectiveThe 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 DownloadNew Job

Inbox

StarredRunningDoneDVB-S2STBC

HelpSettingsInviteContribute

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 20 / 31

Page 21: Communication Theory in the Cloud

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 22: Communication Theory in the Cloud

A Cloud Computing Approach

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 23: Communication Theory in the Cloud

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 24: Communication Theory in the Cloud

A Cloud Computing Approach

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 25: Communication Theory in the Cloud

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 26: Communication Theory in the Cloud

A Cloud Computing Approach

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 27: Communication Theory in the Cloud

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 28: Communication Theory in the Cloud

A Cloud Computing Approach

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 29: Communication Theory in the Cloud

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 30: Communication Theory in the Cloud

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

Frontier app decides if the simulation

has run long enough, and if not repeats

the whole process.

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

Page 31: Communication Theory in the Cloud

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 21 / 31

Page 32: Communication Theory in the Cloud

A Cloud Computing Approach

Running Custom Code

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

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

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

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

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

Page 33: Communication Theory in the Cloud

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

ClientMatlab

Client (the end-user)

Web

Server

Frontier

App.

SVN

Repository

Matlab

Compiler

Server

Data-

base

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

Page 34: Communication Theory in the Cloud

A Cloud Computing Approach

Updating the Code

Code Update

Web

Browser

SVN

ClientMatlab

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 23 / 31

Page 35: Communication Theory in the Cloud

Evolving on a Grid

Genetic Algorithms

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

The grid is well suited for evolutionary computing.

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

Requires:

Genes appropriate to the application.A fitness function.Rules for breeding, mutating, and selection.

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

Page 36: Communication Theory in the Cloud

Evolving on a Grid

Parallelizing Genetic Algorithms

Communication Theory in the Cloud 33/29

Parallel Genetic Algorithms

The evolution process canbe accelerated whenrunning on the grid.

Each node can evolve itsown gene pool.

Periodically, the bestindividual among the poolsis cloned and “immigrates”to other pools.

The evolution process can beaccelerated when running on thegrid.

Each node can evolve its own genepool.

Periodically, the best individualamong the pools is cloned andimmigrates to other pools.

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

Page 37: Communication Theory in the Cloud

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 thesquared-Euclidian distances between signals whoselabels differ in just one bit position.– Asympotically optimal for BICM-ID systems (Huang-Ritcey, 2005)

0

1 2

3

4

5

6

7 8

910

11

12

13

14

15

0

12

3

4

5

6

7

8

9

1011

12

1314

15

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

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

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

Page 38: Communication Theory in the Cloud

Evolving on a Grid

Results of Optimization

100

101

102

103

104

105

0

0.5

1

1.5

2

2.5

3

3.5

generation

squa

red

harm

onic

mea

n

PSKQAM

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 27 / 31

Page 39: Communication Theory in the Cloud

Evolving on a Grid

Optimization of STBC

Space-time block codes enable communications with multipletransmit 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 isnot 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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 28 / 31

Page 40: Communication Theory in the Cloud

Evolving on a Grid

Performance of Evolved STBC

1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 610

-5

10-4

10-3

10-2

10-1

10BER

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 29 / 31

Page 41: Communication Theory in the Cloud

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, weare developing a computing resource for the communication theorycommunity.

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 ( West Virginia University )Communication Theory in the Cloud October 30, 2009 30 / 31

Page 42: Communication Theory in the Cloud

Conclusions

Thank you

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