13
Alternative Alternative Parallel Processing Parallel Processing Approaches Approaches Jonathan Jonathan Sagabaen Sagabaen

Alternative Parallel Processing Approaches Jonathan Sagabaen

Embed Size (px)

Citation preview

Page 1: Alternative Parallel Processing Approaches Jonathan Sagabaen

Alternative Parallel Alternative Parallel Processing ApproachesProcessing Approaches

Jonathan SagabaenJonathan Sagabaen

Page 2: Alternative Parallel Processing Approaches Jonathan Sagabaen

OverviewOverview

Neural NetworksNeural Networks

Systolic ArraysSystolic Arrays

Dataflow ComputingDataflow Computing

Page 3: Alternative Parallel Processing Approaches Jonathan Sagabaen

Dataflow ComputingDataflow Computing

Data flows Data flows continuously and is continuously and is available to multiple available to multiple instructions at the instructions at the same timesame time

Each instruction is Each instruction is considered to be a considered to be a separate processseparate process

Page 4: Alternative Parallel Processing Approaches Jonathan Sagabaen

An instruction is An instruction is executed when the executed when the data necessary for data necessary for execution become execution become available available

Example >>Example >>

Instructions do not Instructions do not reference memory; reference memory; instead, they instead, they reference other reference other instructionsinstructions

Dataflow ComputingDataflow Computing

Page 5: Alternative Parallel Processing Approaches Jonathan Sagabaen

Updating spreadsheetUpdating spreadsheet

In a spreadsheet you In a spreadsheet you can specify a cell can specify a cell formula which formula which depends on other depends on other cells cells

Then when any of Then when any of those cells is those cells is updated the first updated the first cell's value is cell's value is automatically automatically recalculated recalculated

Page 6: Alternative Parallel Processing Approaches Jonathan Sagabaen

Neural NetworksNeural NetworksAlso known asAlso known as

Connectionist Connectionist systemssystemsAdaptive systemsAdaptive systemsParallel distributed Parallel distributed processing systemsprocessing systems

Neural network computers are composed of a Neural network computers are composed of a large number of simple processing elements that large number of simple processing elements that individually handle one piece of a much larger individually handle one piece of a much larger problemproblem

Page 7: Alternative Parallel Processing Approaches Jonathan Sagabaen

Neural NetworksNeural Networks

A neural net consists A neural net consists of processing of processing elements (PEs), elements (PEs), which multiply inputs which multiply inputs by various sets of by various sets of weights, yielding a weights, yielding a single output valuesingle output value

As a neural network As a neural network is learning, it can is learning, it can make a mistake make a mistake

When it does, When it does, weights and weights and thresholds must be thresholds must be changed to changed to compensate for the compensate for the errorerror

Example >>Example >>

Page 8: Alternative Parallel Processing Approaches Jonathan Sagabaen

Chicken exampleChicken exampleYou show a child a You show a child a chicken and tell him it's chicken and tell him it's a birda bird

Then you show the child Then you show the child an owlan owl

However, if we show a child a chicken, a However, if we show a child a chicken, a sparrow, a duck, a hawk, a pelican, and a crow, sparrow, a duck, a hawk, a pelican, and a crow, then it's more likely he'll make the conclusion that then it's more likely he'll make the conclusion that it is a bird.it is a bird.

It's likely that the child It's likely that the child won't recognize the owl won't recognize the owl as a birdas a bird

Page 9: Alternative Parallel Processing Approaches Jonathan Sagabaen

Commonly used for Commonly used for

Quality controlQuality control

Financial and economic forecastingFinancial and economic forecasting

Speech and pattern recognitionSpeech and pattern recognition

Health care cost reductionHealth care cost reduction

Bankruptcy predictionBankruptcy prediction

Machine DiagnosticsMachine Diagnostics

Securities tradingSecurities trading

Target MarketingTarget Marketing

Page 10: Alternative Parallel Processing Approaches Jonathan Sagabaen

Commonly used for Commonly used for

Artificial Intelligence Artificial Intelligence

Weather forecastingWeather forecasting

Oil and gas exploration Oil and gas exploration

Page 11: Alternative Parallel Processing Approaches Jonathan Sagabaen

Systolic ArraysSystolic Arrays

They are a network They are a network of processing of processing elements that elements that rhythmically compute rhythmically compute data by circulating it data by circulating it through the systemthrough the system

A systolic array is a pipe network A systolic array is a pipe network arrangement of processing units called cells arrangement of processing units called cells where each cell compute data and store it where each cell compute data and store it independently of one anotherindependently of one another

Page 12: Alternative Parallel Processing Approaches Jonathan Sagabaen

Systolic ArraysSystolic Arrays

ProsPros ConsConsHighly specialized Highly specialized thus inflexible to thus inflexible to problems to solveproblems to solve

Short connectionsShort connectionsSimple designSimple designHighly scalableHighly scalableRobustRobustCompactCompactEfficientEfficientCheapCheap

Page 13: Alternative Parallel Processing Approaches Jonathan Sagabaen

Commonly used for Commonly used for repetitive tasks such as:repetitive tasks such as:

Fourier transformationsFourier transformationsImage processingImage processingData compressionData compressionShortest path problemsShortest path problemsSortingSortingSignal processingSignal processingMatrix computationsMatrix computations