Presenter: Paul Marshall University of Colorado at Boulder - - PowerPoint PPT Presentation

presenter paul marshall
SMART_READER_LITE
LIVE PREVIEW

Presenter: Paul Marshall University of Colorado at Boulder - - PowerPoint PPT Presentation

Presenter: Paul Marshall University of Colorado at Boulder Ma7hew Woitaszek, Henry Tufo, Rob Knight, Daniel McDonald, Julia Goodrich, Jeremy Widmann


slide-1
SLIDE 1

Presenter: ¡Paul ¡Marshall ¡

University ¡of ¡Colorado ¡at ¡Boulder ¡ Ma7hew ¡Woitaszek, ¡Henry ¡Tufo, ¡Rob ¡Knight, ¡ ¡ Daniel ¡McDonald, ¡Julia ¡Goodrich, ¡Jeremy ¡Widmann ¡

slide-2
SLIDE 2

 BioinformaHcs ¡Knowledge ¡Environment ¡  Workload ¡characterisHcs ¡  High ¡Throughput ¡CompuHng ¡(HTC) ¡on ¡the ¡

Blue ¡Gene/L ¡

 ImplementaHon ¡  Results ¡

slide-3
SLIDE 3

 Encourage ¡collaboraHon ¡among ¡structural ¡

biologists, ¡environmental ¡microbiologists, ¡and ¡ evoluHonary ¡biologists ¡

 Understanding ¡the ¡structure ¡and ¡funcHons ¡of ¡

the ¡biomolecules ¡that ¡are ¡used ¡to ¡infer ¡ phylogeny ¡

 Emerging ¡gene ¡sequencing ¡technologies ¡yield ¡

hundreds ¡of ¡thousands ¡of ¡sequences ¡

slide-4
SLIDE 4

Compute ¡and ¡Storage ¡Resources ¡ ApplicaHons ¡ Grid ¡Technologies ¡and ¡Web ¡Services ¡ Workflow ¡Management ¡ Data ¡Provenance ¡ Tools ¡ Search ¡ Tools ¡ CollaboraHon ¡ Tools ¡ Web ¡Portal ¡

slide-5
SLIDE 5

 FastTree ¡  Clearcut ¡  RAxML ¡

slide-6
SLIDE 6

 Many ¡small ¡input ¡files ¡

  • 5KB ¡up ¡to ¡a ¡few ¡hundred ¡KB ¡
  • To ¡date ¡we ¡have ¡processed ¡over ¡three ¡million ¡input ¡

sequences ¡

 Many ¡small ¡output ¡files ¡  Command ¡line ¡execuHon ¡  Parameter ¡sweeps ¡  RunHmes: ¡

  • RAxML: ¡tens ¡of ¡minutes ¡up ¡to ¡a ¡few ¡hours ¡
  • Clearcut ¡and ¡FastTree: ¡tens ¡of ¡seconds ¡up ¡to ¡tens ¡of ¡

minutes ¡

slide-7
SLIDE 7

 Why ¡not ¡Blue ¡Gene/P? ¡  Why ¡not ¡a ¡Linux ¡cluster? ¡  Why ¡not ¡Condor? ¡  Why ¡not ¡the ¡Cloud? ¡ ¡

slide-8
SLIDE 8

 Our ¡primary ¡large-­‑scale ¡compuHng ¡system ¡  Frost: ¡8192-­‑core ¡Blue ¡Gene/L ¡at ¡the ¡NaHonal ¡

Center ¡for ¡Atmospheric ¡Research ¡(NCAR) ¡

 Intended ¡for ¡massively ¡parallel ¡MPI ¡

applicaHons ¡

 Users ¡allocate ¡processors ¡in ¡64-­‑core ¡parHHons ¡

slide-9
SLIDE 9

 64-­‑core ¡parHHons ¡reserved ¡by ¡a ¡single ¡user ¡  However, ¡now ¡individual ¡cores ¡can ¡execute ¡

different ¡executables ¡

 But, ¡no ¡mechanism ¡for ¡dispatching ¡tasks ¡

  • Hardcoded ¡launcher ¡
  • execve ¡
  • Reboot ¡
slide-10
SLIDE 10

Cobalt Scheduler General HTC Task Launcher Arbitrary Executable Dispatcher

DB

mpirun cqsub execve reboot node after program termination

Ensemble Generator

  • or -

TCP

slide-11
SLIDE 11

 Dedicated ¡database ¡server ¡  Over ¡a ¡million ¡tasks ¡added ¡to ¡the ¡database ¡at ¡

  • nce ¡

 Tasks ¡dispatched ¡to ¡over ¡1000 ¡cores ¡

  • Query ¡the ¡database ¡
  • Update ¡records ¡

 Database ¡completely ¡overwhelmed ¡

  • Database ¡tweaks ¡(prefetching) ¡didn’t ¡help ¡enough ¡
slide-12
SLIDE 12

 More ¡resources ¡  Modify ¡the ¡applicaHons ¡to ¡bundle ¡tasks ¡  Eliminate ¡the ¡database ¡

slide-13
SLIDE 13

 Eliminate ¡the ¡database ¡  Avoid ¡tracking ¡individual ¡items ¡in ¡memory ¡or ¡

a ¡database ¡

 Ensembles ¡

  • Data ¡set ¡represented ¡as ¡files ¡on ¡disk ¡
  • Generators ¡that ¡define ¡the ¡operaHons ¡to ¡be ¡

performed ¡on ¡individual ¡data ¡elements ¡

slide-14
SLIDE 14

 Python ¡ensemble ¡dispatcher ¡that ¡runs ¡on ¡the ¡

front ¡end ¡nodes ¡

 Ensemble ¡dispatcher ¡imports ¡generators ¡  Launcher ¡(wri7en ¡in ¡C) ¡executes ¡on ¡compute ¡

nodes ¡

 CommunicaHon ¡between ¡dispatcher ¡and ¡

launchers ¡over ¡TCP ¡with ¡a ¡custom ¡protocol ¡

slide-15
SLIDE 15

 Iterate ¡through ¡the ¡data ¡set ¡ ¡  Yield ¡an ¡operaHon ¡to ¡be ¡performed ¡on ¡each ¡

data ¡element ¡

  • Executable ¡ ¡
  • Parameters ¡
  • Standard ¡output ¡file ¡
  • Standard ¡error ¡file ¡
slide-16
SLIDE 16

 Generators ¡are ¡implemented ¡as ¡custom ¡

Python ¡modules ¡

  • Create ¡one ¡generator ¡for ¡each ¡ensemble ¡
  • Examine ¡output ¡directories ¡for ¡recovery ¡
slide-17
SLIDE 17

 SHll ¡slow ¡  PossibiliHes: ¡

  • Ensemble ¡dispatcher ¡
  • Blue ¡Gene/L ¡

 Looking ¡closer: ¡

  • Node ¡reboots ¡between ¡each ¡task ¡
slide-18
SLIDE 18

 EliminaHng ¡node ¡reboot ¡overhead ¡  Include ¡dispatcher ¡integraHon ¡in ¡applicaHon ¡

executables ¡

  • Wrap ¡the ¡program’s ¡main() ¡funcHon ¡with ¡code ¡to ¡

contact ¡the ¡dispatcher ¡ ¡

  • If ¡program ¡executes ¡successfully ¡it ¡loops ¡to ¡receive ¡

another ¡task ¡

slide-19
SLIDE 19

Cobalt Scheduler Pass-Through HTC Launcher Wrapped Executable mpirun cqsub execve reboot node after fatal termination next task Dispatcher

Ensemble Generator

TCP

slide-20
SLIDE 20

 ProblemaHc ¡if ¡the ¡applicaHon’s ¡programmers ¡

did ¡not ¡follow ¡good ¡memory ¡management ¡ pracHces ¡

 Global ¡variables ¡must ¡be ¡reiniHalized ¡properly ¡  Loss ¡of ¡generality ¡

slide-21
SLIDE 21

 Measure ¡task ¡cycle ¡Hme ¡  Hardcoded ¡null ¡tasks ¡(sleep ¡0 ¡seconds) ¡  Execute ¡from ¡1 ¡core ¡to ¡64 ¡cores, ¡then ¡mulHple ¡

64 ¡core ¡parHHons ¡

slide-22
SLIDE 22
slide-23
SLIDE 23

 Task ¡cycle ¡Hme ¡increases ¡as ¡more ¡processors ¡

are ¡booted ¡on ¡a ¡single ¡64-­‑core ¡parHHon ¡

  • When ¡a ¡processor ¡boots ¡its ¡kernel ¡is ¡transferred ¡
  • ver ¡the ¡100 ¡Mbps ¡JTAG ¡service ¡network ¡
  • Each ¡64-­‑core ¡parHHon ¡contains ¡1 ¡service ¡

connecHon, ¡nodes ¡uHlize ¡it ¡in ¡a ¡serial ¡fashion ¡

slide-24
SLIDE 24
slide-25
SLIDE 25
slide-26
SLIDE 26

 Wrapped ¡Clearcut ¡executable ¡  12,600 ¡unique ¡input ¡files ¡  256 ¡nodes ¡with ¡512 ¡cores ¡  Original ¡Clearcut: ¡2694 ¡seconds ¡  Wrapped ¡Clearcut: ¡844 ¡seconds ¡

slide-27
SLIDE 27

 The ¡Blue ¡Gene/L ¡is ¡able ¡to ¡process ¡our ¡

bioinformaHcs ¡workload ¡efficiently ¡

 For ¡long ¡running ¡tasks ¡there ¡is ¡no ¡need ¡to ¡

wrap ¡the ¡executable ¡

 Short ¡running ¡tasks ¡should ¡be ¡wrapped ¡  Ensemble ¡dispatcher ¡maintains ¡minimal ¡state ¡

in ¡RAM ¡and ¡can ¡efficiently ¡resume ¡execuHon ¡ by ¡examining ¡output ¡directories ¡

slide-28
SLIDE 28

 Deploy ¡on ¡more ¡resources ¡

  • Grid ¡resources ¡(TeraGrid) ¡
  • Cloud ¡resources ¡(Amazon, ¡Nimbus ¡Clouds) ¡

 Current ¡work ¡is ¡only ¡a ¡preliminary ¡step ¡

towards ¡the ¡larger ¡bioinformaHcs ¡knowledge ¡ environment ¡

  • Integrate ¡the ¡ensemble ¡dispatcher ¡into ¡the ¡

knowledge ¡environment ¡

  • Create ¡and ¡manage ¡dynamically ¡
  • Data ¡annotaHon ¡and ¡provenance ¡
slide-29
SLIDE 29

Paul ¡Marshall ¡ University ¡of ¡Colorado ¡at ¡Boulder ¡ paul.marshall@colorado.edu ¡