sandia national laboratories · sandia national laboratories is a multiprogram laboratory managed...

20
Department of Computer Science Hans Weeks and Patrick Bridges University of New Mexico Matthew Dosanjh and Ryan Grant Sandia National Laboratories

Upload: others

Post on 26-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Department of Computer Science

HansWeeksandPatrickBridges

UniversityofNewMexico

MatthewDosanjh andRyanGrantSandiaNationalLaboratories

Page 2: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} WewanttowriteperformantOpenSHMEMprograms◦ Howmanyprocessingelements?

◦ Howmanythreads?

◦ Optimalmessagesize?

◦ Whatsynchronizationmethods?

} VeryfewbenchmarksforOpenSHMEM

} Nonethataddressmulti-threading

Problem

2

Page 3: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} Weneedabenchmarksuitewith:◦ Synchronizationmethods◦ Multi-threading

◦ Variablemessagesizes

} AlltheseelementsarepresentinRMA-MT◦ AdapttheRMA-MTsuitetoOpenSHMEM!

Solution

3

Page 4: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} Threaded,1sidedMPIbenchmarks

} Basedon:◦ ThakurandGropp’smulti-threadedbenchmarks◦ SandiaMicroBenchmarks◦ MantevoMiniapps

} 4synchronizationmethods

RMA-MTBenchmarkSuite

4

Page 5: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} Microbenchmarks:◦ Latency◦ Bandwidth◦ MessageRate- singledirection,halo-exchange

} Mini-apps:◦ HPCCG◦ MiniFE◦ MiniMD

RMA-MTBenchmarkSuite

5

Page 6: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} Microbenchmarks:◦ Latency◦ Bandwidth◦ MessageRate- singledirection,halo-exchange

} Mini-apps:◦ HPCCG◦ MiniFE◦ MiniMD

RMA-MTBenchmarkSuite

6

Thakur and GroppSandia Micro Benchmarks

Mantevo Mini Apps

Page 7: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Synchronizations:

Initialization and allocation:

ConvertingbenchmarkstoOpenSHMEM

7

• MPI_Get()• MPI_Put()

• MPI_Init_thread()• MPI_Win_create()

• Fence• Lock• Lock-all• Post/Start/Complete/Wait

• shmem_getmem()• shmem_putmem()

• shmem_init_thread()• shmem_malloc()

• Barrier• Quiet

RMA operations:

Page 8: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} Status◦ Bandwidthandlatencyconvertedtopassivetarget◦ Messagerateconvertedtoactivetarget◦ 2miniappsconvertedtoactivetargetwithMPIcollectivesremaininginnon-criticalpaths◦ Coarsegranularityofthreading

} http://www.cs.sandia.gov/smb/rma-mt.html

ConvertingbenchmarkstoOpenSHMEM

8

Page 9: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} CrayXE30mcluster◦ SandiaNationalLabsVoltacluster

◦ Pernode:2xXeonIvyBridge2.4GHz12-coreprocessorwithhyper-threadingenabled

◦ 32GBRAM

◦ Cray Aries networkinterface

◦ Cray-shmem 7.3.2

} 10runswith10,000iterations perrun

Experimentalsetup

9

Page 10: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Micro-benchmarks

10

Page 11: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Latency

11

Late

ncy

(S

)

Message Size1 Thread 4 Threads 16 Threads

0

0.0001

0.0002

0.0003

0.0004

0.0005

0.0006

1B 2B 4B 8B 16B32B

64B128B

256B512B

1KiB2KiB

4KiB8KiB

16KiB

32KiB

64KiB

128KiB

256KiB

512KiB

1MiB

Page 12: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Latency:Sub-optimalProtocolSwitch

12

Late

ncy

(S

)

Message Size1 Thread 4 Threads 16 Threads

0

0.0001

0.0002

0.0003

0.0004

0.0005

0.0006

1B 2B 4B 8B 16B32B

64B128B

256B512B

1KiB2KiB

4KiB8KiB

16KiB

32KiB

64KiB

128KiB

256KiB

512KiB

1MiB

Page 13: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Bandwidth

13

Ba

nd

wid

th (

MiB

/S)

Message Size1 Thread 4 Threads 16 Threads

0

1000

2000

3000

4000

5000

6000

7000

8000

1B 2B 4B 8B 16B32B

64B128B

256B512B

1KiB2KiB

4KiB8KiB

16KiB

32KiB

64KiB

128KiB

256KiB

512KiB

1MiB

Page 14: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Bandwidth:4threadovertakessinglethread

14

Ba

nd

wid

th (

MiB

/S)

Message Size1 Thread 4 Threads 16 Threads

0

1000

2000

3000

4000

5000

6000

7000

8000

1B 2B 4B 8B 16B32B

64B128B

256B512B

1KiB2KiB

4KiB8KiB

16KiB

32KiB

64KiB

128KiB

256KiB

512KiB

1MiB

Page 15: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

MessageRate:8NodeHaloExchange

15

Mess

age R

ate

Message Size1 Thread 4 Threads 16 Threads

0

2x106

4x106

6x106

8x106

1x107

1.2x107

8B 16B32B

64B128B

256B512B

1KiB2KiB

4KiB8KiB

16KiB

32KiB

64KiB

128KiB

256KiB

512KiB

1MiB

Page 16: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Mini-apps

16

Page 17: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Mini-apps

17

Page 18: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} Thread-basedsynchronizationmethods

} RemoveMPIcallsfromnon-criticalpathsinmini-apps

} Addingmulti-threadingcomputationcomponentofmini-apps

} Addmini-appswithasynchronousalgorithms

} InvestigateSHMEM-MTperformanceonvariousnetworkarchitectures

Futurework

18

Page 19: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

} OakRidgeLeadershipComputingFacility

} ScalableSystemsLab

} SandiaNationalLaboratory◦ SandiaNationalLaboratoriesisamultiprogram laboratorymanagedandoperatedbySandiaCorporation,awholly

ownedsubsidiaryofLockheedMartinCorporation,fortheUnitedStatesDepartmentofEnergy'sNationalNuclearSecurityAdministrationundercontractDE-AC04-94AL85000.

Acknowledgements

19

Page 20: Sandia National Laboratories · Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin

Questions?

20