Preparing the LHC Computing Grid for MPI Applications Richard de - - PowerPoint PPT Presentation

preparing the lhc computing grid for mpi applications
SMART_READER_LITE
LIVE PREVIEW

Preparing the LHC Computing Grid for MPI Applications Richard de - - PowerPoint PPT Presentation

Enabling Grids for E-sciencE Preparing the LHC Computing Grid for MPI Applications Richard de Jong & Matthijs Koot www.eu-egee.org INFSO-RI-508833 Outline Enabling Grids for E-sciencE Context CERN Grid LCG YAIM


slide-1
SLIDE 1

INFSO-RI-508833

Enabling Grids for E-sciencE

www.eu-egee.org

Preparing the LHC Computing Grid for MPI Applications

Richard de Jong & Matthijs Koot

slide-2
SLIDE 2

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 2

Enabling Grids for E-sciencE

INFSO-RI-508833

Outline

  • Context

– CERN – Grid – LCG – YAIM

  • Problems (and solutions)

– YAIM

  • Context (ct’d)

– Parallel programming

  • Problems (and solutions) (ct’d)

– Single-site MPI – Cross-site MPI

  • Conclusion
slide-3
SLIDE 3

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 3

Enabling Grids for E-sciencE

INFSO-RI-508833

Context: CERN & The LHC Project

  • A new particle

accelerator is being built at CERN

  • 10 PB/year
  • Save (backup) &

Analyze all data

  • By physicists around

the world

  • O(8K) nodes at

CERN

  • But that’s not

enough…

  • Solution: Tier 0, 1, 2
slide-4
SLIDE 4

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 4

Enabling Grids for E-sciencE

INFSO-RI-508833

Context: Data flow

slide-5
SLIDE 5

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 5

Enabling Grids for E-sciencE

INFSO-RI-508833

Context: Grid

  • A grid is a system that (Foster):

– coordinates resources that are not subject to centralized control – using standard, open, general-purpose protocols and interfaces – to deliver nontrivial qualities of service.

  • Keyword: Middleware
slide-6
SLIDE 6

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 6

Enabling Grids for E-sciencE

INFSO-RI-508833

Context: LHC Computing Grid

  • LCG middleware:

– LCG – gLite

  • Both based on existing technology:

– Globus Toolkit – VDT – GridFTP – Condor

  • Components in the LHC architecture:

– User Interface (UI) – To submit a job, retrieve output – Resource Broker (RB) – To find a suitable CE – Compute Element (CE) – To schedule the job – LRMS – Worker Node (WN) – To execute the job – Many more…

slide-7
SLIDE 7

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 7

Enabling Grids for E-sciencE

INFSO-RI-508833

Context: YAIM

  • YAIM = Yet Another Installation Mechanism
  • A tool for Grid middleware deployment

– Scope – Structure – Evaluation

slide-8
SLIDE 8

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 8

Enabling Grids for E-sciencE

INFSO-RI-508833

YAIM: Scope

  • EDG - WP4:

– "provide means to install OS and applications over the network according to policies, to bring a machine in a desired state"

  • Configuration by LCFG(ng), but inflexible and error-

prone

  • So: QUATTOR

– Scope on OS and applications – But: not (so much) on Grid middleware

slide-9
SLIDE 9

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 9

Enabling Grids for E-sciencE

INFSO-RI-508833

YAIM: Scope

  • CERN IT-GD: "should not be so hard"  YAIM

– Configuration template – For small and/or simple sites

  • But for larger sites?
slide-10
SLIDE 10

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 10

Enabling Grids for E-sciencE

INFSO-RI-508833

YAIM: Structure

  • Configuration files

– site-info.def

  • Site wide configuration

– node-info.def - What to configure for which role

  • Scripts

– install_node

  • Install packages

– configure_node - Configure services

  • Functions

– One function covers an atomic piece of configuration – One file per function, one function per file

  • Utilities

– Helper routines

slide-11
SLIDE 11

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 11

Enabling Grids for E-sciencE

INFSO-RI-508833

YAIM: Evaluation

  • Pro:

– Straightforward – Modular – Simple – Easy to use

  • Con:

– Not atomic – Unstructured output – Reconfiguring – Unconfiguring – Users learn to ignore the errors

  • Conclusion: fine for small and/or simple sites

– Meanwhile: QWG to integrate YAIM functionality for large sites

slide-12
SLIDE 12

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 12

Enabling Grids for E-sciencE

INFSO-RI-508833

Context: Parallel Programming

  • Traditional:
  • Use a single processor to solve

multiple problems = SISD

  • Parallel programming:
  • Using multiple processors to

solve a single problem

  • Divide the work:
  • Functional decomposition
  • Each processor a different role =

MISD

  • Domain decomposition
  • Each processor different data =

SIMD

  • Both
  • Each processor it’s own program

and data = MIMD

slide-13
SLIDE 13

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 13

Enabling Grids for E-sciencE

INFSO-RI-508833

  • SISD
  • SIMD

Context: Parallel Programming

slide-14
SLIDE 14

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 14

Enabling Grids for E-sciencE

INFSO-RI-508833

  • MISD
  • MIMD

Context: Parallel Programming

slide-15
SLIDE 15

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 15

Enabling Grids for E-sciencE

INFSO-RI-508833

Context: MPI

  • MPI = Message Passing Interface
  • The MPI library is a widely known and used standard

for parallel programming

  • Multiple implementations available

– MPICH – LAM/MPI – OpenMPI – MS MPI – etc

  • Traffic profile depends on parallel algorithm
slide-16
SLIDE 16

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 16

Enabling Grids for E-sciencE

INFSO-RI-508833

  • Next in line: mrkoot@os3.nl
slide-17
SLIDE 17

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 17

Enabling Grids for E-sciencE

INFSO-RI-508833

Outline

  • Context

– CERN – Grid – LCG – YAIM

  • Problems (and solutions)

– YAIM

  • Context (ct’d)

– Parallel programming

  • Problems (and solutions) (ct’d)

– Single-site MPI – Cross-site MPI

  • Conclusion
slide-18
SLIDE 18

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 18

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Single-Site MPI

  • MPI within a single grid-connected

cluster

  • Integration between MPI and LRMS
slide-19
SLIDE 19

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 19

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

slide-20
SLIDE 20

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 20

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

slide-21
SLIDE 21

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 21

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

  • Job decomposition

– Functional ~, domain ~ – Is it possible to automate?

slide-22
SLIDE 22

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 22

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

  • Co-allocation

– Resource scheduling is tough! – Learn from Koala in DAS-2? – LRMS interoperability?

slide-23
SLIDE 23

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 23

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

slide-24
SLIDE 24

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 24

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

  • MPI interoperability

– MPI is portable, not interoperable – Sites should provide common MPI

slide-25
SLIDE 25

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 25

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

  • Networking

– Latency(-tolerance?) – Protocols (public IP addresses?) – Security (dynamic firewall with VO-EAP?)

slide-26
SLIDE 26

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 26

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

  • Networking (2)

– Collective ops?

slide-27
SLIDE 27

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 27

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

  • Integration is needed between MPI and

grid middleware (AuthN/Z, monitoring)

  • MPICH-G2 demonstrates integration

between MPICH and Globus

  • Might (still?) be usable on LCG
slide-28
SLIDE 28

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 28

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

slide-29
SLIDE 29

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 29

Enabling Grids for E-sciencE

INFSO-RI-508833

Problems: Cross-Site MPI

  • It has been demonstrated

– Legion (2001) – TeraGrid (2003) – K*Grid in Korea (2005)

  • …but not yet over a high-latency,

heterogeneous, Internet-based grid

slide-30
SLIDE 30

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 30

Enabling Grids for E-sciencE

INFSO-RI-508833

  • Single-Site MPI is probably OK
  • Cross-Site MPI is tough, but possible

– Good software engineering required

  • YAIM needs improvement

Conclusion(s)

slide-31
SLIDE 31

Preparing the LHC Computing Grid for MPI - Richard de Jong & Matthijs Koot 31

Enabling Grids for E-sciencE

INFSO-RI-508833

Questions

  • Questions?