technical computing tools combined with cluster...

6
Microsoft Windows Compute Cluster Server 2003 Partner Solution Brief Technical Computing Tools Combined with Cluster Image courtesy of The MathWorks Computing Deliver High-Performance Solutions Microsoft Windows Compute Cluster Server 2003 Integrates with MATLAB Distributed Computing Engine and Distributed Computing Toolbox Windows Compute Cluster Server 2003 allows MATLAB users to quickly and easily get up and running with distributed computing tools. Lisa Kempler, Director of MATLAB Applications, The MathWorks. Overview Region: Global Industry: Technical Computing Partner Profile The MathWorks is the world’s leading developer of technical computing and Model-Based Design software for engineers and scientists in industry, government, and education. The MathWorks offers an extensive product set based on MATLAB ® and Simulink ® . Business Situation In today’s engineering and scientific communities, requirements for technical computing applications and computing capacity are escalating and development times are shortening. Engineers and scientists are finding that the computational complexity of their problems and the sizes of datasets that they must process are exceeding the capability of their workstations. High-performance computing capacity and technical computing tools are critical for coping with these demands. Moreover, organizations want to leverage their existing Microsoft Windows–based infrastructure, tools, and expertise to control costs, save time, and increase productivity. Solution The MathWorks’ Distributed Computing Toolbox and MATLAB Distributed Computing Engine directly support Microsoft Windows Compute Cluster Server 2003. As requirements for technical computing applications and computing capacity escalate, engineers and scientists are finding that the computational complexity of their problems and the sizes of datasets that they must process exceed the capabilities of their workstations. To reduce time to solution and cope with such demands, these experts require solutions that combine high- performance computing (HPC) capacity with high-performance technical computing tools. Until now, HPC capacity was beyond reach for many organizations that lack the technical or financial resources to deploy and administer complex cluster technology. Moreover, until recently there were no commercially available high- level tools for prototyping and developing technical computing applications for distributed environments. Microsoft ® Windows ® Compute Cluster Server 2003 (Windows CCS) combined with The MathWorks’ MATLAB Distributed Computing Engine and Distributed Computing Toolbox allows users to access distributed computing resources from their desktops to solve complex technical computing problems, achieve higher-speed computing at a lower cost than before, and benefit from all the advantages provided by a Windows environment. Benefits Access cluster resources from the desktop Familiar Windows environment for HPC Higher-speed computing at lower cost Simple cluster setup and management Reduced time to solution

Upload: others

Post on 19-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Technical Computing Tools Combined with Cluster …download.microsoft.com/download/8/6/1/86149563-03ec-427e...Scientific Computing Division of the Information Technology Department

Microsoft Windows Compute Cluster Server 2003 Partner Solution Brief

Technical Computing Tools Combined with Cluster

Image courtesy of The MathWorks

Computing Deliver High-Performance Solutions

Microsoft Windows Compute Cluster Server 2003 Integrates with MATLAB Distributed Computing Engine and Distributed Computing Toolbox

Windows Compute Cluster Server 2003 allows

MATLAB users to quickly and easily get up and running with distributed computing tools. Lisa Kempler, Director of MATLAB Applications, The MathWorks.

Overview Region: Global Industry: Technical Computing Partner Profile The MathWorks is the world’s leading developer of technical computing and Model-Based Design software for engineers and scientists in industry, government, and education. The MathWorks offers an extensive product set based on MATLAB®

and Simulink®. Business Situation In today’s engineering and scientific communities, requirements for technical computing applications and computing capacity are escalating and development times are shortening. Engineers and scientists are finding that the computational complexity of their problems and the sizes of datasets that they must process are exceeding the capability of their workstations. High-performance computing capacity and technical computing tools are critical for coping with these demands. Moreover, organizations want to leverage their existing Microsoft Windows–based infrastructure, tools, and expertise to control costs, save time, and increase productivity. Solution The MathWorks’ Distributed Computing Toolbox and MATLAB Distributed Computing Engine directly support Microsoft Windows Compute Cluster Server 2003.

As requirements for technical computing applications and

computing capacity escalate, engineers and scientists are finding

that the computational complexity of their problems and the sizes

of datasets that they must process exceed the capabilities of their

workstations. To reduce time to solution and cope with such

demands, these experts require solutions that combine high-

performance computing (HPC) capacity with high-performance

technical computing tools. Until now, HPC capacity was beyond

reach for many organizations that lack the technical or financial

resources to deploy and administer complex cluster technology.

Moreover, until recently there were no commercially available high-

level tools for prototyping and developing technical computing

applications for distributed environments. Microsoft® Windows®

Compute Cluster Server 2003 (Windows CCS) combined with The

MathWorks’ MATLAB Distributed Computing Engine and Distributed

Computing Toolbox allows users to access distributed computing

resources from their desktops to solve complex technical

computing problems, achieve higher-speed computing at a lower

cost than before, and benefit from all the advantages provided by a

Windows environment. Benefits

Access cluster resources from the desktop Familiar Windows environment for HPC Higher-speed computing at lower cost Simple cluster setup and management Reduced time to solution

Page 2: Technical Computing Tools Combined with Cluster …download.microsoft.com/download/8/6/1/86149563-03ec-427e...Scientific Computing Division of the Information Technology Department

Situation Advancements in high-performance technical computing tools are crucial to engineers and scientists who are dealing with ever-increasing demands that outpace available resources. Shawn Hansen, Director HPC Marketing,

Windows Server Division, Microsoft

Corporation

Today, engineers and scientists are facing more formidable computing challenges. Increasingly, the technical computing applications and computer systems involved in solving intense computational tasks are based on large amounts of data and on complex models, which pose considerable requirements for computing power. These experts often find that the computational complexity of their problem exceeds the capabilities of their computers, or that their technical computing tools are not optimized for a distributed computing environment. These difficulties can result in delays in performing analysis, attaining results, and time to insight. For engineers and scientists to cope with these demands, HPC and technical computing tools that are optimized for distributed computing are critical. MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. Simulink is a platform for multidomain simulation and Model-Based Design for dynamic systems. Engineers and scientists worldwide rely on the MATLAB and Simulink product families to solve computationally complex problems. At the School of Electric and Electronic Engineering (EEE) at Nanyang Technological University (NTU), Singapore, researchers and students use MATLAB functions extensively for data modeling, analysis, algorithm development, data visualization, and simulation.

At Uppsala University, Sweden, researcher Martin Berggren, Ph.D., and students in the Scientific Computing Division of

the Information Technology Department use MATLAB for research in scientific computing. Typically they use MATLAB to prototype new algorithms and methods. For example, MATLAB was used to investigate methods for

putting optimization on top of the solution of partial differential equations in order to find the optimal shape or material distribution of an object. “We need high-performance computing” says Berggren, “and we will need it more and more as we move to larger problems. Currently, when computing speed becomes unbearably sluggish, we often have to laboriously re-implement algorithms in C or Fortran.” Silvina Grad-Freilich of The MathWorks acknowledges that rewriting a technical computing application in C or Fortran “can be an arduous and time-consuming task for which many engineers and scientists do not possess the required skills. For distributed and parallel applications the problem is acerbated even further.” The high-level language of MATLAB allows the domain experts to concentrate on expressing their algorithms rather than embroiling themselves in low-level maneuvers with C and Fortran. With Distributed Computing Toolbox and MATLAB Distributed Computing Engine on Windows CCS, users can easily prototype and develop distributed and parallel computing applications by using MATLAB.

At ExxonMobil Chemical Company in Baytown, Texas,

research chemical engineer Dr. Mike Muhle uses MATLAB and Simulink to perform data analysis, process control, and modeling. For example, advanced process control is used to monitor the “health index” of a process, and requires sampling of events that occur on time scales of a minute or less. Sampling of information is followed by analysis of the feedback data to determine the integrity of the process. This analysis is accomplished by using tools such as MATLAB Statistics Toolbox, or by using third-party MATLAB applications in areas such as nonlinear analysis, linear frequency analysis, or joint time-frequency analysis. For a process control

Page 3: Technical Computing Tools Combined with Cluster …download.microsoft.com/download/8/6/1/86149563-03ec-427e...Scientific Computing Division of the Information Technology Department

application to be useful, says Muhle, “the lag times between information gathering, analysis, and response must be short.” ExxonMobil Chemical currently has several high-speed sampling systems for collecting process data from plant process control systems. However, explains Muhle, “the sampling information is manually collected from the plant every one to two weeks, and a batch process is used to process the data set which can be as large as 1 terabyte in size, and can occupy a single workstation for up to two days.” In this scenario, sampling is occurring at too low a rate for any high-frequency analysis. Also, because a batch process is used every two weeks, it is difficult to immediately detect and respond when something goes wrong in the process and to close the control loop. Muhle wants to conduct high-frequency analysis and shorten the lag time between analyzing the data and responding when something goes wrong in the process. In response, Muhle envisions a Windows CCS distributed computing solution that establishes a small cluster at a plant site that provides rapid feedback on the state of the process. This system feeds process data back to an online distributed control system that monitors the health of the process at one-minute intervals or less. If something goes wrong, a counter control action immediately responds and restores the process to health. At the workgroup level, Muhle and colleagues need to perform data analysis internally and independently schedule their workflow. In the past, they had to rely on corporate services for distributed computing capacity. In a distributed computing environment, security is a key issue for the Muhle’s workgroup. Muhle has secrecy agreements with third-party companies and needs to segregate workflow securely according to those agreements.

“Our workgroup platform is mostly Microsoft Windows―based and we’re unclear how to handle our security issues in a non-Windows environment. Exploiting our Windows expertise and our confidence in Windows security features is a key consideration for our move to a distributed computing environment” says Muhle.

Our workgroup platform is mostly Microsoft Windows–based and we’re unclear how to handle our security issues in a non-Windowsenvironment. Exploiting our Windows expertise and our confidence in Windows security features is a key consideration for our move to a distributed computing environment. Dr. Mike Muhle, Research Chemical Engineer,

ExxonMobil Chemical Company

Solution Windows CCS is an HPC platform for processing large-scale, complex computing problems. Windows CCS runs on commodity x64-based computers, and provides an inexpensive and highly scalable platform for HPC. Windows CCS is based on Windows Server 2003 Standard x64 Edition. MATLAB Distributed Computing Engine and Distributed Computing Toolbox integrate seamlessly with Windows CCS, enabling users to exploit distributed computing resources to solve complex technical computing problems. “Scientists and researchers can now seamlessly use their Windows environments on both the workstation and compute cluster. This ability increases productivity and eliminates the barriers that used to prevent users from accessing a distributed environment” says Shawn Hansen, Director HPC Marketing, Windows Server Division, Microsoft Corporation.

We are pleased to work with The MathWorks to help facilitate the next wave of discovery in the technical computing community by enabling engineers and scientists to unlock the power of distributed computing. Shawn Hansen, Director HPC Marketing,

Windows Server Division, Microsoft

Corporation

Distributed Computing Toolbox support for third-party schedulers, such as the Microsoft Compute Cluster Job Scheduler, enables users to integrate distributed computing tools into their existing distributed computing environments and to execute both distributed and parallel jobs. This approach saves time, increases productivity, and reduces overall cost. With Windows CCS, MATLAB Distributed Computing Engine utilizes the Microsoft Message Passing Interface (MS-MPI) for inter-worker communication to fully exploit the benefits it offers on Windows platform.

Page 4: Technical Computing Tools Combined with Cluster …download.microsoft.com/download/8/6/1/86149563-03ec-427e...Scientific Computing Division of the Information Technology Department

The new Distributed Computing Toolbox support for Windows CCS allows more MATLAB users to benefit from leveraging standard schedulers and underscores our commitment to bringing advanced high-performance computing tools to the engineering and scientific communities. Lisa Kempler, Director of MATLAB

Applications, The MathWorks, Inc.

The MATLAB development environment, shown in Figure 1, enables users to interactively analyze data, visualize data, develop algorithms, and manage projects. “The combination of Distributed Computing Toolbox with Windows CCS, makes the power of high-performance computing available at the departmental and workgroup levels” says Hansen. Integrated, seamless access to HPC and distributed computing tools ultimately accelerates time to solution. Solution Architecture A Windows CCS cluster of servers, shown in Figure 3, includes a single head node and one or more compute nodes. The head node controls and mediates all access to the cluster resources and is the single point of management, deployment, and job scheduling for the compute cluster. The Distributed Computing Toolbox, shown in Figure 2, resides on the client machine. The MATLAB Distributed Computing Engine resides on the cluster. Windows CCS plugs into the scheduler component.

Figure 1—MATLAB development environment Image courtesy of The MathWorks, Inc.

Windows CCS receives jobs from the MATLAB session running on the client machine and coordinates the execution of component tasks. In this way, the user can access cluster resources while working in the MATLAB environment. Additionally, MATLAB distributed computing tools provide an interactive parallel mode for prototyping parallel algorithms. This feature is also supported by Windows CCS.

Figure 2—The Distributed Computing Toolbox runs on the client machine. The toolbox is used to prototype applications and submits them for execution as jobs. MATLAB Distributed Computing Engine executes these applications on a cluster Image courtesy of The MathWorks, Inc.

Page 5: Technical Computing Tools Combined with Cluster …download.microsoft.com/download/8/6/1/86149563-03ec-427e...Scientific Computing Division of the Information Technology Department

Windows Compute Cluster Server 2003 Architecture

Windows Compute Cluster Server 2003 Requirements

CPU Requirement:

64-bit architecture computer: Intel Pentium, or Xeon family with Intel Extended Memory 64 Technology (EM64T) processor architecture, or AMD Opteron family, AMD Athlon family, or compatible processor(s).

Minimum RAM: 512 megabytes (MB)

Maximum RAM: 32 gigabytes (GB)

Multiprocessor Support: Up to 4 processors per node.

Disk Space for Setup: 4 GB

Disk Volumes:

Head node requires a minimum of two volumes (C:\ and D:\ ). For additional roles, additional partitions are recommended. Compute node requires a single volume. RAID 0/1/5 may be used, but is not required.

Network Interface Cards:

All nodes require at least one network interface card (NIC). Each node may require additional NICs as appropriate for the network topology, for public network access or in support of an MPI network.

Windows CCS leverages the functionality of several components to provide authentication and authorization mechanisms, simple and familiar interfaces for managing and administering the cluster, and tools for cluster setup, deployment, job management, CPU efficiency, and more. Job Scheduling The Microsoft Compute Cluster Job Scheduler is a core job management component in the Windows CCS architecture. Job scheduling ensures that the operating system allocates the necessary resources to the simulations, tracks the processors associated with the job, partitions the large scaled-out system to the size required by the simulation job, and de-allocates the resources after producing the result. Microsoft Message Passing Interface MS-MPI acts as the communication software layer between compute nodes on the cluster. Windows CCS provides end-to-end security over secure and encrypted channels throughout the job process when using MS-MPI. As the node manager schedules and assigns the job, the job always runs in the context of the scheduling users. MS-MPI runs

over Gigabit Ethernet, InfiniBand, or any network that provides a Microsoft Windows Sockets 2 (Winsock) Direct-enabled driver. MS-MSPI is based on and compatible with the Argonne National Labs MPICH2 implementation of MPI2. Microsoft Active Directory Windows CCS uses the existing corporate infrastructure and the Microsoft Active Directory® directory service to provide authorization and authentication services. Each node of the cluster must be a member of an Active Directory domain. The Active Directory domain can be independent of the cluster, or can run within the cluster. Head Node The head node provides deployment and administration user interfaces (UIs) as well as management services for the compute cluster. Compute Node Any computer configured to provide computational resources as part of the compute cluster is a compute node. These nodes must run a supported operating system, but they do not require the same operating system or even the same hardware configuration.

Figure 3—Example Windows CCS Cluster

Page 6: Technical Computing Tools Combined with Cluster …download.microsoft.com/download/8/6/1/86149563-03ec-427e...Scientific Computing Division of the Information Technology Department

Benefits For More Information For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Hearing-impaired customers can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234 in the United States or (905) 568-9641 in Canada. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to: www.microsoft.com. For more information about Windows Compute Cluster Server 2003, please visit: http://www.microsoft.com/hpc To join the HPC Community, please visit http://www.windowshpc.net For more information about Distributed Computing Toolbox and MATLAB Distributed Computing Engine, please visit http://www.mathworks.com/products/ distribtb For more information about purchasing MATLAB products, please visit http://www.mathworks.com/company/aboutus/contact_us/ For information about purchasing Microsoft Windows Compute Cluster Server 2003, please email [email protected]

Windows CCS combined with Distributed Computing Toolbox and MATLAB Distributed Computing Engine provides a powerful, scalable, distributed computing solution that is easy to deploy and use, and provides the processing speed necessary to run complex problems on clusters of affordable, industry-standard 64-bit hardware. Moreover, Distributed Computing Toolbox and MATLAB Distributed Computing Engine on Windows CCS enable customers to exploit their existing Windows-based infrastructure, tools, and expertise. Access Cluster Resources from the Desktop The seamless integration of Distributed Computing Toolbox, MATLAB Distributed Computing Engine, and Windows CCS enables users to integrate distributed computing tools into their existing distributed computing environments. This means users can quickly and easily get up and running with distributed computing tools. Accelerate Time to Solution High-performance technical computing tools combined with Windows CCS HPC accelerate time to solution by reducing computational run time, providing integrated access to distributed computing tools and resources, and making available an integrated familiar Windows-based environment.

Increase Computing Power and Leverage the Windows Environment By running Distributed Computing Toolbox and MATLAB Distributed Computing Engine on Windows CCS, The MathWorks enables its customers to increase the computing power available to them while remaining within the Windows environment. With 64-bit cluster technology on industry-standard processors and Windows CCS, customers will achieve faster computations. The ability to leverage existing Windows infrastructure and IT resources yields substantial time and cost savings for Windows CCS customers. Simple Cluster Setup and Management Increases Productivity The tight integration between the Windows CCS operating system, the Job Scheduler, and the MS-MPI results in an off-the-shelf process for customers setting up clusters. Because Windows CCS works with the Active Directory directory service, any Windows administrator can set up a cluster as easily as adding any other network resource.

©sWMM2Mco D

2007 Microsoft Corporation. All rights reserved. This case

tudy is for informational purposes only. MICROSOFT MAKES NO ARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. icrosoft, Microsoft Servers, Windows Compute Cluster Server, essage Passing Interface, and Job Scheduler, Visual Studio 005 are either registered trademarks or trademarks of icrosoft Corporation in the United States and/or other

ountries. All other trademarks are property of their respective wners.

ocument published May, 2007