# Patent

## Title
Systems and methods for predicting fluid dynamics in a data center

## Abstract

A system and method for predicting airflow within a data center using a potential flow technique is provided. In one aspect, a method includes automatically generating an unstructured grid, the unstructured grid comprising a plurality of unstructured grid cells, each unstructured grid cell having a size, dividing a representation of the data center into the plurality of unstructured grid cells, determining airflow velocity values for each of the plurality of unstructured grid cells using airflow velocity potentials, determining a temperature value for each one of the plurality of the unstructured grid cells using the airflow velocity values, determining a concentration value for each of the plurality of the unstructured grid cells using the airflow velocity values, and calculating a comparison result indicating whether the concentration values, the airflow velocity values and the temperature values for the plurality of the unstructured grid cells satisfy convergence criteria.

## Background
BACKGROUND
1. Technical Field
At least one example relates generally to systems and methods for data center management and design, and more specifically, to systems and methods for predicting airflow dynamics in a data center.
2. Discussion of Related Art
In response to the increasing demands of information-based economies, information technology networks continue to proliferate across the globe. One manifestation of this growth is the centralized network data center. A centralized network data center typically consists of various information technology equipment, collocated in a structure that provides network connectivity, electrical power and cooling capacity. Often the equipment is housed in specialized enclosures termed “racks” which integrate these connectivity, power and cooling elements. In some data center configurations, these rows are organized into hot and cool aisles to decrease the cost associated with cooling the information technology equipment. A raised floor having an air plenum beneath the floor is typically used for providing cooling air to the racks. Cool air is distributed from the air plenum to the racks through perforated tiles having open areas.
Various processes and software applications have been developed to aid data center personnel in designing and maintaining efficient and effective data center configurations. These tools often guide data center personnel through activities such as designing the data center structure, positioning equipment within the data center prior to installation and repositioning equipment after construction and installation are complete. Thus, conventional tool sets provide data center personnel with a standardized and predictable design methodology.
SUMMARY
According to a first aspect, a computer-implemented method for predicting airflow within a data center using a potential flow technique is provided. The method includes acts of automatically generating, by a computer, an unstructured grid, the unstructured grid comprising a plurality of unstructured grid cells, each unstructured grid cell having a size, dividing, by the computer, a representation of the data center into the plurality of unstructured grid cells, determining, by the computer, airflow velocity values for each of the plurality of unstructured grid cells using airflow velocity potentials, determining, by the computer, a temperature value for each one of the plurality of the unstructured grid cells using the airflow velocity values, determining, by the computer, a concentration value for each of the plurality of the unstructured grid cells using the airflow velocity values; and calculating, by the computer, a comparison result indicating whether the concentration values, the airflow velocity values and the temperature values for the plurality of the unstructured grid cells satisfy convergence criteria.
In the method, automatically generating the unstructured grid may include generating a plurality of computational grid cells, some computational grid cell of the plurality of computational grid cells having one of a first size and a second size, the first size being larger than the second size, generating a plurality of visualization cells corresponding to the plurality of computational grid cells, dividing visualization cells of the plurality of visualization cells having the first size into sets of visualization cells having the second size; and displaying the plurality of visualization cells in a visualization plane.
The method may further comprise the act of assigning a plurality of transition values for a subset of the plurality of visualization cells based on a location of each of the plurality of visualization cells included in the subset, the subset including at least one boundary cell and at least on interior cell. In addition, the method may further comprise the act of calculating a new smoothing value for the at least one boundary cell from an original value of the at least one boundary cell and an original value of the at least one interior cell adjacent to the at least one boundary cell.
In the method, the act of calculating the new transition value may further include the act of calculating a scale of the original value of the at least one interior cell adjacent to the at least one boundary cell. In the method, the act of calculating the new transition value may further include calculating a scale of an original values of the at least one boundary cell. In the method, the act of calculating the new transition value may further include calculating a scale of an original values of the at least one boundary cell and the original value of the at least one interior cell adjacent to the at least one boundary cell. The method may further comprise the act of assigning the plurality of transition values to the subset of the plurality of visualization cells to smooth at least one of predicted airflow values and predicted temperature values. The method may further comprise the acts of determining at least one metric using the concentration values, the airflow velocity values and the temperature values, storing the at least one metric, and displaying the at least one metric in a graphical representation of the data center superimposed over a plurality of racks and a plurality of coolers.
In addition, the method may further comprise displaying, in a graphical representation of the data center, at least one of the predicted airflow values and the predicted temperature values for each of the plurality of visualization cells in a visualization plane. In the method, the act of calculating the comparison result may further include determining the concentration values, the airflow velocity values and the temperature values for the plurality of unstructured grid cells using iterative methods. In the method, the act of calculating the comparison result may further include performing the iterative methods until the concentration values, the airflow velocity values and the temperature values satisfy the convergence criteria, wherein the convergence criteria includes a difference between a total power value for racks and a load value for coolers, the racks and coolers being located in the data center. The method may further comprise the acts of determining the convergence criteria for concentrations as a function of a number of airflow objects being located in the data center, wherein the function includes 0.5 percent of a total airflow for mass conservation and 0.5 percent of total power output for energy conservation, and wherein the airflow objects include racks and coolers.
According to another aspect, a system for predicting airflow within a data center using a potential flow technique is provided. The system may include an interface and a controller coupled to the interface and configured to automatically generate an unstructured grid, the unstructured grid comprising a plurality of unstructured grid cells, each unstructured grid cell having a size, divide a representation of the data center into the plurality of unstructured grid cells, determine airflow velocity values for each of the plurality of unstructured grid cells using airflow velocity potentials, determine a temperature value for each one of the plurality of the unstructured grid cells using the airflow velocity values, determine a concentration value for each of the plurality of the unstructured grid cells using the airflow velocity values, and calculate a comparison result indicating whether the concentration values, the airflow velocity values and the temperature values for the plurality of the unstructured grid cells satisfy convergence criteria.
In the system, the controller may be further configured to generate a plurality of computational grid cells, some computational grid cells of the plurality of computational grid cells having one of a first size and a second size, the first size being larger than the second size, generate a plurality of visualization cells corresponding to the plurality of computational grid cells, divide visualization cells of the plurality of visualization cells having the first size into sets of visualization cells having the second size, and display the plurality of visualization cells in a visualization plane. The controller may be further configured to assign a plurality of transition values for a subset of the plurality of visualization cells based on a location of each of the plurality of visualization cells included in the subset, the subset including at least one boundary cell and at least on interior cell. In addition, the controller may be further configured to calculate a new transition value for the at least one boundary cell from an original value of the at least one interior cell adjacent to the at least one boundary cell.
In the system, the controller may be further configured to calculate a scale of the original value of the at least one interior cell adjacent to the at least one boundary cell. The controller may be further configured to calculate a scale of an original values of the at least one boundary cell. The controller may be further configured to calculate a scale of an original values of the at least one boundary cell and the original value of the at least one interior cell adjacent to the at least one boundary cell.
In the system, the controller may be further configured to assign the plurality of transition values to the subset of the plurality of visualization cells to smooth at least one of predicted airflow values and predicted temperature values. The controller may be further configured to determine at least one metric using the concentration values, the airflow velocity values and the temperature values and store the at least one metric. The interface may be further configured to display the at least one metric in a graphical representation of the data center. The at least one metric may be superimposed over a plurality of racks and a plurality of coolers in the graphical representation. The interface may be further configured to display, in a graphical representation of the data center, at least one of the predicted airflow values and the predicted temperature values for each of the plurality of visualization cells in a visualization plane.
In the system, the controller may be further configured to calculate the comparison result by determining the concentration values, the airflow velocity values and the temperature values for the plurality of unstructured grid cells using iterative methods until the concentration values, the airflow velocity values and the temperature values satisfy the convergence criteria. The convergence criteria may include a difference between a total power value for racks and a load value for coolers, the racks and coolers being located in the data center. The controller may be further configured to determine the convergence criteria for concentrations as a function of a number of airflow objects being located in the data center, wherein the function includes 0.5 percent of a total airflow for mass conservation and 0.5 percent of total power output for energy conservation, and wherein the airflow objects include racks and coolers.
Another to another aspect, a computer-readable medium having stored thereon sequences of instruction including instructions that will cause a processor to automatically generate an unstructured grid, the unstructured grid comprising a plurality of unstructured grid cells, each unstructured grid cell having a size, divide a representation of the data center into the plurality of unstructured grid cells, determine airflow velocity values for each of the plurality of unstructured grid cells using airflow velocity potentials, determine a temperature value for each one of the plurality of the unstructured grid cells using the airflow velocity values, determine a concentration value for each of the plurality of the unstructured grid cells using the airflow velocity values, and calculate a comparison result indicating whether the concentration values, the airflow velocity values and the temperature values for the plurality of the unstructured grid cells satisfy convergence criteria.



BRIEF DESCRIPTION OF DRAWINGS
The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
FIG. 1 shows an example computer system with which various aspects disclosed herein may be implemented;
FIG. 2 illustrates an exemplary distributed system configured to model data center fluid dynamics;
FIG. 3 shows a process of determining fluid dynamics in accordance with one example;
FIG. 4 shows a process of automatically generating an unstructured grid in accordance with one example;
FIG. 5 illustrates a process of smoothing grid cell values in accordance with one example;
FIG. 6 illustrates a process of display metrics of interest in a 3-dimensional representation of a data center room in accordance with one example;
FIG. 7 shows a 3-dimensional display including metrics of interest in accordance with one example;
FIG. 8 illustrates a representation of a temperature plane in accordance with one example;
FIG. 9 illustrates another representation of a temperature plane in accordance with one example;
FIG. 10 illustrates a representation of an airflow plane in accordance with one example;
FIG. 11 illustrates another representation of an airflow plane in accordance with one example;
FIG. 12 illustrates a display of airflow values in accordance with one example; and
FIG. 13 illustrates another display of airflow values in accordance with one example.



DETAILED DESCRIPTION
At least some examples relate to systems and processes through which a user may design new data center configurations and analyze, modify, manage and control existing configurations. These systems may facilitate this activity by allowing the user to create models of data center configurations from which performance metrics may be determined. Both the systems and the user may employ these performance metrics to determine alternative data center configurations that meet various design objectives. Further, in at least one example, a system provides prediction of data center airflow for a proposed layout of a data center equipment and also provides prediction of data center airflow for an installed data center.
As described in U.S. patent application Ser. No. 12/019,109, titled “System and Method for Evaluating Equipment Rack Cooling”, filed Jan. 24, 2008 (referred to herein as “the '109 Application”), and in U.S. patent application Ser. No. 11/342,300, titled “Methods and Systems for Managing Facility Power and Cooling” filed Jan. 27, 2006 (referred to herein as “the '300 application”), both of which are assigned to the assignee of the present application, and both of which are hereby incorporated herein by reference in their entirety, typical equipment racks in modern data centers draw cooling air in front of the rack and exhaust air out the rear of the rack. The equipment racks, and in-row coolers are typically arranged in rows in an alternating front/back arrangement creating alternating hot and cool aisles in a data center with the front of each row of racks facing the cool aisle and the rear of each row of racks facing the hot aisle. Adjacent rows of equipment racks separated by a cool aisle may be referred to as a cool aisle cluster, and adjacent rows of equipment racks separated by a hot aisle may be referred to as a hot aisle cluster. As readily apparent to one of ordinary skill in the art, a row of equipment racks may be part of one hot aisle cluster and one cool aisle cluster. In descriptions and claims herein, equipment in racks, or the racks themselves, may be referred to as cooling consumers, and in-row cooling units and/or computer room air conditioners (CRACs) may be referred to as cooling providers. In the referenced applications, tools are provided for analyzing the cooling performance of a cluster of racks in a data center. In these tools, multiple analyses may be performed on different layouts to attempt to optimize the cooling performance of the data center.
In a typical data center that uses CRACs to provide cooling, airflow output from the CRACs is typically distributed to equipment racks using an under-floor plenum. The CRACs pump cool air into the plenum, and the air exits the plenum through perforated floor tiles which are typically located in front of equipment racks. For facilities employing a hot aisle/cool aisle design, the perforated tiles are typically contained in the cool aisles.
It is known to use commercially available Computational Fluid Dynamics (CFD) based software programs, such as “FLOVENT” available from Mentor Graphics Corporation, to conduct analyses of the airflows. However, these programs are typically extremely expensive, slow to run, and require special expertise to operate.
At least some examples described herein are directed to tools and methods by which data center airflow performance may be estimated in real time or near real time using common computers. The tools and methods may be used in conjunction with both data center design tools and with data center management tools and do not require users with a high degree of expertise in fluid dynamics.
The aspects disclosed herein are not limited in their application to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. These aspects are capable of assuming other examples and of being practiced or of being carried out in various ways. Examples of specific implementations are provided herein for illustrative purposes only and are not intended to be limiting. In particular, acts, elements and features discussed in connection with any one or more examples are not intended to be excluded from a similar role in any other example.
For instance, according to one example, a computer system is configured to perform any of the functions described herein, including but not limited to, configuring, modeling and presenting information regarding specific data center configurations. Further, computer systems in examples of the data center may be used to automatically measure environmental parameters in a data center, and control equipment, such as chillers or coolers to optimize performance. Moreover, the systems described herein may be configured to include or exclude any of the functions discussed herein. Thus examples are not limited to a specific function or set of functions. Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use herein of “including,” “comprising,” “having,” “containing,” “involving,” and variations thereof is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
Computer System
Various aspects and functions described herein may be implemented as hardware or software on one or more computer systems. There are many examples of computer systems currently in use. These examples include, among others, network appliances, personal computers, workstations, mainframes, networked clients, servers, media servers, application servers, database servers and web servers. Other examples of computer systems may include mobile computing devices, such as cellular phones and personal digital assistants, and network equipment, such as load balancers, routers and switches. Further, aspects may be located on a single computer system or may be distributed among a plurality of computer systems connected to one or more communications networks.
For example, various aspects and functions may be distributed among one or more computer systems configured to provide a service to one or more client computers, or to perform an overall task as part of a distributed system. Additionally, aspects may be performed on a client-server or multi-tier system that includes components distributed among one or more server systems that perform various functions. Thus, examples are not limited to executing on any particular system or group of systems. Further, aspects may be implemented in software, hardware or firmware, or any combination thereof. Thus, aspects may be implemented within methods, acts, systems, system elements and components using a variety of hardware and software configurations, and examples are not limited to any particular distributed architecture, network, or communication protocol.
FIG. 1 shows a block diagram of a distributed computer system 100, in which various aspects and functions may be practiced. Distributed computer system 100 may include one or more computer systems. For example, as illustrated, distributed computer system 100 includes computer systems 102, 104 and 106. As shown, computer systems 102, 104 and 106 are interconnected by, and may exchange data through, communication network 108. Network 108 may include any communication network through which computer systems may exchange data. To exchange data using network 108, computer systems 102, 104 and 106 and network 108 may use various methods, protocols and standards, including, among others, token ring, ethernet, wireless ethernet, Bluetooth, TCP/IP, UDP, Http, FTP, SNMP, SMS, MMS, SS7, JSON, Soap, and Corba. To ensure data transfer is secure, computer systems 102, 104 and 106 may transmit data via network 108 using a variety of security measures including TLS, SSL or VPN among other security techniques. While distributed computer system 100 illustrates three networked computer systems, distributed computer system 100 may include any number of computer systems and computing devices, networked using any medium and communication protocol.
Various aspects and functions disclosed herein may be implemented as specialized hardware or software executing in one or more computer systems including computer system 102 shown in FIG. 1. As depicted, computer system 102 includes processor 110, memory 112, bus 114, interface 116 and storage 118. Processor 110 may perform a series of instructions that result in manipulated data. Processor 110 may be a commercially available processor such as an Intel Pentium, Motorola PowerPC, SGI MIPS, Sun UltraSPARC, or Hewlett-Packard PA-RISC processor, but may be any type of processor or controller as many other processors and controllers are available. Processor 110 is connected to other system elements, including one or more memory devices 112, by bus 114.
Memory 112 may be used for storing programs and data during operation of computer system 102. Thus, memory 112 may be a relatively high performance, volatile, random access memory such as a dynamic random access memory (DRAM) or static memory (SRAM). However, memory 112 may include any storage device for storing data, such as a disk drive or other non-volatile, non-transitory, storage device. Various examples may organize memory 112 into particularized and, in some cases, unique structures to perform the aspects and functions disclosed herein.
Components of computer system 102 may be coupled by an interconnection element such as bus 114. Bus 114 may include one or more physical busses, for example, busses between components that are integrated within a same machine, but may include any communication coupling between system elements including specialized or standard computing bus technologies such as IDE, SCSI, PCI and InfiniBand. Thus, bus 114 enables communications, for example, data and instructions, to be exchanged between system components of computer system 102.
Computer system 102 also includes one or more interface devices 116 such as input devices, output devices and combination input/output devices. Interface devices may receive input or provide output. More particularly, output devices may render information for external presentation. Input devices may accept information from external sources. Examples of interface devices include keyboards, mouse devices, trackballs, microphones, touch screens, printing devices, display screens, speakers, network interface cards, etc. Interface devices allow computer system 102 to exchange information and communicate with external entities, such as users and other systems.
Storage system 118 may include a computer readable and writeable nonvolatile, non-transitory storage medium in which instructions are stored that define a program to be executed by the processor. Storage system 118 also may include information that is recorded, on or in, the medium, and this information may be processed by the program. More specifically, the information may be stored in one or more data structures specifically configured to conserve storage space or increase data exchange performance. The instructions may be persistently stored as encoded signals, and the instructions may cause a processor to perform any of the functions described herein. The medium may, for example, be optical disk, magnetic disk or flash memory, among others. In operation, the processor or some other controller may cause data to be read from the nonvolatile, non-transitory recording medium into another memory, such as memory 112, that allows for faster access to the information by the processor than does the storage medium included in storage system 118. The memory may be located in storage system 118 or in memory 112, however, processor 110 may manipulate the data within the memory 112, and then copies the data to the medium associated with storage system 118 after processing is completed. A variety of components may manage data movement between the medium and integrated circuit memory element and examples are not limited thereto. Further, examples are not limited to a particular memory system or storage system.
Although computer system 102 is shown by way of example as one type of computer system upon which various aspects and functions may be practiced, aspects are not limited to being implemented on the computer system as shown in FIG. 1. Various aspects and functions may be practiced on one or more computers having different architectures or components than that shown in FIG. 1. For instance, computer system 102 may include specially-programmed, special-purpose hardware, such as for example, an application-specific integrated circuit (ASIC) tailored to perform a particular operation disclosed herein, while another example may perform the same function using several general-purpose computing devices running MAC OS System X with Motorola PowerPC processors and several specialized computing devices running proprietary hardware and operating systems.
Computer system 102 may be a computer system including an operating system that manages at least a portion of the hardware elements included in computer system 102. Usually, a processor or controller, such as processor 110, executes an operating system which may be, for example, a Windows-based operating system, such as, Windows NT, Windows 2000 (Windows ME), Windows XP or Windows Vista operating systems, available from the Microsoft Corporation, a MAC OS System X operating system available from Apple Computer, one of many Linux-based operating system distributions, for example, the Enterprise Linux operating system available from Red Hat Inc., a Solaris operating system available from Sun Microsystems, or a UNIX operating system available from various sources. Many other operating systems may be used, and examples are not limited to any particular implementation.
The processor and operating system together define a computer platform for which application programs in high-level programming languages may be written. These component applications may be executable, intermediate, for example, C-, bytecode or interpreted code which communicates over a communication network, for example, the Internet, using a communication protocol, for example, TCP/IP. Similarly, aspects may be implemented using an object-oriented programming language, such as .Net, SmallTalk, Java, C++, Ada, or C# (C-Sharp). Other object-oriented programming languages may also be used. Alternatively, functional, scripting, or logical programming languages may be used.
Additionally, various aspects and functions may be implemented in a non-programmed environment, for example, documents created in HTML, XML or other format that, when viewed in a window of a browser program, render aspects of a graphical-user interface or perform other functions. Further, various examples may be implemented as programmed or non-programmed elements, or any combination thereof. For example, a web page may be implemented using HTML while a data object called from within the web page may be written in C++. Thus, examples are not limited to a specific programming language and any suitable programming language could also be used. Further, in at least one example, the tool may be implemented using VBA Excel.
A computer system included within an example may perform additional functions. For instance, aspects of the system may be implemented using an existing commercial product, such as, for example, Database Management Systems such as SQL Server available from Microsoft of Seattle Wash., Oracle Database from Oracle of Redwood Shores, Calif., and MySQL from MySQL AB of Uppsala, Sweden or integration software such as Web Sphere middleware from IBM of Armonk, N.Y. However, a computer system running, for example, SQL Server may be able to support both aspects disclosed herein and databases for sundry other applications.
Example System Architecture
FIG. 2 presents a context diagram including physical and logical elements of distributed system 200. As shown, distributed system 200 is specially configured in accordance with a particular example. The system structure and content recited with regard to FIG. 2 is for exemplary purposes only and is not intended to limit examples to the specific structure shown in FIG. 2. As will be apparent to one of ordinary skill in the art, many variant system structures can be architected without deviating from the scope of the examples disclosed herein. The particular arrangement presented in FIG. 2 was chosen to promote clarity.
Information may flow between the elements, components and subsystems depicted in FIG. 2 using any technique. Such techniques include, for example, passing the information over the network via TCP/IP, passing the information between modules in memory and passing the information by writing to a file, database, or some other non-volatile storage device. Other techniques and protocols may be used without departing from the scope of the examples disclosed herein.
Referring to FIG. 2, system 200 includes user 202, interface 204, data center design and management system 206, communications network 208 and data center database 210. System 200 may allow user 202, such as a data center architect or other data center personnel, to interact with interface 204 to create or modify a model of one or more data center configurations. According to one example, interface 204 may include aspects of the floor editor and the rack editor as disclosed in Patent Cooperation Treaty Application No. PCT/US08/63675, entitled METHODS AND SYSTEMS FOR MANAGING FACILITY POWER AND COOLING, filed on May 15, 2008, which is incorporated herein by reference in its entirety, and is hereinafter referred to as PCT/US08/63675. In other examples, interface 204 may be implemented with specialized facilities that enable user 202 to design, in a drag and drop fashion, a model that includes a representation of the physical layout of a data center or any subset thereof. This layout may include representations of data center structural components, including raised floor plenum characteristics, as well as data center equipment. The features of interface 204, as may be found in various examples are discussed further below. In at least one example, information regarding a data center is entered into system 200 through the interface, and assessments and recommendations for the data center are provided to the user. Further, in at least one example, optimization processes may be performed to optimize cooling performance and energy usage of the data center.
As shown in FIG. 2, data center design and management system 206 presents data design interface 204 to user 202. According to one example, data center design and management system 206 may include the data center design and management system as disclosed in PCT/US08/63675. In this example, design interface 204 may incorporate functionality of the input module, the display module and the builder module included in PCT/US08/63675 and may use the database module to store and retrieve data.
As illustrated, data center design and management system 206 may exchange information with data center database 210 via network 208. This information may include any information required to support the features and functions of data center design and management system 206. For example, in one example, data center database 210 may include at least some portion of the data stored in the data center equipment database described in PCT/US08/63675. In another example, this information may include any information required to support interface 204, such as, among other data, the physical layout of one or more data center model configurations, the production and distribution characteristics of the cooling providers included in the model configurations, the consumption characteristics of the cooling consumers in the model configurations, and a listing of equipment racks and cooling providers to be included in a cluster.
In one example, data center database 210 may store types of cooling providers, the amount of cool air provided by each type of cooling provider, and a temperature of cool air provided by the cooling provider. Thus, for example, data center database 210 includes records of a particular type of CRAC unit that is rated to deliver airflow at the rate of 5,600 cfm at a temperature of 68 degrees Fahrenheit. In addition, the data center database 210 may store one or more cooling metrics, such as inlet and outlet temperatures of the CRACs and inlet and outlet temperatures of one or more equipment racks. The temperatures may be periodically measured and input into the system, or in other examples, the temperatures and airflows may be continuously monitored using devices coupled to the system 200. Further in some examples, for installed data centers, actual airflow measurements from one or more perforated tiles may be used by a system to improve accuracy of one of the processes described herein. Still further, the measured airflow may be used by a system in one example as a check against calculated airflows, and when a difference between measured and calculated exceeds a preset threshold, a warning may be initiated to alert an operator of the system.
Data center database 210 may take the form of any logical construction capable of storing information on a computer readable medium including, among other structures, flat files, indexed files, hierarchical databases, relational databases or object oriented databases. The data may be modeled using unique and foreign key relationships and indexes. The unique and foreign key relationships and indexes may be established between the various fields and tables to ensure both data integrity and data interchange performance.
The computer systems shown in FIG. 2, which include data center design and management system 206, network 208 and data center equipment database 210, each may include one or more computer systems. Further, the system in FIG. 2 may also connect to one or more devices in a data center, including components of the cooling system or power distribution system to control and monitor these systems. As discussed above with regard to FIG. 1, computer systems may have one or more processors or controllers, memory and interface devices. The particular configuration of system 200 depicted in FIG. 2 is used for illustration purposes only and examples may be practiced in other contexts. Thus, examples are not limited to a specific number of users or systems.
In at least one example, which will now be described, a tool is provided that predicts in real-time the airflow throughout a data center. The tool utilizes novel methods of modeling the data center and simplifying analysis of the models to predict real-time airflow performance. The ability to predict performance in real-time or near real-time allows the tool to be used to quickly analyze several possible solutions and consider various design trade-offs. As discussed further below, the tool can be used as a stand-alone trade-off tool, incorporated in a data center design system, or incorporated as part of a data center management system.
Potential Flow Method (PFM)
The Potential Flow Method is a physics-based technique used in one example to compute the data center airflow patterns. The PFM operates under the assumption that airflow is incompressible and irrotational. For airflow which can be modeled as incompressible and irrotational, the airflow pattern may be determined from Poisson's Equation as shown in Equation (1).

∇2φ=S′′′  (1)

where S′′′ is a volumetric-flow-rate source per unit volume and φ is the velocity potential, related to the x, y and z-velocity components is as shown in Equation (2).





  
    
      
        
          u
          =
          
            
              ∂
              φ
            
            
              ∂
              x
            
          
        
        ,
        
          v
          =
          
            
              ∂
              φ
            
            
              ∂
              y
            
          
        
        ,
        
          w
          =
          
            
              ∂
              φ
            
            
              ∂
              z
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




In the absence of a source term, Equation (1) reduces to Laplace's Equation, ∇2φ=0. Irrotational flows are frictionless and thus the airflow “slips” along air-solid interfaces. Consequently, airflow boundary conditions consistent with the PFM approach are: 1) prescribed normal velocities at the faces of flow objects like racks and coolers, 2) no “penetration” of airflow into solid surfaces in the normal direction, and 3) “slip” parallel to solid surfaces. No pressure calculations are required in PFM. However, a method for coupling pressure to the airflow prediction could be used to model certain flow boundary conditions, such as perforated tiles, that depend on pressure. One such method that uses the Bernoulli Equation is described in U.S. patent application Ser. No, 12/884,832, entitled “SYSTEM AND METHOD FOR PREDICTING PERFORATED TILE AIRFLOW IN A DATA CENTER”, filed Sep. 17, 2010, which is incorporated herein by reference in its entirety.
Once the airflow velocities are determined, temperatures may be determined using the energy Equation (3).

{right arrow over (V)}·∇T=α∇2T  (3)

where α=k/(ρcp) is the thermal diffusivity. In practice, the diffusion term on the right-hand side of Equation (3) can be neglected in favor of the dominant convection terms; however, retaining the diffusion term adds the additional degree of freedom, α, which could be “tuned” to affect the accuracy of the predictions from the PFM.

The Capture Index (CI) metrics provide quantitative measurements of fundamental rack inlet and exhaust airflow patterns and are, therefore, useful in assessing the quality of the predictions of the PFM. To compute CIs, we must track the concentration of a passive mass species downstream from rack and cooler outlets. The mass species equation, Equation (4), expressed as a mass concentration C1 of species 1 is analogous to the temperature equation, Equation (3).

{right arrow over (V)}·∇C1=D∇2C1   (4)

where D is the mass diffusivity of species C1 into the primary fluid (air). To be “passive,” species C1 is assumed to have the properties of air and D, therefore, represents the diffusivity of air into air. As with the temperature prediction, the diffusion term on the right-hand side of the Equation (4) can be neglected in favor of the more dominant convection terms. However, again, the additional degree of freedom afforded by D offers the potential to further “tune” PFM predictions.

These equations may appear simple; however, the complex boundary conditions for a real data center application make analytical solutions of equations either impossible or very difficult and not very general. In one example, which will now be described, a numerical solution to the problem uses a Finite Differencing method. Following this method, the physical problem space to be analyzed is divided into a number of grid cells. In some examples, the grid of cells is a structured Cartesian grid. In other examples, the grid is an unstructured grid. Unstructured grids can provide significant advantages. For instance, in one example, a two-dimensional unstructured Cartesian grid scheme implemented for a potential-flow analysis of data center airflow provided virtually identical results to structured grid cells of equal or even much smaller average size. One process for automatically generating an unstructured grid is discussed further below with reference to FIG. 4.
For each grid cell, algebraic approximations of Equations (1), (3), and (4) are formulated. Scalar values such as velocity potentials, temperatures, and concentrations are calculated at the center (node) of each cell while velocities are computed at each cell face. According to one example, these scalar values are solved iteratively using a standard technique such as the Gauss-Seidel method as described in Advanced Engineering Mathematics, by E. Kreyszig Seventh Edition. 1993. John Wiley & Sons, New York. p. 986. In this method, the unknown associated with each grid cell is written explicitly on the left-hand side of the equation. An initial guess is made for all unknowns and then the guesses are improved by considering each equation in turn, marching through all grid cells. For each grid cell equation, the most-recently computed values of all unknowns are always used. The solver keeps sweeping through all grid cell equations until the unknowns no longer change, the convergence criteria is satisfied or a fixed iteration limit has been reached.
In at least one example, the convergence criteria is satisfied where the measurement of error transgresses a threshold of approximately one-half percent of an appropriate data center scale (for example, total room airflow for mass balance, total energy added to the room for energy balance and a function of the number of airflow objects in the room for species conservation). As referred to herein, an “airflow object” is any object with an airflow inlet or exhaust. Examples of airflow objects include tiles, cooler, racks, ceiling returns, and CRAC returns. The measurement of error may be any norm of the vector of absolute error: maximum absolute error over all grid cells, the sum of absolute error, the square root of the sum of squared absolute errors, etc. The thresholds used are very important for efficiency and accuracy. A threshold that is very difficult to attain will waste computational resources and time. Weak thresholds may provide inaccurate flow fields.
According to one example, a computer system, such as the data center design and management system 206 described above, implements the PFM. FIG. 3 illustrates a PFM process 300 in accord with this example. As shown in act 302 of FIG. 3, the computer system first solves the velocity potential equations of the grid cells iteratively until satisfying a specified mass balance error threshold, which is a function of the total room airflow. Once the velocity potential field is determined, the computer system next determines velocities in act 304. In act 306, the computer system solves the temperature equations of the grid cells iteratively, using the calculated grid cell boundary velocities, until satisfying a specified energy balance error threshold, which is a function of the total energy added to the room. Alternatively, in the act 306, the computer system may solve the temperature equations of the grid cells iteratively, using the calculated grid cell boundary velocities, until the difference between the rack loads and the cooler return loads satisfies a specified error threshold of the total energy added to the room. In act 308, the computer system also solves species conservation equations of the grid cells iteratively (as indicated by capture index) until satisfying a specified species conservation error threshold, which is a function of the number of airflow objects occupying the room using the calculated grid cell velocities.
In act 310, the computer system determines whether the convergence criteria used in the acts 306 and 308 was met. If so, the computer system terminates the process 300. If not, in act 312, the computer system either configures the act 302 to execute an additional number of iterations or tightens the mass balance threshold and returns to the act 302 to execute additional velocity potential iterations. In this way the process 300 gains additional precision with which to re-execute the acts 304 through 308, thereby increasing the likelihood that convergence will occur in both of the acts 306 and 308. Thus, the process 300 provides a robust method that will employ multiple iterations through the velocity potential equations, where appropriate to deliver accurate and timely results.
Automatic Generation of Unstructured Grids for Data Centers
As discussed above, unstructured or variable grid structures can provide significant computational advantages. According to some examples, a specially configured computer system, such as the data center design and management system 206 described above, implements a process to automatically generate three-dimensional unstructured grids within modeled data center rooms. FIG. 4 illustrates a grid (i.e. a computational grid) generation process 400 in accord with these examples.
As shown in FIG. 4, a computer system executing the process 400 begins by reading information representing the physical layout of a data center room in act 402. This layout information may represent a variety of characteristics associated with the room and the objects housed therein. Examples of these characteristics include, among others, the dimensions of the room, walled off portions within the room (referred to herein as cutouts), equipment racks, information technology equipment deployed within the equipment racks, CRACs, UPSs, PDUs, raised floor characteristics, perforated tiles in the room and in-row cooling equipment.
In act 404, the computer system allocates the modeled space described by the layout information into a grid of cells. In some examples, this grid of cells is a three-dimensional, unstructured Cartesian grid. In the illustrated example, the computer system constructs the grid cells with an aspect ratio of 1 (cuboidal). In addition, according to the illustrated example, the computer system assigns each cell a size of small (representing approximately 6 inches in each dimension), medium (representing approximately 1 foot in each dimension) or large (representing approximately 2 foot in each dimension). Other examples may use other grid structures and grid cell sizes and examples are not limited to a specific grid or grid cell structure.
Further, in some examples of the act 404, the computer system allocates the grid cells using a modified octree method, that begins with larger sized cells that are subdivided into smaller cells to provide refinement where required (such as near walls, airflow objects, cutouts, heat sources, etc.) and to provide a standardized transition from smaller to larger cells. In other examples, the computer system also uses a smaller size for cells that border on inlets or exhausts of airflow objects or heat sources on walls, cutouts, or non-airflow objects. This approach ensures that a certain level of granularity is preserved near flow sources and sinks. In act 406, the computer system discards grid cells that fall within objects or cutouts.
Interpolation of Field Values Within the Unstructured Grid
The unstructured grid can provide a challenge for realistic visualization of results. While the unstructured grid (i.e. computational grid) provides physically correct values for the flow and temperature fields, the interaction of large-sized cells with smaller-sized cells can create discontinuities which detract from the user experience. Therefore, after completing the grid based PFM analysis, some examples implement a technique to smooth the transitions between grid cells. These examples paint a more intuitive representation of the airflow and temperature fields. FIG. 5 illustrates a smoothing process 500 in accord with these examples.
As shown in FIG. 5, a computer system executing the process 500 begins by dividing larger grid cells (i.e. computational cells) into smaller cells (i.e. visualization cells). What constitutes “larger” and “smaller” may vary between examples. For instance, according to one example, a grid cell 2 feet in width can be subdivided into cells having widths of 6 inches. In this situation, the grid cell would have 8 interior cells and 56 boundary cells. In other examples, a grid cell 1 foot in width or less may be subdivided for smoothing purposes and examples are not limited to smoothing a particular grid cell size.
In act 504, the computer system determines values to assign to cells that will result in gradual (smooth) transitions between grid cells. These values may be determined using a variety of processes. For instance, in one example, values are determined only for boundary cells. According to this example, interior cells are not affected by the smoothing process 500.
Further, a computer system executing the act 504 may calculate values for boundary cells using a variety of methods that result in a value that is a combination of the value of the boundary cell and the values of neighboring cells. For instance, in one example, the value of any boundary cell is a weighted average of its parent grid cell's value and the values of other grid cells that border the boundary cell. In this example, the weight given a particular grid cell's value is directly proportional to the distance of that grid cell from the boundary cell. Other examples may employ other smoothing calculations and examples are not limited to a particular smoothing calculation.
In act 506, the computer system assigns the smoothed values to the boundary cells. Next, the computer system terminates the process 500. Processes like the process 500 enable the computer system to display smoothed and user friendly visualizations of flows determined by the PFM for a data center room. FIG. 12 illustrates a display of airflow values prior to execution of the process 500. FIG. 13 illustrates a display of airflow values after execution of the process 500.
Visualization of Performance Data for Racks and Coolers
According to some examples, a computer system, such as the data center design and management system 206 described above, implements a process that determines and displays performance measures for data center equipment, such as racks and coolers, within the 3D tool. FIG. 6 illustrates a display process 600 in accord with this example. As shown in FIG. 6, a computer system executing the process 600 receives metrics of interest in act 602. For racks, these metrics may include average inlet temperatures, maximum inlet temperatures, load, total airflow, hot aisle capture index, and cold aisle capture index. For coolers, these metrics may include average return temperatures, maximum return temperatures, load, and total airflow. Characteristics of other data center equipment may be received and examples are not limited to particular metrics or metrics regarding particular equipment.
In act 604, the computer system stores the metrics on a computer readable medium. In act 606, the computer system presents the metrics within a display. According to at least one example, the metrics are displayed within a 3-dimensional representation of a data center room along with a planar representation of additional field values (such as temperatures or airflow) that are applicable to a 2-dimensional plane extending across the data center room. FIG. 7 illustrates this example. FIGS. 8 and 9 illustrate plane-based temperature representations that may be displayed by the computer system according to the process 600. FIGS. 10 and 11 illustrate plane-based airflow representations that may be displayed by the computer system according to the process 600.
FIG. 7 displays maximum inlet temperatures 700 for racks and maximum return temperatures 702 for coolers. As illustrated in FIG. 7, object temperature values have been colored to a similar scale as the temperature field values to provide an indication of the quality of room cooling performance and airflow management. By displaying these measures on the objects in the 3D view, examples simplify the experience for users who might otherwise have misinterpreted the flow fields to estimate average temperatures.
Examples described herein provide novel methods and systems for determining airflow within in a data center using PFM. The ability to predict airflow accurately in a data center design or management tool in examples disclosed herein facilitates designing robust cooling systems under different layout configurations. Further, examples facilitate avoiding costly trial-and-error solutions in a facility in attempts to achieve required cooling performance. Still further, better accuracy in airflow predictions results in improved overall data center cooling analysis and can provide a more energy efficient cooling solution. In at least some examples described herein, airflow is described as being generated by a CRAC. Systems and methods described herein can be used with other types of sources of cool air, including other types of cooling devices and fans. In at least some examples, methods are described as determining specific airflows. In at least some examples, the determination is a prediction or estimation of actual airflows.
In at least some examples discussed herein, the performance of assessments and calculations in real-time refers to processes that are completed in a matter of a few seconds or less rather than several minutes or longer as can happen with complex calculations, such as those involving typical CFD calculations.
In at least some examples described above, the design of a data center and/or actual parameters in a data center are altered based on predicted airflow and cooling within a data center. The alterations may be implemented to improve the cooling performance and/or may be implemented to provide cost and/or power savings when the performance is found to be within predetermined specifications. For example, the configuration of the cooling system components may be changed and/or the types of cooling system components may be changed. Further, based on determined airflow values, a data management system in accordance with one example, may control one or more CRACs to adjust the airflow, and in addition, one or more equipment racks can be controlled to reduce power if airflow and cooling associated with the rack is not adequate to provide sufficient cooling. In at least some examples described above, tools and processes are provided for determining airflow and cooling within a data center. In other examples, the tools and processes may be used in other types of facilities, and may also be used in mobile applications, including mobile data centers.
Having thus described several aspects of at least one example, it is to be appreciated various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the scope of the examples disclosed herein. Accordingly, the foregoing description and drawings are by way of example only.

## Claims

1. A computer-implemented method for predicting airflow within a data center using a potential flow technique, the method comprising:
receiving, by a computer, data representing a physical layout of at least one data center space;
generating, by the computer, at least one modeled data center space based on the received data;
automatically generating, by the computer, an unstructured grid within the at least one modeled data center space comprising a plurality of unstructured grid cells, each unstructured grid cell of the plurality of unstructured grid cells having a size;
determining, by the computer, airflow velocity values for each unstructured grid cell using airflow velocity potentials;
determining, by the computer, a temperature value for each unstructured grid cell using the airflow velocity values;
determining, by the computer, a concentration value for each unstructured grid cell using the airflow velocity values;
calculating, by the computer, a comparison result indicating whether the concentration values, the airflow velocity values and the temperature values for the plurality of the unstructured grid cells satisfy convergence criteria;
generating a plurality of computational grid cells from the plurality of unstructured grid cells, wherein each computational grid cell of the plurality of computational grid cells has a first size and is associated with the determined airflow velocity value, the determined temperature value, and the determined concentration value;
dividing a subset of computational grid cells of the plurality of computational grid cells into a plurality of visualization cells, wherein each visualization cell of the plurality of visualization cells has a second size less than the first size of a computational grid cell that includes the visualization cell;
calculating, by the computer, a smoothed value for each visualization cell, wherein the smoothed value is at least one of a smoothed airflow velocity value, a smoothed temperature value, and a smoothed concentration value; and
displaying, by the computer, an indication of the smoothed value for each visualization cell.

2. The method of claim 1, wherein dividing the subset of computational grid cells into a plurality of visualization cells further includes:
classifying each visualization cell of the plurality of visualization cells as either a boundary cell or an interior cell based on a proximity of the visualization cell to at least one computational grid cell of the subset.

3. The method of claim 2, wherein calculating the smoothed value for each visualization cell includes determining a smoothed value for at least one boundary cell.

4. The method of claim 3, wherein calculating the smoothed value for the at least one boundary cell includes calculating a smoothed value based on an original value of an interior cell adjacent to the at least one boundary cell.

5. The method of claim 4, wherein calculating the smoothed value for the at least one boundary cell includes calculating a smoothed value based on the original value and a value of at least one other grid cell adjacent to the at least one boundary cell.

6. The method of claim 5, wherein calculating the smoothed value for the at least one boundary cell includes calculating a weighted average of the original value and the value of the at least one other grid cell adjacent to the at least one boundary cell, whereby the smoothed value is between the original value and the value of the at least one other grid cell.

7. The method of claim 1, wherein calculating the smoothed value for each visualization cell includes calculating at least one of a predicted airflow velocity value and a predicted temperature value.

8. The method of claim 7, further comprising displaying, in a graphical representation of the data center, at least one of the predicted airflow velocity value and the predicted temperature value in a visualization plane.

9. The method of claim 1, further comprising:
displaying at least one of the smoothed airflow velocity value, the smoothed temperature value, and the smoothed concentration value in a graphical representation of the data center superimposed over at least one of a plurality of racks and a plurality of coolers included in the at least one modeled data center space.

10. The method of claim 1, wherein calculating the comparison result further includes determining the concentration values, the airflow velocity values and the temperature values for the plurality of unstructured grid cells using iterative methods.

11. The method of claim 10, wherein calculating the comparison result further includes performing the iterative methods until the concentration values, the airflow velocity values and the temperature values satisfy the convergence criteria, wherein the convergence criteria includes a difference between a total power value for racks and a load value for coolers, the racks and coolers being located in the data center.

12. A system for predicting airflow within a data center using a potential flow technique, the system comprising: an interface; and a controller coupled to the interface and configured to:
receive data representing a physical layout of at least one data center space;
generate at least one modeled data center space based on the received data;
automatically generate an unstructured grid within the at least one modeled data center space comprising a plurality of unstructured grid cells, each unstructured grid cell of the plurality of unstructured grid cells having a size;
determine airflow velocity values for each unstructured grid cell using airflow velocity potentials;
determine a temperature value for each unstructured grid cell using the airflow velocity values;
determine a concentration value for each unstructured grid cell using the airflow velocity values;
calculate a comparison result indicating whether the concentration values, the airflow velocity values and the temperature values for the plurality of the unstructured grid cells satisfy convergence criteria;
generate a plurality of computational grid cells from the plurality of unstructured grid cells, wherein each computational grid cell of the plurality of computational grid cells has a first size and is associated with the determined airflow velocity value, the determined temperature value, and the determined concentration value;
divide a subset of computational grid cells of the plurality of computational grid cells into a plurality of visualization cells, wherein each visualization cell of the plurality of visualization cells has a second size less than the first size of a computational grid cell that includes the visualization cell;
calculate a smoothed value for each visualization cell, wherein the smoothed value is at least one of a smoothed airflow velocity value, a smoothed temperature value, and a smoothed concentration value: and
display an indication of the smoothed value for each visualization cell.

13. The system of claim 12, wherein the controller is further configured to:
classify each visualization cell of the plurality of visualization cells as either a boundary cell or an interior cell based on a proximity of the visualization cell to at least one computational grid cell of the subset.

14. The system of claim 13, wherein the controller is further configured to determine a smoothed value for at least one boundary cell.

15. The system of claim 14, wherein the controller is further configured to calculate the smoothed value for the at least one boundary cell based on an original value of an interior cell adjacent to the at least one boundary cell.

16. The system of claim 15, wherein the controller is further configured to calculate the smoothed value for the at least one boundary cell based on the original value and a value of at least one other grid cell adjacent to the at least one boundary cell.

17. The system of claim 16, wherein the controller is further configured to calculate a weighted average of the original value and the value of the at least one other grid cell adjacent to the at least one boundary cell, whereby the smoothed value is between the original value and the value of the at least one other grid cell.

18. The system of claim 12, wherein the smoothed value for each visualization cell is at least one of a predicted airflow velocity value and a predicted temperature value.

19. The system of claim 18, wherein the interface is further configured to display, in a graphical representation of the data center, at least one of the predicted airflow velocity value and the predicted temperature value in a visualization plane.

20. The system of claim 12, wherein the interface is further configured to display at least one of the smoothed airflow velocity value, the smoothed temperature value, and the smoothed concentration value in a graphical representation of the data center, wherein the at least one of the smoothed airflow velocity value, the smoothed temperature value, and the smoothed concentration value is superimposed over at least one of a plurality of racks and a plurality of coolers included in the at least one modeled data center space.

21. The system of claim 12, wherein the controller is further configured to calculate the comparison result by determining the concentration values, the airflow velocity values and the temperature values for the plurality of unstructured grid cells using iterative methods until the concentration values, the airflow velocity values and the temperature values satisfy the convergence criteria, wherein the convergence criteria includes a difference between a total power value for racks and a load value for coolers, the racks and coolers being located in the data center.

22. A non-transitory computer-readable medium having stored thereon sequences of instruction including instructions that will cause a processor to:
receive data representing a physical layout of at least one data center space; generate at least one modeled data center space based on the received data;
automatically generate an unstructured grid within the at least one modeled data center space comprising a plurality of unstructured grid cells, each unstructured grid cell of the plurality of unstructured grid cells having a size;
determine airflow velocity values for each unstructured grid cell using airflow velocity potentials;
determine a temperature value for each unstructured grid cell using the airflow velocity values;
determine a concentration value for each unstructured grid cell using the airflow velocity values;
calculate a comparison result indicating whether the concentration values, the airflow velocity values and the temperature values for the plurality of the unstructured grid cells satisfy convergence criteria;
generate a plurality of computational grid cells from the plurality of unstructured grid cells, wherein each computational grid cell of the plurality of computational grid cells has a first size and is associated with the determined airflow velocity value, the determined temperature value, and the determined concentration value;
divide a subset of computational grid cells of the plurality of computational grid cells into a plurality of visualization cells, wherein each visualization cell of the plurality of visualization cells has a second size less than the first size of a computational grid cell that includes the visualization cell;
calculate a smoothed value for each visualization cell, wherein the smoothed value is at least one of a smoothed airflow velocity value, a smoothed temperature value, and a smoothed concentration value; and
display an indication of the smoothed value for each visualization cell.