Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
A Cloud Computing Approach
Updating the Code
Code Update
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
A Cloud Computing Approach
Updating the Code
Code Update
Web
Browser
SVN
ClientMatlab
Client (the end-user)
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
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
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
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
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
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
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
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
Conclusions
Thank you
Valenti ( West Virginia University )Communication Theory in the Cloud October 30, 2009 31 / 31