Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilJáchym Netrval
1
Windows HPC Cluster & WCF
2
Obsah prezentace Windows HPC Cluster (hpc.cs.vsb.cz) Scheduler API Windows Communication Foundation Demo – WCF MandelBrot Set
3
Windows HPC Cluster @ vsb.cz Konfigurace clusteru – 1 x Head node (HPC-MASTER) CPU – 2x Intel Xeon E5405 @ 2.00 GHz RAM – 4090 MB Network – 2x 1 Gbps Ethernet – Připojen k vnější síti (TUONET) a privání síti (Compute nodes) – 3 x Compute node (HPC-NODE0x) CPU – 2x Intel Xeon E5420 @ 2.5 GHz RAM – 16378 MB Network – 2x 1 Gbps Ethernet – Připojen pouze k privátní síti OS Windows Server 2008 Enterprise + HPC Pack
4
Windows HPC Cluster - topologie
5
Scheduler API Umožňuje programátorům programově řídit práci clusteru Alokace zdrojů pro výpočty Příprava úloh Spouštění úloh 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 127.0.0.1 -n *"; task.IsParametric = true; task.StartValue = 1; task.EndValue = 10000; task.IncrementValue = 1; task.MinimumNumberOfCores = 1; task.MaximumNumberOfCores = 1; job.AddTask(task); store.SubmitJob(job, @"hpc\user“, "p@ssw0rd"); }
6
6 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 Možnosti alokace výpočetních zdrojů na Windows HPC Clusteru Node/Socket/Core J3 J1
7
WCF - Windows Communication Foundation KlientSlužba Zpráva ABCABC ABC AddressBindingContract (Kam) (Jak) (Co)
8
Možnosti výměn zpráv One-way (datagram) Odeslání zprávy bez odpovědi Request/ Reply Odeslání zprávy, přijetí jiné zprávy jako odpovědi Odesílatel Příjemce Odesílatel Duplex Odesílatel a příjemce si mohou vyměňovat více zpráv Odesílatel Příjemce
9
Windows HPC Cluster @ vsb.cz Konfigurace clusteru – 1 x Head Node CPU – 2x Intel Xeon E5405 @ 2.00 GHz RAM – 4090 MB Network – 2x 1 Gbps Ethernet – Připojení k vnější síti + připojení k privátní síti – 3 x Compute Node CPU – 2x Intel Xeon E5420 @ 2.50 GHz RAM – 16 378 MB Network – 2x 1 Gbps Ethernet – Připojení pouze k privátní síti Průběh výpočtu na clusteru Head Node WCF Brokers WCF Brokers Head node 1. Uživatel odešle Job. 2. Session Manager startuje WCF Broker job a WCF Service jobs 4. Požadavky 6. Odpovědi Compute Nodes Klientská stanice 5. Odpovědi 3. Požadavky
10
Architektura HPC + WCF 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 heatmaps Perfmon Event logs Job status Service usage report Tracing logs Backend Admin User Control Path Data path
11
Vývoj WCF HPC aplikace Vytvoření služby – Vytvoření ClassLibrary definující Contract – Vytvoření *.config souboru Publikování služby – Publikování na každý node – Publikování na sdílené úložiště – Hybrid Využití služby
12
Vývoj WCF HPC aplikace Visual Studio Vývoj Publikování Klientská apl DLL služeb Spouštění Vývojáři Administrátoři Vývojové (testovací) prostředí Produkční (ostré) prostředí Uživatelé Instalace aplikace Kopírování DLL služeb Registrace Service Publikování služby
13
Vytvoření WCF služby [ServiceContract] public interface IMyInterface { [FaultContract(typeof(MyFault)] [OperationContract] public void MyMethod(MyDataContract); } [ServiceContract] public interface IMyInterface { [FaultContract(typeof(MyFault)] [OperationContract] public void MyMethod(MyDataContract); } [ServiceBehavior(InstanceContextMode=Single] public class MyService: IMyInterface { public void MyMethod(MyDataContract){…} } [ServiceBehavior(InstanceContextMode=Single] public class MyService: IMyInterface { public void MyMethod(MyDataContract){…} } <endpoint name=“MyService” address=“MyAddress” binding=“netTcpBinding” contract=“IMyInterface” /> <endpoint name=“MyService” address=“MyAddress” binding=“netTcpBinding” contract=“IMyInterface” /> Address + Binding + Contract = Endpoint Service Contract Definition Service Type [DataContract] public class MyDataContract {[DataMember] public string MyField; } [DataContract] public class MyDataContract {[DataMember] public string MyField; } Data Contract Definition
14
14 for (i = 0; i < 100,000,000; i++) { r[i] = worker.DoWork(dataSet[i]); } reduce ( r ); Paralelizace WCF aplikace 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); } reduce ( r ); Sequential Parallel
15
Publikování služby Rozkopírování *.dll služby na každý node nebo na sdílené úložiště – C:\Services Registrace služby (zkopírování *.config) – Xcopy “MyService.config” “%CCP_HOME%ServiceRegistration” C:\Program Files\Microsoft HPC Pack\ServiceRegistration
16
WCF MandelBrot Set
17
Zdroje Microsoft HPC Web – http://www.microsoft.com/hpc http://www.microsoft.com/hpc – http://code.msdn.microsoft.com/hpc http://code.msdn.microsoft.com/hpc Windows HPC Community – http://www.windowshpc.net http://www.windowshpc.net
18
© 2007 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. DĚKUJI ZA POZORNOST
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.