Skip to the content.

PAG Výpisky

Tasky & dekompozice

Tasky

Pojmy

Příklad

Critical path

Task Interaction Graphs

Příklad

Critical path

Techniky dekompozice

Jak dekomponujeme problém na tasky?

Rozlišujeme čtyři základní techniky

  1. Recursive decomposition
  2. Data decomposition
  3. Exploratory decomposition
  4. Speculative decomposition

Recursive decomposition

Příklad

Quicksort

Hledání minima v listu

Data decomposition

Output Data Decomposition

Příklad

Násobení dvou matic

Itemset

Input Data Partitioning

Příklad

Itemset

Input Data Decomposition

Input and Output Data Partitioning

Input Data Decomposition

Intermediate Data Partitioning

Intermediate Data Partitioning

Exploratory Decomposition

Příklad

15 puzzle

Exploratory Decomposition

Anomalous Computations

Exploratory Decomposition

Hybrid Decompositions

Hybrid Decomposition

Tasky

Task generation (generování tasků)

Static task generation

Dynamic task generation:

Task sizes

Uniform

Mapping Techniques

Mapping Techniques for Minimum Idling

Mapping Techniques

Dva základní přístupy

  1. Static mapping (statické mapování)
    • Předem určíme který task bude zpracovávat jaký procesor
    • Musíme znát (nebo alespoň odhadnout) velikost tasků
    • Stejně se jedná většinou o NP-complete problém
  2. Dynamic Mapping
    • Tasky přidělujeme po dobu běhu
    • Použijeme když např. generujeme tasky za běhu nebo neznáme jejich velikost

Komplexita

Schemes for Static Mapping

Mappings Based on Data Partitioning

TODO

Komunikace mezi procesory

Přehled vzorců

Table

Komunikace mezi tasky

One-to-All Broadcat

All-to-One Reduction

One-to-All Broadcat

One-to-All Broadcats / All-to-One Reduction

Ring

One-to-All Broadcat

One-to-All Broadcat

Mesh

One-to-All Broadcat

Příklad

One-to-All Broadcat

Hypercube

One-to-All Broadcat

Algoritmy pro broadcasts a reductions

One to all (hypercube)

One-to-All Broadcat Algo

All to one (hypercube)

One-to-All Broadcat Algo

Cost analysis

All-to-All Broadcats

All-to-All Broadcat Algo

Ring

All-to-All Broadcat

All-to-All Broadcat Algo

Mesh

All-to-All Broadcat

All-to-All Broadcat Algo

Hypercube

All-to-All Broadcat

All-to-All Broadcat Algo

All-to-All Reduction

Cost analysis

All-reduce

Prefix-Sum

All-to-All Broadcat Algo

All-to-All Broadcat Algo

Scatter and Gather

Cost analysis

Scatter and Gather

Scatter and Gather

All-to-All Personalized Communication

All-to-All Personalized Communication

Příklad

All-to-All Personalized Communication

Ring

All-to-All Personalized Communication

Cost

Mesh

All-to-All Personalized Communication

Cost

Hypercube

All-to-All Personalized Communication

Cost

Optimální algoritmus

All-to-All Personalized Communication All-to-All Personalized Communication

Cost

Circular shift

Ring

Mesh

Circular shift

Hypercube

TODO

Summary

Circular shift

Analytical model

Metriky

Execution time

Total Parallel Overhead

Speedup

Superlinear speedup

Superlinear speedup

Amdahl’s Law

Efficiency

Cost

Efekt granuality na výkon

Scalability of Parallel Systems

Scaling Characteristics

Isoefficiency