Presentation is loading. Please wait.

Presentation is loading. Please wait.

 Sean Mortazavi Architect Microsoft Corporation  Jeff Baxter Software Developer Microsoft Corporation ES13.

Similar presentations


Presentation on theme: " Sean Mortazavi Architect Microsoft Corporation  Jeff Baxter Software Developer Microsoft Corporation ES13."— Presentation transcript:

1  Sean Mortazavi Architect Microsoft Corporation  Jeff Baxter Software Developer Microsoft Corporation ES13

2

3 3 X64 Server $40,000,000$1,000,000$1,000

4 4

5 5

6 Systems Management Job & Resource Scheduling HPC Application Models Storage  Rapid large scale deployment and built-in diagnostics suite  Integrated monitoring, management and reporting  Familiar UI and rich scripting interface  Integrated security via Active Directory  Support for batch, interactive and service-oriented applications  High availability scheduling  Interoperability via OGF’s HPC Basic Profile  MS-MPI stack based on MPICH2 reference implementation  Performance improvements for RDMA networking and multi-core shared memory  MS-MPI integrated with Windows Event Tracing  Access to SQL, Windows and Unix file servers  Key parallel file server vendor support (GPFS, Lustre, Panasas)  In-memory caching options

7 7 MPI Network Private Network Public Network Corporate IT Infrastructure Compute Node Head Node ADDNSDHCP Windows Update Monitoring Systems Management Compute Cluster Admin / User Cons WDS Job Scheduler MPI Management NAT Node Manager MPI Management Compute Node Node Manager MPI Management 10s to 1000s ……….

8  Sean Mortazavi Architect Microsoft Corporation

9 Skip/Demo

10

11

12 12 Group compute nodes based on hardware, software and custom attributes; Act on groupings. Pivoting enables correlating nodes and jobs together Track long running operations and access operation history Receive alerts for failures List or Heat Map view cluster at a glance Skip/Demo

13

14

15 15 Skip/Demo

16 16 Node 1 S0 P0 P1 P2 P3 S1 P0 P1 P2 P3 S2 P0 P1 P2 P3 S3 P0 P1 P2 P3 Node 2 S0 P0 P1 P2 P3 S1 P0 P1 P2 P3 S2 P0 P1 P2 P3 S3 P0 P1 P2 P3 J1 J3 J2 J1: /numsockets:3 /exclusive: false J3: /numcores:4 /exclusive: false J2: /numnodes:1 J3 J1 Skip/Demo

17 17 using Microsoft.Hpc.Scheduler; class Program { static void Main() { IScheduler store = new Scheduler(); store.Connect(“localhost”); ISchedulerJob job = store.CreateJob(); job.AutoCalculateMax = true; job.AutoCalculateMin = true; ISchedulerTask task = job.CreateTask(); task.CommandLine = "ping n *"; task.IsParametric = true; task.StartValue = 1; task.EndValue = 10000; task.IncrementValue = 1; task.MinimumNumberOfCores = 1; task.MaximumNumberOfCores = 1; job.AddTask(task); }

18 18 User Mode Kernel Mode TCP/Ethernet Networking Kernel By-Pass MPI App Socket-Based App MS-MPI Windows Sockets (Winsock + WSD) Networking Hardware Hardware Driver Networking Hardware Mini-port Driver TCP NDIS IP Networking Hardware User Mode Access Layer Networking Hardware WinSock Direct Provider Networking Hardware NetworkDirect Provider RDMA Networking OS Component CCP Component IHV Component (ISV) App

19

20 Task Concurrency Data Parallelism Distributed/ Cloud Computing Local Computing Local Computing Robotics-based manufacturing assembly line Silverlight Olympics viewer Enterprise search, OLTP, collab Animation / CGI rendering Weather forecasting Seismic monitoring Oil exploration Automotive control system Internet –based photo services Ultrasound imaging equipment Media encode/decode Image processing/ enhancement Data visualization IFx / CCR Maestro TPL / PPL Cluster-TPL Cluster-PLINQ MPI / MPI.Net WCF Cluster SOA WF PLINQ TPL / PPL CDS OpenMP

21 21

22 22

23 23

24 24

25 25 A Broadcast P0 P1 P2 P3 A A A A A B C D P0 P1 P2 P3 Reduce R

26  Sean Mortazavi Architect Microsoft Corporation

27 Skip/Demo

28 A BDC A B C D A A A A B B B B C C C C D D D D Scatter Gather All Gather A0 A1 A2 A3 B0 B1 B2 B3 C0 C1 C2 C3 D0 D1 D2 D3 A0 B0 C0 D0 A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 All to All P0 P1 P2 P3 P0 P1 P2 P3

29 A B C D P0 P1 P2 P3 R A B C D P0 P1 P2 P3 A AB ABC ABCD All Reduce R R R Scan

30 30 Skip/Demo

31 31 Serialize Pin Memory

32 32 C#MPI shortMPI_SHORT intMPI_INT floatMPI_FLOAT doubleMPI_DOUBLE Not Valid C#!

33

34

35 35 Service (DLL) Service (DLL) Service (DLL) Service (DLL) Service (DLL) Service (DLL) Service (DLL) Service (DLL) Engineering Applications Structural Analysis Crash Simulation Oil & Gas Applications Reservoir simulation Seismic Processing Life Science Applications Structural Analysis Crash Simulation Financial Services Portfolio analysis Risk analysis Compliance Actual Excel Pricing Modeling Interactive Cluster Applications Your applications here V1 (focusing on batch applications) V2 (focusing on Interactive applications) + Job Scheduler Resource allocation Process Launching Resource usage tracking Integrated MPI execution Integrated Security Job Scheduler Resource allocation Process Launching Resource usage tracking Integrated MPI execution Integrated Security WCF Service Broker WS Virtual Endpoint Reference Request load balancing Integrated Service activation Service life time management Integrated WCF Tracing WCF Service Broker WS Virtual Endpoint Reference Request load balancing Integrated Service activation Service life time management Integrated WCF Tracing

36 36 for (i = 0; i < 100,000,000; i++) { r[i] = worker.DoWork(dataSet[i]); } reduce ( r ); Session session = new session(startInfo); PricingClient client = new PricingClient( binding, session.EndpointAddress); for (i = 0; i < 100,000,000, i++) { client.BeginDoWork(dataset[i], new AsyncCallback(callback), i) } void callback(IAsyncResult handle) { r[inx++] = client.EndDoWork(handle); } // aggregate results reduce ( r ); Sequential Parallel

37 37 Track service resource usage Run service as the user Restart upon failure Support application tracing Balance the requests Grow & shrink service pool Provide WS Interoperability Node heatmap, Perfmon & Event logs Job status Service usage report Tracing logs What Backend does What admin sees What user runs Control Path Data path Http (SSL) Net.Tcp (Transport) LAN

38 38 Service Code WCF Broker Using VSTO and HPC WCF API, developers can enhance the Excel’s calculation power by invoking distributed services Developers use VSTO and SOA API to invoke existing services that are already deployed to the cluster, without having to write any calculation logic or XLLs. As such, the analytics library can be centrally managed, meeting the regulatory requirements… SOASOAAAPPIISOASOAAAPPIIAPI SOASOAAAPPIISOASOAAAPPIIAPI VSTOVSTO CLR HPC Service Host Service Code CLR HPC Service Host Service Code CLR HPC Service Host Service Code CLR HPC Service Host

39  Sean Mortazavi Architect Microsoft Corporation

40 40 Skip/Demo

41 41 High Throughput Skip/Demo

42 42

43  Sean Mortazavi Architect Microsoft Corporation

44 44

45 Source:“Future of Computer Architecture” by David A. Patterson 45 >>

46 46 PS1> DwarfBench -Names SpectralMethod -Size medium -Platform managed -Parallel serial,tpl,mpi –PlotExcel PS1> DwarfBench –Names DenseAlgebra -Size medium -Platform unmanaged,managed -Parallel mpi –PlotVmampir PS1> DwarfBench –Names *grid* -Size Large -Platform unmanaged -Parallel hybrid –PlotVmampir 46

47 47 StructuredGrid code fragment using MPI.NET Skip/Demo

48 48 Skip/Demo

49 49 Skip/Demo

50 50 Skip/Demo

51 51 Surface Game UI: Vectorform Game Engines: SmartGames, MOGO /Irina

52

53  Jeff Baxter Principal SDE Microsoft Corporation

54 Mask off multiples of 2 Mask off multiples of 3 6 primes less than 15

55 55

56 56 All nodes ~100% cpu No Disk, Kernel, DPC or ISR time. No Paging

57 57 Data is Interesting but hard to action

58 58 Comunicating Ranks MPI Message Detail MPI / Application Breakdown Communicating Ranks Per–rank timeline Application / MPI timeline

59 59 Languages/Runtimes C++, C#, VB F#, Python, Ruby, Jscript Fortran (Intel, PGI) OpenMP MPI, MPI.Net C++, C#, VB F#, Python, Ruby, Jscript Fortran (Intel, PGI) OpenMP MPI, MPI.Net Team Development Team portal: version control, scheduled build, bug tracking Test and stress generation Code analysis, Code coverage Performance analysis Team portal: version control, scheduled build, bug tracking Test and stress generation Code analysis, Code coverage Performance analysis IDE Rapid application development Parallel debugging Multiprocessor builds Work flow design Rapid application development Parallel debugging Multiprocessor builds Work flow design.Net Framework LINQ: language integrated query Dynamic Language Runtime Fx/JIT/GC improvements Native support for Web Services LINQ: language integrated query Dynamic Language Runtime Fx/JIT/GC improvements Native support for Web Services Libs / Tools / Partners Debug: Allinea, Vampir, … Mathlibs: VNI, NAG, Intel, AMD, … Eng RAD Tools: Matlab, Mathematica, Maple, ISC, … OSS: Tons in every category Debug: Allinea, Vampir, … Mathlibs: VNI, NAG, Intel, AMD, … Eng RAD Tools: Matlab, Mathematica, Maple, ISC, … OSS: Tons in every category

60 60 Multi-core Cluster GPU Multi-Core Cluster

61

62 Please fill out your evaluation for this session at: This session will be available as a recording at:

63

64 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

65

66 66

67 67

68 68


Download ppt " Sean Mortazavi Architect Microsoft Corporation  Jeff Baxter Software Developer Microsoft Corporation ES13."

Similar presentations


Ads by Google