Successfully reported this slideshow.

Microsoft HPC - Kivanc Ozuolmez - Public Content

623 views

Published on

Part of my presentation on Microsoft HPC technology. The content is reduced, and the part which presents the way HPC architecture is implemented on the client is removed due to data confidentiality.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Microsoft HPC - Kivanc Ozuolmez - Public Content

  1. 1. Kivanc Ozuolmez
  2. 2. Parallel Programming
  3. 3. Parallel Programming Single NodeShared Memory
  4. 4. Parallel Programming Single Node Multiple NodesShared Memory Distributed Memory
  5. 5. Parallel Programming Single Node Multiple Nodes Multiple NodesShared Memory Distributed Memory Distributed Memory On Demand Capacity
  6. 6. MS HPC is here to;- Utilize resource usage / allocation- Job management- Messaging between inter-processes (inter-cpu / inter-memory (mpi))- Demand based resource management
  7. 7. Cluster Topologies
  8. 8. Cluster Topologies
  9. 9. Cluster TopologiesHead Node
  10. 10. Cluster TopologiesHead NodeBroker Nodes
  11. 11. Cluster TopologiesHead NodeBroker Nodes Compute Nodes
  12. 12. Cluster Topologies On PremiseHead NodeBroker Nodes Compute Nodes
  13. 13. Cluster Topologies On PremiseHead NodeBroker Nodes Compute Nodes
  14. 14. Cluster Topologies On PremiseHead NodeBroker Nodes On Premise Workstations (idle computers) Compute Nodes
  15. 15. Management ToolsManagement Console for; - Cluster Deployment - Cluster Management - Job Scheduler - Health, performance, diagnostics
  16. 16. Management Tools
  17. 17. Management Tools
  18. 18. Management Tools
  19. 19. Applications running on HPC - MPI applications - Excel - Self scoped, isolated applications
  20. 20. Clients- HPC Client Console- Excel- API Calls (HPC SDK)
  21. 21. Client APISessionStartInfo hpcSessionStartInfo = newSessionStartInfo(ModelTypeHpcServicesConfiguration.HeadNodeName, serviceConfiguration.ServiceName, newVersion(serviceConfiguration.Version)); hpcSessionStartInfo.JobTemplate = serviceConfiguration.JobTemplateName; // Set user credentials if configured if (!String.IsNullOrEmpty(HpcSessionCredentialConfiguration.UserName)) { hpcSessionStartInfo.Username = HpcSessionCredentialConfiguration.UserName; hpcSessionStartInfo.Password = HpcSessionCredentialConfiguration.Password; } hpcSessionStartInfo.SessionResourceUnitType = SessionUnitType.Core; hpcSessionStartInfo.MinimumUnits = 1; hpcSessionStartInfo.MaximumUnits = 1;using (hpcSession = Session.CreateSession(hpcSessionStartInfo)) { using (brokerClient = CreateBrokerClient(hpcSession)) { brokerClient.SendRequest<ServiceReference.InvokeExecutionOrderRequestMessage>(requestMessage); brokerClient.EndRequests(); foreach (var responseMessage in brokerClient.GetResponses<ServiceReference.InvokeExecutionOrderResponseMessage>()) { ... } } }
  22. 22. Questions?

×