21
Gazdasági számítások párhuzamos számítógépeken Forgács Attila (Emarsys technologies - [email protected]) Mohácsi László (Budapesti Corvinus Egyetem - [email protected])

Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

Embed Size (px)

Citation preview

Page 1: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

Gazdasági számítások párhuzamos

számítógépeken

Forgács Attila (Emarsys technologies - [email protected])

Mohácsi László (Budapesti Corvinus Egyetem - [email protected])

Page 2: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

Párhuzamos architektúra választása

• Fel lehet-e bontani a feladatot párhuzamosan futtatható részfeladatokra?

• A legegyszerűbb, ha a feladatok függetlenek egymástól,

de alapvetően ugyan azokból a lépésekből állnak.

• A részfeladatok egyformák? Lépésről lépésre egyformák?

• A részfeladatok írnak közös adatokat?

• A részfeladatok gyakran illetve nagy mennyiségű adatot osztanak meg egymással?

Page 3: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

közös memória független számítóegységek 1sokprocesszoros gépek

NUMA

Page 4: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

közös memória független számítóegységek

sokprocesszoros gépekNUMA

• A szálak egymástól függetlenül futhatnak.• A szálak használhatnak memóriaterületeket közösen.• A szálak végrehajtási sebessége nem determinisztikus.• Közösen használt memóriaterületekből adódó problémák:

a) Pesszimista megközelítés b) Optimista megközelítés

• Nincs algoritmus a helyességigazolásra.• „Heisenbug”-ok megjelenése.

Ez a megközelítés áll legközelebb a „hagyományoshoz”Széles körben elérhető hardver.

Több szálon futó programok:

Page 5: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

nincs közös memória számítógépek hálózata

Cluster és Gridcomputing2

Page 6: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

nincs közös memória számítógépek hálózata

Cluster és Gridcomputing2

i. A futtatandó program eljuttatása az összes számítógépre.ii. Üzenetváltás megoldása az egyes példányok között.

• Minden gépen ugyanaz a program fut.• A program tetszőleges példányszámban indítható.• Minden példánynak van egy sorszáma.

• Minden példány tudja a saját sorszámát.

az összlétszámot.

Feladat:

Message Passing InterfaceMegoldás:

Page 7: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

NVIDIA GeForce GTX570

közös memória összekapcsolt számítóegységek 3grafikus processzorok

CUDA

Page 8: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

közös memória összekapcsolt számítóegységek 3grafikus processzorok

CUDA

Page 9: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

közös memória összekapcsolt számítóegységek 3grafikus processzorok

CUDA

Page 10: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

közös memória összekapcsolt számítóegységek 3grafikus processzorok

CUDA

Page 11: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

közös memória összekapcsolt számítóegységek

grafikus processzorokCUDA3

• Ipar bizalmatlansága.

• Nehezen becsülhető teljesítmény.

• Szabványháború.

Page 12: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

Alkalmazási példák

Page 13: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

ABS módszerCUDA architektúránI

lineáris egyenletrendszer

megoldása

Ismeretlenek száma Futásidő Hiba

2 6 ms ≈0

4 8 ms 7.81597∙10-14

8 10 ms 2.13163∙10-14

16 16 ms 1.00364∙10-13

32 24 ms 1.82077∙10-13

64 46 ms 7.43805∙10-12

128 100 ms 6.81943∙10-12

256 245 ms 7.41984∙10-12

512 886 ms 4.81473∙10-11

1024 3.2 sec 1.89602∙10-11

2048 14.7 sec 8.06466∙10-12

4096 105.9 sec 1.29308∙10-13

8192 23 min 2.35101∙10-12

Page 14: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

Lovász-Vempala-Deákalgoritmus CUDA-n

Sokdimenziós testektérfogataII

Page 15: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

9 908 798 x 50 év x 100 futás

Nyugdíj mikroszimulációMPI architektúrán

Hány nyugdíjas lesz 50év múlva?III

0.0%

5.0%

10.0%

15.0%

20.0%

25.0%

30.0%

35.0%

40.0%0 4 8

12

16

20

24

28

32

36

40

44

48

52

56

60

64

68

72

76

80

84

88

92

96

10

0

Elhalálozási valószínűség egy éven belül

Férfi Nő

Page 16: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

Backtestingtöbbszálú architektúrán

Kereskedő algoritmus vizsgálata IV

Page 17: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

logikai kapukbólegyedi célhardver4 Field Programable

Gate Array

Page 18: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

logikai kapukbólegyedi célhardver4 Field Programable

Gate Array

FPGA

Page 19: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

logikai kapukbólegyedi célhardver4 Field Programable

Gate Array

Page 20: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

logikai kapukbólegyedi célhardver

Field ProgramableGate Array4

• Tetszőleges logikai függvény felépíthető

• Mérnöki megközelítést igényel

Page 21: Mohácsi László: Gazdasági számítások párhuzamos számítógépeken

Irodalom:

[1] T. Peierls B. Goetz. Java concurrency in practice, 2006.[2] E. Chan. Algorithmic trading: Winning strategies and their rationale, 2013.[3] E. Kandort J. Sanders. Cuda by example, 2011.[4] nVidia Corporation. Nvidia cuda c programming guide. (electronic document),2011.[5] R. Pardo. The evaluation and optimization of trading strategies, 2008.