Highly-Scalable Algorithms for Ensemble Data Assimila8on - - PowerPoint PPT Presentation

highly scalable algorithms for ensemble data assimila8on
SMART_READER_LITE
LIVE PREVIEW

Highly-Scalable Algorithms for Ensemble Data Assimila8on - - PowerPoint PPT Presentation

Highly-Scalable Algorithms for Ensemble Data Assimila8on Jeffrey Anderson, Nancy Collins, and Helen Kershaw Ins$tute for Mathema$cs Applied to Geophysics,


slide-1
SLIDE 1

Highly-­‑Scalable ¡Algorithms ¡for ¡ ¡ Ensemble ¡Data ¡Assimila8on ¡

Jeffrey ¡Anderson, ¡Nancy ¡Collins, ¡ and ¡Helen ¡Kershaw ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 1 ¡

¡

Ins$tute ¡for ¡Mathema$cs ¡Applied ¡to ¡Geophysics, ¡ ¡ Na$onal ¡Center ¡for ¡Atmospheric ¡Research, ¡USA ¡ Email: ¡jla@ucar.edu ¡ ¡

¡

slide-2
SLIDE 2

The ¡Data ¡AssimilaHon ¡Research ¡Testbed ¡(DART) ¡

Ø ¡General ¡purpose ¡ensemble ¡DA ¡tools ¡

Ø ¡Must ¡work ¡with ¡any ¡model ¡ ¡

(global, ¡regional, ¡ocean, ¡land, ¡flu,…) ¡

Ø ¡Must ¡work ¡with ¡any ¡observaHon ¡(for ¡any ¡model) ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 2 ¡

slide-3
SLIDE 3

More ¡DART ¡Challenges ¡

Ø Must ¡run ¡‘well’ ¡on ¡any ¡computer: ¡ ¡

laptop ¡to ¡petascale, ¡O(10,000) ¡cores ¡

Ø Small ¡(1 ¡variable) ¡to ¡enormous ¡(high-­‑res ¡coupled) ¡models ¡ Ø Arbitrary ¡model ¡‘grids’, ¡state ¡variables ¡ Ø Arbitrary ¡observaHon ¡layout: ¡uniform ¡or ¡highly ¡heterogeneous ¡ ¡ Ø Any ¡raHo ¡of ¡state ¡variables ¡to ¡observaHons ¡ ¡ Ø Small ¡team ¡supports ¡20+ ¡models, ¡many ¡kinds ¡of ¡observaHons: ¡ Model ¡and ¡observaHon ¡specific ¡code ¡must ¡be ¡minimal ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 3 ¡

slide-4
SLIDE 4

Ø Filter ¡methods ¡(adjoints ¡are ¡too ¡much ¡work ¡for ¡us) ¡ Ø SequenHal/serial ¡ensemble ¡filters ¡ ¡

Allows ¡completely ¡general ¡localizaHon ¡(Lili ¡Lei’s ¡talk ¡this ¡a_ernoon) ¡ ¡ ¡ ¡ Important ¡for ¡opHmal ¡filtering ¡for ¡general ¡applicaHons ¡

Ø Allows ¡more ¡general ¡parallelizaHon ¡(this ¡talk) ¡

DART ¡SoluHons ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 4 ¡

slide-5
SLIDE 5

SequenHal ¡Ensemble ¡Filter ¡

Ensemble ¡state ¡esHmate ¡a_er ¡ using ¡previous ¡observaHon ¡ (analysis) Ensemble ¡state ¡at ¡Hme ¡

  • f ¡next ¡observaHon ¡

(prior)

  • 1. Use ¡model ¡to ¡advance ¡ensemble ¡(3 ¡members ¡here) ¡to ¡Hme ¡at ¡which ¡next ¡
  • bservaHon ¡becomes ¡available.

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 5 ¡

slide-6
SLIDE 6

Theory: ¡observaHons ¡from ¡ instruments ¡with ¡uncorrelated ¡ errors ¡can ¡be ¡done ¡sequenHally. ¡

SequenHal ¡Ensemble ¡Filter ¡

  • 2. ¡Get ¡prior ¡ensemble ¡sample ¡of ¡observaHon, ¡y ¡= ¡h(x), ¡by ¡applying ¡forward ¡
  • perator ¡h ¡to ¡each ¡ensemble ¡member.

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 6 ¡

slide-7
SLIDE 7

SequenHal ¡Ensemble ¡Filter ¡

  • 3. ¡Get ¡observed ¡value ¡and ¡observaHonal ¡error ¡distribuHon ¡from ¡observing ¡

system.

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 7 ¡

slide-8
SLIDE 8

Note: ¡Difference ¡between ¡various ¡ ensemble ¡filters ¡is ¡primarily ¡in ¡

  • bservaHon ¡increment ¡calculaHon.

SequenHal ¡Ensemble ¡Filter ¡

  • 4. ¡Find ¡the ¡increments ¡for ¡the ¡prior ¡observaHon ¡ensemble ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

¡(this ¡is ¡a ¡scalar ¡problem ¡for ¡uncorrelated ¡observaHon ¡errors).

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 8 ¡

slide-9
SLIDE 9

Theory: ¡impact ¡of ¡observaHon ¡ increments ¡on ¡each ¡state ¡ variable ¡can ¡be ¡handled ¡ independently!

SequenHal ¡Ensemble ¡Filter ¡

  • 5. ¡Use ¡ensemble ¡samples ¡of ¡y ¡and ¡each ¡state ¡variable ¡to ¡linearly ¡regress ¡
  • bservaHon ¡increments ¡onto ¡state ¡variable ¡increments.

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 9 ¡

slide-10
SLIDE 10

SequenHal ¡Ensemble ¡Filter ¡

  • 6. ¡Advance ¡model ¡to ¡Hme ¡of ¡next ¡observaHon. ¡Usually ¡many ¡observaHons ¡

assimilated ¡at ¡same ¡model ¡Hme, ¡so ¡no ¡need ¡for ¡forecast ¡between ¡these. ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 10 ¡

slide-11
SLIDE 11

Constraints ¡on ¡Parallel ¡DART ¡Ensemble ¡Filter ¡ ¡

Ø Most ¡models ¡not ¡designed ¡with ¡ensembles ¡in ¡mind ¡

¡Geophysical ¡models ¡o_en ¡have ¡domain ¡decomposiHon ¡with ¡haloes ¡ ¡Large ¡subdomains ¡-­‑> ¡less ¡communicaHon ¡and ¡redundant ¡computaHon ¡

Ø All ¡ensemble ¡members ¡for ¡a ¡state ¡variable ¡or ¡observaHon ¡ must ¡be ¡on ¡the ¡same ¡process ¡

¡Otherwise ¡communicaHon ¡costs ¡would ¡dominate ¡because ¡of ¡repeated ¡ computaHon ¡of ¡mean ¡and ¡variance ¡

Ø Transpose ¡of ¡data ¡storage ¡between ¡forecasts ¡and ¡DA ¡

¡Almost ¡all ¡state ¡variables ¡must ¡be ¡moved ¡to ¡different ¡process ¡ ¡But ¡can ¡be ¡done ¡on ¡local ¡subsets ¡of ¡processes ¡ ¡This ¡must ¡be ¡done ¡very ¡efficiently ¡on ¡large ¡machines ¡

¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 11 ¡

slide-12
SLIDE 12

Some ¡SimplificaHons ¡for ¡this ¡Talk ¡

Ø Just ¡look ¡at ¡univariate ¡horizontal ¡model ¡grid ¡

¡Earth ¡system ¡models ¡generally ¡have ¡verHcal ¡ columns ¡and ¡mulHple ¡variables ¡at ¡each ¡point ¡ ¡Model ¡state ¡is ¡rarely ¡distributed ¡in ¡the ¡verHcal ¡

Ø Extending ¡to ¡three ¡dimensional ¡mulHvariate ¡ case ¡is ¡straight ¡forward ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 12 ¡

slide-13
SLIDE 13

Ø Forward ¡operator ¡h ¡is ¡an ¡arbitrary ¡funcHon ¡of ¡state ¡variables ¡ Ø O_en ¡‘local’ ¡funcHon ¡of ¡state ¡(interpolaHon) ¡ Ø Can ¡be ¡complex ¡and ¡non-­‑local ¡(radio ¡occultaHon ¡ray ¡tracing) ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 13 ¡

CompuHng ¡Forward ¡Operators ¡

slide-14
SLIDE 14

CompuHng ¡Forward ¡Operators ¡

Ø We ¡use ¡MPI-­‑2 ¡non-­‑blocking ¡remote ¡memory ¡direct ¡access ¡ Ø One ¡process ¡computes ¡h ¡for ¡all ¡ensemble ¡members ¡ Ø Grabs ¡any ¡required ¡state ¡variables ¡from ¡other ¡processes ¡ Ø Number ¡of ¡messages ¡minimized ¡if ¡adjacent ¡state ¡is ¡on ¡same ¡ process ¡ Ø CommunicaHon ¡volume ¡minimized ¡if ¡local ¡state ¡is ¡on ¡ process ¡compuHng ¡h ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 14 ¡

slide-15
SLIDE 15

Theory: ¡impact ¡of ¡‘unrelated’ ¡

  • bservaHon ¡increments ¡on ¡

each ¡state ¡variable ¡can ¡be ¡ applied ¡in ¡any ¡order.

Ensemble ¡Filter ¡for ¡Large ¡Geophysical ¡Models ¡

Bayes ¡says ¡‘unrelated’ ¡obs ¡can ¡be ¡processed ¡simultaneously! ¡ ¡ LocalizaHon ¡of ¡observaHon ¡impact ¡is ¡required ¡for ¡good ¡ensemble ¡filters ¡ ¡ ObservaHons ¡that ¡are ¡not ¡‘close’ ¡by ¡localizaHon ¡are ¡‘unrelated’ ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 15 ¡

slide-16
SLIDE 16

Parallelizing ¡Processing ¡of ¡ObservaHons ¡

Ø Find ¡subsets ¡of ¡‘unrelated’ ¡observaHons ¡ Ø Want ¡minimum ¡number ¡of ¡subsets ¡ Ø Forward ¡operators ¡and ¡observaHon ¡increments ¡ can ¡be ¡done ¡in ¡parallel ¡ Ø All ¡state ¡variables ¡must ¡be ¡incremented ¡before ¡ next ¡subset ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 16 ¡

slide-17
SLIDE 17

Parallelizing ¡Processing ¡of ¡ObservaHons ¡

Ø Finding ¡minimum ¡number ¡of ¡subsets ¡with ¡observaHons ¡ that ¡aren’t ¡close ¡ Ø This ¡is ¡a ¡mutual ¡exclusion ¡scheduling ¡problem ¡ ¡

(common ¡in ¡computer ¡science) ¡

¡ Ø Equivalent ¡to ¡a ¡map ¡coloring ¡problem: ¡

Find ¡minimum ¡number ¡of ¡colors ¡for ¡a ¡‘map’ ¡of ¡observaHons ¡such ¡ that ¡no ¡two ¡close ¡observaHons ¡have ¡the ¡same ¡color ¡

¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 17 ¡

slide-18
SLIDE 18

Solving ¡the ¡Map ¡Coloring ¡Problem ¡

Ø Exact ¡soluHon ¡is ¡NP-­‑hard ¡(very, ¡very ¡expensive) ¡ Ø Cheap ¡algorithms ¡can ¡give ¡approximate ¡answers ¡ Ø Use ¡a ¡greedy ¡algorithm, ¡chooses ¡coloring ¡without ¡ global ¡informaHon ¡ Ø Decreasing ¡Greedy ¡Mutual ¡Exclusion ¡(DGME) ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 18 ¡

slide-19
SLIDE 19

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Find ¡number ¡of ¡observaHons ¡close ¡to ¡each ¡observaHon ¡ ¡ ¡LocalizaHon ¡radius ¡is ¡0.25 ¡ ¡Domain ¡is ¡1x1 ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

19 ¡

slide-20
SLIDE 20

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Color ¡observaHon ¡with ¡most ¡close ¡neighbors ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

20 ¡

slide-21
SLIDE 21

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

None ¡of ¡this ¡observaHon’s ¡neighbors ¡can ¡have ¡the ¡same ¡color ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

21 ¡

slide-22
SLIDE 22

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Pick ¡observaHon ¡with ¡most ¡neighbors ¡that ¡isn’t ¡close ¡to ¡the ¡first ¡red ¡ ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

22 ¡

slide-23
SLIDE 23

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Pick ¡observaHon ¡with ¡most ¡neighbors ¡that ¡isn’t ¡close ¡to ¡a ¡red ¡observaHon ¡ ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

23 ¡

slide-24
SLIDE 24

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Pick ¡observaHon ¡with ¡most ¡neighbors ¡that ¡isn’t ¡close ¡to ¡a ¡red ¡observaHon ¡ ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

24 ¡

slide-25
SLIDE 25

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Pick ¡observaHon ¡with ¡most ¡neighbors ¡that ¡isn’t ¡close ¡to ¡a ¡red ¡observaHon ¡ ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

25 ¡

slide-26
SLIDE 26

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Pick ¡observaHon ¡with ¡most ¡neighbors ¡that ¡isn’t ¡close ¡to ¡a ¡red ¡observaHon ¡ ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

26 ¡

slide-27
SLIDE 27

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Pick ¡observaHon ¡with ¡most ¡neighbors ¡that ¡isn’t ¡close ¡to ¡a ¡red ¡observaHon ¡ ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

27 ¡

slide-28
SLIDE 28

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Pick ¡observaHon ¡with ¡most ¡neighbors ¡that ¡isn’t ¡close ¡to ¡a ¡red ¡observaHon ¡ ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

28 ¡

slide-29
SLIDE 29

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

When ¡no ¡more ¡can ¡be ¡red, ¡repeat ¡for ¡next ¡color ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

SIZE=8

29 ¡

slide-30
SLIDE 30

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

When ¡no ¡more ¡can ¡be ¡yellow, ¡repeat ¡for ¡next ¡color ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

SIZE=8 SIZE=6

30 ¡

slide-31
SLIDE 31

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

When ¡no ¡more ¡can ¡be ¡blue, ¡repeat ¡for ¡next ¡color ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

SIZE=8 SIZE=6 SIZE=3

31 ¡

slide-32
SLIDE 32

Coloring ¡with ¡DGME ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

7 4 3 3 2 1 1 6 4 3 2 2 1 5 5 2 5 4 4

SIZE=8 SIZE=6 SIZE=3 SIZE=3

Ø Four ¡colors ¡is ¡enough ¡for ¡this ¡example ¡

¡Get ¡four ¡subsets ¡of ¡observaHons ¡that ¡can ¡be ¡assimilated ¡sequenHally ¡

¡ Ø Size ¡of ¡subsets ¡varies, ¡smaller ¡as ¡colors ¡proceed ¡

¡This ¡could ¡be ¡a ¡load ¡balancing ¡concern ¡for ¡real ¡problems ¡

32 ¡

slide-33
SLIDE 33

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Randomly ¡distributed ¡observaHons ¡(~127,000) ¡ ¡LocalizaHon ¡radius ¡0.05 ¡ ¡Average ¡of ¡1000 ¡close ¡neighbors ¡ ¡ Red ¡shows ¡observaHons ¡in ¡a ¡given ¡color ¡subset ¡ ¡ ¡Grey ¡background ¡shows ¡2% ¡of ¡total ¡observaHons ¡ ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

289 Observations in Color 1

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

153 Observations in Color 426

33 ¡

slide-34
SLIDE 34

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Randomly ¡distributed ¡observaHons ¡(~127,000) ¡ ¡LocalizaHon ¡radius ¡0.05 ¡ ¡ ¡Average ¡of ¡1000 ¡close ¡neighbors ¡ ¡ Number ¡of ¡observaHons ¡per ¡color ¡nearly ¡constant ¡for ¡most ¡colors ¡ ¡Load ¡balancing ¡not ¡an ¡enormous ¡problem ¡

200 400 600 100 200 300 400 Color Observations per Color

34 ¡

slide-35
SLIDE 35

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

For ¡randomly ¡distributed ¡observaHons ¡

¡Number ¡of ¡colors ¡is ¡mostly ¡funcHon ¡of ¡average ¡number ¡of ¡close ¡obs ¡ ¡This ¡is ¡just ¡observaHon ¡density ¡normalized ¡by ¡localizaHon ¡ ¡Number ¡of ¡colors ¡is ¡slightly ¡greater ¡than ¡half ¡the ¡average ¡number ¡close ¡ ¡

Number ¡of ¡close ¡observaHons ¡is ¡proporHonal ¡to ¡informaHon ¡content ¡ ¡ ¡ ComputaHonal ¡cost ¡is ¡linear ¡in ¡informaHon ¡content ¡

0.1 0.2 0.3 0.4 200 400 600 800 1000 1200 Localization Radius Number of Colors 2000 Expected Close 1000 Expected Close 500 Expected Close 35 ¡

slide-36
SLIDE 36

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Add ¡in ¡simulated ¡satellite ¡track ¡with ¡25,000 ¡observaHons ¡(~152,000 ¡total) ¡

¡LocalizaHon ¡radius ¡0.05 ¡ ¡ ¡ ¡

Red ¡shows ¡observaHons ¡in ¡a ¡given ¡color ¡subset ¡ ¡

¡Grey ¡background ¡shows ¡2% ¡of ¡total ¡observaHons ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

305 Observations in Color 1

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

45 Observations in Color 535

36 ¡

slide-37
SLIDE 37

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Add ¡in ¡simulated ¡satellite ¡track ¡with ¡25,000 ¡observaHons ¡(~152,000 ¡total) ¡

¡LocalizaHon ¡radius ¡0.05 ¡ ¡ ¡ ¡

Background ¡observaHons ¡finished ¡a_er ¡500 ¡colors ¡ ¡ Then ¡many ¡fewer ¡observaHons ¡per ¡color, ¡primarily ¡in ¡satellite ¡track ¡ ¡Load ¡balance ¡issues ¡more ¡serious ¡

500 1000 1500 100 200 300 400 Color Observations per Color

37 ¡

slide-38
SLIDE 38

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Add ¡in ¡two ¡convecHve ¡regions ¡with ¡radar ¡observaHons ¡(~202,000 ¡total) ¡

¡LocalizaHon ¡radius ¡0.05 ¡ ¡ ¡

Red ¡shows ¡observaHons ¡in ¡a ¡given ¡color ¡subset ¡ ¡

¡Grey ¡background ¡shows ¡2% ¡of ¡total ¡observaHons ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

344 Observations in Color 1

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

91 Observations in Color 665

38 ¡

slide-39
SLIDE 39

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

500 1000 1500 100 200 300 400 Color Observations per Color

Add ¡in ¡two ¡convecHve ¡regions ¡with ¡radar ¡observaHons ¡(~202,000 ¡total) ¡

¡LocalizaHon ¡radius ¡0.05 ¡ ¡ ¡ ¡

Last ¡colors ¡only ¡have ¡a ¡few ¡observaHons ¡each ¡

¡These ¡are ¡in ¡regions ¡where ¡satellite ¡and ¡radar ¡overlapped ¡ ¡May ¡be ¡significant ¡load ¡balance ¡issue ¡ ¡

39 ¡

slide-40
SLIDE 40

Preliminary ¡Conclusions ¡

Ø For ¡common ¡atmospheric ¡observaHon ¡distribuHons ¡

Can ¡process ¡many ¡observaHons ¡in ¡parallel ¡ Number ¡of ¡colors ¡is ¡small ¡compared ¡to ¡number ¡of ¡

  • bservaHons ¡

This ¡implies ¡significant ¡speedup ¡

Ø But, ¡what ¡about ¡those ¡state ¡variables? ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 40 ¡

slide-41
SLIDE 41

Must ¡compute ¡all ¡increments ¡ for ¡state ¡variables ¡before ¡ starHng ¡next ¡color.

Ensemble ¡Filter ¡for ¡Large ¡Geophysical ¡Models ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

For ¡each ¡color, ¡can ¡do ¡following ¡independently ¡in ¡parallel: ¡

¡(Each ¡observaHon ¡can ¡be ¡handled ¡by ¡a ¡separate ¡process) ¡

¡

Compute ¡forward ¡operators, ¡h ¡ ¡ ¡ ¡Compute ¡observaHon ¡increments ¡

¡

41 ¡

slide-42
SLIDE 42

UpdaHng ¡State ¡Variables ¡with ¡One ¡Color’s ¡ObservaHons ¡

Ø Compute ¡regression ¡coefficient ¡between ¡observaHon ¡and ¡ state ¡ensembles ¡ Ø Regress ¡observaHon ¡increments ¡onto ¡state ¡ensemble ¡ Ø DistribuHon ¡of ¡state ¡variables ¡onto ¡processes ¡controls ¡ performance ¡

Load ¡balance, ¡slowest ¡process ¡controls ¡speed ¡ CommunicaHon, ¡send ¡obs ¡increments ¡to ¡process ¡with ¡state ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 42 ¡

slide-43
SLIDE 43

DistribuHon ¡of ¡State ¡Variables ¡on ¡P=2N ¡Processes ¡

Ø Total ¡work ¡per ¡process ¡is ¡proporHonal ¡to: ¡

Sum ¡of ¡number ¡of ¡observaHons ¡close ¡to ¡each ¡state ¡variable ¡

¡ Ø Here, ¡look ¡at ¡square ¡1000x1000 ¡grid ¡of ¡state ¡variables ¡

Total ¡1 ¡million ¡(real ¡problems ¡have ¡verHcal, ¡mulHvariate, ¡too) ¡ ¡

Ø Examine ¡3 ¡distribuHons: ¡

1. Random: ¡Each ¡process ¡gets ¡random ¡1/P ¡of ¡state ¡variables ¡ 2. Uniform: ¡Divide ¡domain ¡into ¡P ¡squares ¡of ¡same ¡size ¡ 3. Balanced: ¡Total ¡work ¡for ¡all ¡observaHons ¡approximately ¡equal ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 43 ¡

slide-44
SLIDE 44

Finding ¡a ¡balanced ¡work ¡parHHon ¡of ¡state ¡variables ¡

Ø Divide ¡state ¡grid ¡points ¡into ¡P ¡rectangular ¡subsets ¡

Minimize ¡the ¡maximum ¡total ¡work ¡for ¡any ¡subset ¡ ¡

¡ ¡ Ø OpHmal ¡balanced ¡rectangular ¡parHHon ¡problem ¡

Common ¡in ¡parallel ¡compuHng ¡applicaHons ¡ NP-­‑complete; ¡opHmal ¡soluHon ¡very, ¡very ¡costly ¡

Ø Can ¡use ¡another ¡local ¡greedy ¡algorithm ¡

ComputaHonally ¡cheap ¡ Produces ¡a ¡good ¡approximate ¡soluHon ¡with ¡high ¡probability ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 44 ¡

slide-45
SLIDE 45

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Balanced ¡Rectangular ¡ParHHons ¡for ¡1000x1000 ¡grid ¡points ¡

¡

Grey ¡dots ¡show ¡2% ¡of ¡observaHons ¡ ¡ ParHHon ¡so ¡sum ¡of ¡total ¡work ¡on ¡each ¡side ¡of ¡line ¡is ¡nearly ¡equal ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 2 Partitions 45 ¡

slide-46
SLIDE 46

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Balanced ¡Rectangular ¡ParHHons ¡for ¡1000x1000 ¡grid ¡points ¡

¡

ParHHon ¡each ¡rectangle ¡so ¡sum ¡of ¡total ¡work ¡on ¡each ¡side ¡is ¡nearly ¡equal ¡

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 4 Partitions 46 ¡

slide-47
SLIDE 47

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 8 Partitions

Balanced ¡Rectangular ¡ParHHons ¡for ¡1000x1000 ¡grid ¡points ¡

¡

ParHHon ¡each ¡rectangle ¡so ¡sum ¡of ¡total ¡work ¡on ¡each ¡side ¡is ¡nearly ¡equal ¡

47 ¡

slide-48
SLIDE 48

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 16 Partitions

Balanced ¡Rectangular ¡ParHHons ¡for ¡1000x1000 ¡grid ¡points ¡

¡

ParHHon ¡each ¡rectangle ¡so ¡sum ¡of ¡total ¡work ¡on ¡each ¡side ¡is ¡nearly ¡equal ¡

48 ¡

slide-49
SLIDE 49

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 32 Partitions

Balanced ¡Rectangular ¡ParHHons ¡for ¡1000x1000 ¡grid ¡points ¡

¡

ParHHon ¡each ¡rectangle ¡so ¡sum ¡of ¡total ¡work ¡on ¡each ¡side ¡is ¡nearly ¡equal ¡

49 ¡

slide-50
SLIDE 50

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 64 Partitions

Balanced ¡Rectangular ¡ParHHons ¡for ¡1000x1000 ¡grid ¡points ¡

¡

ParHHon ¡each ¡rectangle ¡so ¡sum ¡of ¡total ¡work ¡on ¡each ¡side ¡is ¡nearly ¡equal ¡

50 ¡

slide-51
SLIDE 51

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 128 Partitions

Balanced ¡Rectangular ¡ParHHons ¡for ¡1000x1000 ¡grid ¡points ¡

¡

ParHHon ¡each ¡rectangle ¡so ¡sum ¡of ¡total ¡work ¡on ¡each ¡side ¡is ¡nearly ¡equal ¡

51 ¡

slide-52
SLIDE 52

Load ¡Balance ¡for ¡Different ¡State ¡Variable ¡DistribuHons ¡

Ø Two ¡observaHon ¡sets: ¡

Random ¡with ¡ ¡~127,000 ¡observaHons ¡ Random ¡plus ¡satellite ¡track ¡plus ¡two ¡radars ¡with ¡~202,000 ¡

Ø Three ¡state ¡variable ¡distribuHons: ¡

Random ¡ Uniform ¡ Balanced ¡ ¡

Ø Two ¡processor ¡counts: ¡

1024 ¡= ¡210 ¡ 8192 ¡= ¡213 ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 52 ¡

slide-53
SLIDE 53

100 200 300 400 500 600 100 200 300 400 500 600 700

Color Work per Process

Max Work Random Partition Max Work Uniform Partition Max Work Balance Partition Mean Work

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Load ¡Balance ¡for ¡Different ¡State ¡Variable ¡DistribuHons ¡

¡ Random ¡observaHon ¡locaHons, ¡8192 ¡processes, ¡1 ¡million ¡state ¡variables ¡ ¡ All ¡processes ¡have ¡same ¡amount ¡of ¡work ¡for ¡opHmal ¡balance ¡ ¡ Difference ¡between ¡max ¡work ¡per ¡process ¡and ¡mean ¡shows ¡poor ¡balance ¡ Random ¡is ¡best, ¡nearly ¡opHmal ¡ ¡ Uniform, ¡Balanced ¡Similar ¡ Take ¡about ¡twice ¡as ¡long ¡

53 ¡

slide-54
SLIDE 54

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Load ¡Balance ¡for ¡Different ¡State ¡Variable ¡DistribuHons ¡

¡ Random ¡+ ¡Sat ¡+ ¡radar ¡observaHons, ¡1 ¡million ¡state ¡variables ¡

¡Random ¡always ¡best ¡ ¡Uniform ¡beter ¡than ¡Balanced ¡for ¡early ¡observaHon ¡colors ¡ ¡Balanced ¡beter ¡than ¡Uniform ¡for ¡later ¡observaHon ¡colors ¡ ¡

200 400 600 800 1000 1200 1400 1000 2000 3000 4000 5000 6000

Color Work per Process

Max Work Random Partition Max Work Uniform Partition Max Work Balance Partition Mean Work 200 400 600 800 1000 1200 1400 100 200 300 400 500 600 700 800 900 1000

Color Work per Process

Max Work Random Partition Max Work Uniform Partition Max Work Balance Partition Mean Work

1024 ¡Processes ¡ 8192 ¡Processes ¡

54 ¡

slide-55
SLIDE 55

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Load ¡Balance ¡for ¡Different ¡State ¡Variable ¡DistribuHons ¡

¡

Ø Random ¡layout ¡is ¡good ¡for ¡all ¡cases ¡examined ¡ Ø Works ¡well ¡even ¡if ¡number ¡of ¡state ¡variables ¡per ¡process ¡gets ¡small ¡ Ø This ¡is ¡what ¡is ¡currently ¡implemented ¡in ¡DART ¡

¡Scales ¡well ¡to ¡several ¡thousand ¡processes ¡for ¡large ¡models ¡ ¡

But, ¡load ¡balancing ¡isn’t ¡everything ¡

¡

55 ¡

slide-56
SLIDE 56

CommunicaHon ¡Cost ¡for ¡ ¡ Different ¡State ¡Variable ¡DistribuHons ¡

Ø State ¡variable ¡distribuHon ¡impacts ¡communicaHon ¡cost ¡ Total ¡number ¡of ¡messages ¡ Total ¡amount ¡of ¡bytes ¡moved ¡

Ø Two ¡types ¡of ¡communicaHon ¡operaHons ¡here ¡

  • 1. ¡Geung ¡state ¡variable ¡ensembles ¡for ¡forward ¡operator ¡
  • 2. ¡Sending ¡obs ¡increments ¡to ¡state ¡variables ¡ ¡ ¡

Second ¡dominates ¡cost ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 56 ¡

slide-57
SLIDE 57

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

CommunicaHon ¡Cost ¡for ¡Different ¡State ¡Variable ¡DistribuHons ¡

¡

Total ¡Number ¡of ¡Messages ¡for ¡Each ¡ObservaHon ¡

¡

4 6 8 10 12 14 10 10

1

10

2

10

3

Log2 Number of Tasks Communication per Observation

Balanced Maximum Balanced Average Balanced Minimum Uniform Maximum Uniform Average Uniform Minimum

Balanced ¡slightly ¡more ¡ ¡ than ¡Uniform ¡ ¡ Both ¡scale ¡linearly ¡with ¡ number ¡of ¡processes ¡(tasks) ¡ ¡ Random ¡requires ¡a ¡message ¡to ¡ EVERY ¡process ¡for ¡each ¡

  • bservaHon! ¡Very ¡costly. ¡

57 ¡

slide-58
SLIDE 58

What ¡Maters ¡when ¡SelecHng ¡ ¡State ¡ Variable ¡DistribuHon? ¡

¡ Ø RelaHve ¡cost ¡of ¡computaHon ¡versus ¡communicaHon ¡(machine ¡dependent) ¡ Ø RelaHve ¡density ¡of ¡state ¡variables ¡and ¡observaHons ¡ Ø ObservaHon ¡density ¡(number ¡of ¡observaHons ¡close ¡to ¡given ¡observaHon) ¡ Ø Amount ¡of ¡observaHon ¡spaHal ¡heterogeneity ¡ Ø DART ¡will ¡implement ¡all ¡three ¡distribuHons ¡discussed ¡here ¡

¡Also ¡tools ¡for ¡implemenHng ¡arbitrary ¡distribuHons ¡

Ø More ¡focused ¡efforts ¡can ¡probably ¡pick ¡one ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 58 ¡

slide-59
SLIDE 59

Other ¡OpHmizaHons ¡we ¡are ¡exploring ¡

  • 1. ¡More ¡state ¡variable ¡parHHons ¡than ¡processes ¡

§ For ¡balanced ¡parHHon, ¡make ¡kP ¡parHHons ¡where ¡ P ¡is ¡number ¡of ¡processes, ¡k ¡is ¡a ¡small ¡integer ¡ § A ¡process ¡gets ¡parHHons ¡with ¡both ¡large ¡and ¡ small ¡numbers ¡of ¡observaHons ¡ § Large ¡parHHons ¡have ¡more ¡work ¡for ¡early ¡colors ¡ § Small ¡parHHons ¡have ¡more ¡work ¡for ¡late ¡colors ¡ § Mix ¡can ¡have ¡beter ¡load ¡balance ¡thru ¡Hme ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 59 ¡

slide-60
SLIDE 60

Other ¡OpHmizaHons ¡(II) ¡

  • 2. ¡Pre-­‑compute ¡observaHons ¡for ¡more ¡than ¡one ¡color ¡

§ Theory ¡allows ¡compuHng ¡h ¡for ¡any ¡number ¡of ¡obs ¡at ¡one ¡Hme ¡ § ObservaHons ¡from ¡later ¡colors ¡are ¡updated ¡just ¡like ¡state ¡variables ¡ § Can ¡‘smooth’ ¡out ¡load ¡for ¡state ¡increments ¡ § Extra ¡computaHon ¡for ¡observaHons ¡(may ¡be ¡small) ¡ § Current ¡DART ¡computes ¡ALL ¡observaHons ¡at ¡once ¡

¡

  • 3. ¡Divide ¡observaHons ¡into ¡pieces, ¡separate ¡state ¡variable ¡

parHHon ¡for ¡each ¡

§ Do ¡uniform ¡observaHons ¡first, ¡then ¡satellite, ¡etc. ¡ § Increased ¡communicaHon ¡to ¡move ¡state ¡variables ¡for ¡different ¡ parHHons ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 60 ¡

slide-61
SLIDE 61

Making ¡EffecHve ¡Use ¡of ¡Coprocessors ¡

Ø Many ¡fast, ¡cheap ¡processors ¡available ¡for ¡each ¡process ¡

¡GPUs ¡

¡INTEL ¡Phi ¡

Ø CommunicaHon ¡to ¡coprocessors ¡(even ¡from ¡local ¡ memory) ¡is ¡slow ¡

Geung ¡a ¡message ¡from ¡off-­‑processor ¡can ¡be ¡really ¡slow ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 61 ¡

slide-62
SLIDE 62

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡

Making ¡EffecHve ¡Use ¡of ¡Coprocessors ¡

¡

For ¡efficient ¡use, ¡need ¡lots ¡of ¡computaHon ¡per ¡communicaHon ¡ ¡ Look ¡at ¡number ¡of ¡state ¡variable ¡updates ¡per ¡received ¡observaHon ¡ increment ¡

4 6 8 10 12 14 10 10

1

10

2

10

3

10

4

Log2 Number of Tasks Work per Message

Balanced Max Balanced Avg Balanced Min Uniform Max Uniform Avg Uniform Min Random Avg

Balanced, ¡Uniform ¡very ¡similar ¡ ¡ Scales ¡very ¡well ¡to ¡many ¡processes ¡ ¡ OpHmisHc ¡about ¡making ¡efficient ¡ use ¡of ¡coprocessors ¡ ¡ Random ¡has ¡much ¡less ¡work ¡per ¡ communicaHon, ¡probably ¡won’t ¡ work ¡ ¡ ¡

62 ¡

slide-63
SLIDE 63

Conclusions ¡

Ø General ¡purpose ¡ensemble ¡filters ¡can ¡scale ¡well ¡to ¡many ¡processes ¡ ¡ Ø Large ¡geophysical ¡problems ¡will ¡scale ¡easily ¡to ¡O(10000) ¡processes ¡ Ø General ¡purpose ¡facility ¡must ¡support ¡flexible ¡data ¡distribuHon ¡ Ø Efficient ¡use ¡of ¡coprocessors ¡may ¡be ¡possible ¡ Ø A ¡parallel ¡implementaHon ¡simulaHon ¡facility ¡is ¡useful ¡

WMO ¡DA ¡Symposium: ¡7 ¡Oct. ¡2013 ¡ 63 ¡

Learn ¡more ¡about ¡DART ¡at ¡ ¡htp://www.image.ucar.edu/DAReS/DART ¡ ¡