Information processing program, information processing method, and information processing device

By monitoring and managing the thermal and load conditions of accelerators, the system ensures stable processing by redistributing tasks to cooler units, addressing thermal interference issues.

JP2026042325APending Publication Date: 2026-03-111FINITY INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-27
Publication Date
2026-03-11

AI Technical Summary

Technical Problem

As high-performance processors generate increasing heat, multiple accelerators in close proximity experience temperature rises due to thermal interference, leading to unstable processing.

Method used

A system that monitors and manages the operating temperature and load of each accelerator, transferring processes from overheated accelerators to cooler ones to maintain stable operation.

Benefits of technology

Stabilizes processing by effectively distributing workloads across accelerators, improving cooling efficiency and maintaining optimal operating temperatures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026042325000001_ABST
    Figure 2026042325000001_ABST
Patent Text Reader

Abstract

To stably execute processes of a plurality of process execution devices. [Solution] The information processing program causes a computer to execute a process that acquires the operating temperature and processing load of each of a plurality of processing execution devices 5, and moves a process assigned to a first processing execution device 5 of the plurality of processing execution devices 5 whose operating temperature is equal to or greater than a first predetermined value and whose processing load is less than a second predetermined value to a second processing execution device 5 whose operating temperature is less than a third predetermined value that is equal to or less than the first predetermined value.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing program, an information processing method, and an information processing device. [Background technology]

[0002] In recent years, there has been an increase in situations where large amounts of data are processed at high speed, such as in big data analysis processing or inference processing in AI (Artificial Intelligence) technology.

[0003] Therefore, it is expected to provide higher performance than a central processing unit (CPU) for workloads that require improved performance in data centers or servers.

[0004] One method for achieving higher performance and more efficient calculations than a CPU is to use an accelerator card (ACC) such as a graphics processing unit (GPU) or a field-programmable gate array (FPGA).

[0005] An ACC is an example of a process execution device that executes processes, and is a type of expansion card that is added to a computer such as a server. The ACC is, for example, a card-shaped device that complies with PCIe (Peripheral Component Interconnect express) and is installed in a PCIe slot on the server or in a PCIe expansion box. A PCIe expansion box is a device that expands (adds) a PCIe slot and accommodates multiple ACCs, and is connected to the PCIe slot on the server via an adapter.

[0006] ACC pooling is becoming more common to efficiently utilize ACC resources and further improve processing capabilities for large volumes of data. ACC pooling involves connecting multiple PCIe expansion boxes to a server to increase the number of ACCs that can be accommodated per server (hereinafter referred to as a "pooled configuration"). This is used to realize configurations such as CDI (Composable Disaggregated Infrastructure). This allows a computer to efficiently utilize multiple expanded and pooled ACCs, enabling high-speed processing of large volumes of data. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Application Publication No. 8-16531 [Patent Document 2] Japanese Patent Application Laid-Open No. 2004-126968 Summary of the Invention [Problem to be solved by the invention]

[0008] As high-performance processors evolve, power consumption increases, and the amount of heat generated by ACCs increases in response to the processing load. When multiple ACCs operate in close proximity, such as in a pooled configuration, if one ACC generates heat within a PCIe expansion box, other ACCs located nearby, such as adjacent ACCs, may be affected by the heat generated by the ACC and experience an increase in their operating temperature.

[0009] In this way, depending on the processing load of an ACC, multiple ACCs including the ACC in question may become hot, which may make it difficult to stably execute processing of multiple ACCs that have become hot.

[0010] In one aspect, an object of the present invention is to stably execute processes of a plurality of process execution devices. [Means for solving the problem]

[0011] In one aspect, the information processing program may include a process for acquiring the operating temperature and processing load of each of a plurality of processing execution devices, and transferring a process assigned to a first processing execution device of the plurality of processing execution devices, the first processing execution device having the operating temperature equal to or greater than a first predetermined value and the processing load less than a second predetermined value, to a second processing execution device, the second processing execution device having the operating temperature less than a third predetermined value that is equal to or less than the first predetermined value. [Effects of the Invention]

[0012] According to one aspect, the present invention enables a plurality of process execution devices to stably execute processes. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a block diagram illustrating an example of a hardware configuration of a system according to an embodiment. [Figure 2] 2 is a block diagram showing an example of a hardware configuration of a server shown in FIG. 1. FIG. [Figure 3] FIG. 2 is a block diagram illustrating an example of the software configuration of a server according to an embodiment. [Figure 4] 10A and 10B are diagrams illustrating an example of acquiring the operating temperature and processing load of an ACC. [Figure 5] FIG. 4 is a diagram illustrating an example of a method for determining the state of each ACC by a determination unit. [Figure 6] 10 is a diagram illustrating an example of a method for determining an ACC that is a candidate destination by a determination unit. [Figure 7] FIG. 10 is a diagram illustrating an example of a method for moving a process to be executed by an ACC by a setting unit. [Figure 8] 10 is a flowchart illustrating an example of the operation of a system according to an embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of suppressing heat concentration in a plurality of ACCs in one embodiment. [Figure 10] FIG. 2 is a block diagram showing an application example of the configuration of the system shown in FIG. 1. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiments described below are merely examples, and are not intended to exclude various modifications or application of techniques not explicitly described below. For example, the present embodiment can be implemented with various modifications within the scope of the spirit thereof. In the drawings used in the following description, parts with the same reference numerals represent the same or similar parts unless otherwise specified.

[0015] [A] Hardware configuration example [A-1] System hardware configuration example 1 is a block diagram showing an example of the hardware configuration of a system 1 according to an embodiment. As shown in the example of FIG. 1, the system 1 may include a server 2, one or more (five in the example of FIG. 1) enclosures 3, and an interconnect 4.

[0016] System 1 is an example of an information processing system that allocates resources in storage housing 3 to server 2 and causes server 2 to execute processing using the resources. System 1 may provide services as a CDI to users, for example, computers (hereinafter sometimes referred to as "user terminals") that access system 1 via a network such as the Internet (not shown).

[0017] The server 2 is an example of an information processing device or a computer. The server 2 may include at least a CPU as a hardware resource. The CPU is an example of a processor, and executes various software programs including applications.

[0018] Server 2 may be a general-purpose computer, or may be a computer that omits the implementation of at least some of the hardware resources that make up the computer, assuming that it utilizes resources in a resource pool (not shown) including storage enclosure 3.

[0019] In one embodiment, the server 2 will be described as a general-purpose computer that includes, for example, a CPU and the minimum hardware resources necessary for the server 2 to operate independently. Hereinafter, the hardware resources may be simply referred to as hardware (HW) or resources. The HW configuration of the server 2 will be described later with reference to FIG. 2.

[0020] 1, a predetermined number, for example, five ACCs 5 are stored. The storage housing 3 may, for example, have a predetermined number (for example, five) of slots arranged in a row into which the ACCs 5 can be inserted and removed, and the multiple ACCs 5 may be communicatively connected to the server 2 via the slots and the interconnect 4. In one embodiment, the slots are described as conforming to the PCIe standard to which the ACCs 5 conform, but are not limited thereto and may conform to various communication standards to which the ACCs 5 conform.

[0021] If the ACC 5 complies with the PCIe standard, the storage enclosure 3 may be referred to as a PCIe expansion box. In this case, the storage enclosure 3 may be connected to a PCIe slot in the server 2 main body via the interconnect 4, thereby enabling the server 2 to increase (expand) the number of ACCs 5 available as PCIe devices.

[0022] In one embodiment, the system 1 is described as including five storage enclosures 3, but is not limited to this, and may include at least one storage enclosure 3 depending on the demand for expanding the functionality of the server 2. Also, in one embodiment, for convenience, the arrangement of the slots in the storage enclosure 3 (in other words, the ACCs 5) is described as being one-dimensional, but is not limited to this. The arrangement of the slots in the storage enclosure 3 may be, for example, a two-dimensional arrangement in which the slots are arranged in multiple rows on a plane, or a three-dimensional arrangement.

[0023] The interconnect 4 is a network (high-speed interconnect) that connects the server 2 and the storage enclosure 3 including the ACC 5 so that they can communicate with each other in accordance with information that associates the ACC 5 with the processing assigned to the ACC 5. The interconnect 4 may be a network that supports a high-speed bus architecture such as PCIe, Ethernet (registered trademark), InfiniBand, or Myrinet.

[0024] The ACC 5 is an example of a processing execution device that executes processing requested (e.g., offloaded) by the server 2 and transmits the execution results to the server 2. Examples of the ACC 5 include various arithmetic processing devices such as a GPU, an FPGA, an APU (Accelerated Processing Unit), a DSP (Digital Signal Processor), or an ASIC (Application Specific Integrated Circuit). For example, the ACC 5 may be used as an accelerator (AI accelerator) that executes big data analysis processing or inference processing in AI technology using such an arithmetic processing device. The ACC 5 may also be, for example, an expansion card that is added to the server 2. In one embodiment, the ACC 5 is described as being compliant with the PCIe standard, but is not limited thereto and may be compliant with various other communication protocols such as NVLink (registered trademark).

[0025] [A-2] Server hardware configuration example The functions of the server 2 according to one embodiment may be implemented by one computer or two or more computers. Furthermore, at least some of the functions of the server 2 may be implemented using hardware (HW) resources and network (NW) resources provided by a cloud environment.

[0026] Fig. 2 is a block diagram showing an example of the hardware configuration of the server 2 shown in Fig. 1. When multiple computers are used as hardware resources for realizing the functions of the server 2, each computer may have the HW configuration shown in Fig. 2.

[0027] As shown in FIG. 2, the server 2 may include, as its HW configuration, a processor 2a, an accelerator 2b, a memory 2c, a storage unit 2d, an IF (Interface) unit 2e, an IO (Input / Output) unit 2f, and a reading unit 2g, for example.

[0028] The processor 2a is an example of a processing unit that performs various controls and calculations. The processor 2a may be connected to each block in the server 2 via a bus 2j so that they can communicate with each other. The processor 2a may be a multiprocessor including multiple processors, a multi-core processor having multiple processor cores, or a configuration having multiple multi-core processors.

[0029] The processor 2a may be, for example, an integrated circuit (IC) such as a CPU, MPU, APU, DSP, ASIC, or FPGA. Note that the processor 2a may be a combination of two or more of these integrated circuits. MPU is an abbreviation for Micro Processing Unit.

[0030] The accelerator 2b is a processing device that executes AI tasks such as machine learning processing and inference processing using a machine learning model, and may be referred to as an AI accelerator. The accelerator 2b may also be configured as a graphics processing device (graphics accelerator) that controls screen display for an output device such as a monitor in the IO unit 2f. The ACC5 shown in FIG. 1 is an example of the accelerator 2b. For example, the accelerator 2b may be mounted on the server 2, or may be connected to the server 2 via the interconnect 4 and the housing 3 like the ACC5, or may be both. The accelerator 2b may be various processing devices, such as a GPU, an APU, a DSP, an ASIC, an FPGA, or other integrated circuits (ICs).

[0031] The memory 2c stores various types of data, programs, and other information. Examples of the memory 2c include one or both of a volatile memory such as a dynamic random access memory (DRAM) and a non-volatile memory such as a persistent memory (PM).

[0032] The storage unit 2d stores various types of data, programs, and other information. Examples of the storage unit 2d include various storage devices such as a magnetic disk device such as a hard disk drive (HDD), a semiconductor drive device such as a solid state drive (SSD), and a nonvolatile memory. Examples of nonvolatile memory include a flash memory, a storage class memory (SCM), and a read-only memory (ROM).

[0033] The storage unit 2d may store a program 2h (information processing program) that realizes all or part of the various functions of the server 2. For example, the processor 2a of the server 2 can realize the function of a control unit 23 (see FIG. 3), which will be described later, by expanding the program 2h stored in the storage unit 2d into the memory 2c and executing it.

[0034] The IF unit 2e is an example of a communication IF that controls the connection and communication between the server 2 and other computers. For example, the IF unit 2e may include an adapter that complies with the communication standards of the interconnect 4, such as PCIe, Ethernet (registered trademark), InfiniBand, or Millinet. The adapter may be compatible with either or both of wireless and wired communication methods. The adapter may also be compatible with optical communication, such as FC (Fibre Channel).

[0035] For example, the server 2 may be connected to each of the multiple ACCs 5 in the storage housing 3 so as to be able to communicate with each other via the IF unit 2e, the interconnect 4, and the storage housing 3. The program 2h may be downloaded to the server 2 from the interconnect 4 or a network (not shown) via the communication IF and stored in the storage unit 2d.

[0036] The IO unit 2f may include one or both of an input device and an output device. Examples of input devices include a keyboard and a mouse. Examples of output devices include a monitor, a projector, a printer, and the like. The IO unit 2f may also include a touch panel or the like that combines an input device and a display device. The output device may be connected to the accelerator 2b.

[0037] The reading unit 2g is an example of a reader that reads data and program information recorded on the recording medium 2i. The reading unit 2g may include a connection terminal or device to which the recording medium 2i can be connected or inserted. Examples of the reading unit 2g include an adapter that complies with USB (Universal Serial Bus) or the like, a drive device that accesses a recording disk, and a card reader that accesses a flash memory such as an SD card. Note that the recording medium 2i may store a program 2h, and the reading unit 2g may read the program 2h from the recording medium 2i and store it in the memory unit 2d.

[0038] Examples of the recording medium 2i include non-transitory computer-readable recording media such as magnetic / optical disks and flash memories. Examples of magnetic / optical disks include flexible disks, CDs (Compact Discs), DVDs (Digital Versatile Discs), Blu-ray Discs, and HVDs (Holographic Versatile Discs). Examples of flash memories include semiconductor memories such as USB memories and SD cards.

[0039] The above-described HW configuration of the server 2 is an example. Therefore, the HW in the server 2 may be increased or decreased (for example, adding or deleting any block), divided, integrated in any combination, or the addition or deletion of buses, etc., as appropriate.

[0040] [B] Software configuration example Multiple ACCs 5 (25 in the example of FIG. 1) may be managed as a resource pool in the system 1. For example, the server 2 can issue a processing execution request to multiple pooled ACCs 5 (pooled configuration).

[0041] When multiple ACCs 5 are arranged in a row, with each row consisting of a predetermined number of ACCs or less, as in a pooled ACC 5 configuration, for example, when multiple ACCs 5 are provided in a storage casing 3, the multiple ACCs 5 are arranged in close proximity to one another. Therefore, the more ACCs 5 in a storage casing 3, the less effective the cooling of each ACC 5 may be. In this case, if the processing load of one ACC 5 in a storage casing 3 increases and it generates heat, the ACCs near that ACC 5, for example, the ACCs adjacent to the heated ACC 5, may be affected by the heated ACC 5 and experience a further reduction in cooling effectiveness, which may result in an increase in operating temperature.

[0042] In FIG. 1, blocks of high-temperature ACCs 5 are indicated by a diagonal line pattern, and blocks of low-temperature ACCs 5 are indicated by a dotted pattern. As shown by symbols A1 and A2 in FIG. 1, when adjacent ACCs 5 are both high-temperature, each ACC 5 may have difficulty dissipating heat due to a reduced cooling effect, making it difficult to perform stable processing. In this case, the high-temperature ACC 5 may experience a further temperature rise. Note that ACCs 5 stored in different storage casings 3 are unlikely to be affected by each other's heat generation, although this depends on the relative positions of the intake and exhaust ports of each storage casing 3. In the following explanation, it is assumed that ACCs 5 stored in different storage casings 3 are not affected by each other's heat generation.

[0043] Therefore, the server 2 may perform control to stably execute the processing of the plurality of ACCs 5 (control to improve the stability of the plurality of ACCs 5). An example of the software configuration of the server 2 will be described below.

[0044] 3 is a block diagram showing an example of the software configuration of the server 2 according to an embodiment. As shown in FIG. 3, the server 2 may include, for example, a memory unit 20, a management processing unit 21, and a transmission unit 22. The management processing unit 21 and the transmission unit 22 are examples of a control unit 23.

[0045] The memory unit 20 is an example of a storage area, and stores various data used by the server 2. The memory unit 20 may be realized, for example, by a storage area included in one or both of the memory 2c and the storage unit 2d (see FIG. 2) of the server 2.

[0046] 3, the memory unit 20 may be capable of storing, for example, acquisition information 20a, judgment condition management information 20b, status information 20c, and destination setting information 20d for each ACC 5. Hereinafter, each piece of information 20a to 20d will be expressed in a table format, but this is not limiting, and each piece of information 20a to 20d may be data in various formats such as a DB (Database), an array, etc.

[0047] The acquired information 20a is an example of information related to the ACC 5, and may be acquired from the ACC 5 by an acquisition unit 21a (described later) of the management processing unit 21. The acquired information 20a may include, for example, one or both of the operating temperature and the processing load of the ACC 5.

[0048] The judgment condition management information 20b is an example of information for managing judgment conditions. The judgment condition management information 20b may include, for example, a temperature threshold (first temperature threshold) which is an example of a first predetermined value for determining the state of an ACC 5, and a processing load threshold which is an example of a second predetermined value. Furthermore, the judgment condition management information 20b may include a second temperature threshold used to determine whether an ACC 5 is suitable as a destination ACC 5 when a process assigned to an ACC 5 (a process executed by an ACC 5) is moved to another ACC 5 by a setting unit 21c (described later). The second temperature threshold is an example of a third predetermined value. The first temperature threshold, the processing load threshold, and the second temperature threshold may be set in advance by a user.

[0049] The status information 20c is an example of information indicating the status of the ACC 5, and may be information indicating the status of each ACC 5 determined based on the acquired information 20a and the determination condition management information 20b. The status information 20c may store the status of each of the multiple ACCs 5 in association with the position of each of the multiple ACCs 5. The position of each of the multiple ACCs 5 may be indicated, for example, in coordinate format.

[0050] The destination setting information 20d is an example of information for managing the allocation of a plurality of process execution devices to a plurality of processes, and may be information indicating the type of process that the server 2 causes the ACC 5 to execute and which of the plurality of ACCs 5 is to execute that process. The destination setting information 20d may be stored in association with the position, for example, coordinates, of each of the plurality of ACCs 5, and may be updated by the setting unit 21c when the allocation of the ACC 5 to the process is changed by the setting unit 21c (described later).

[0051] The management processing unit 21 illustratively includes an acquisition unit 21a, a determination unit 21b, and a setting unit 21c, and manages a plurality of ACCs 5. The management processing unit 21 may perform communication between the server 2 and each of the ACCs 5 via the IF unit 2e (see FIG. 2) and the interconnect 4 (see FIG. 1).

[0052] The acquiring unit 21a acquires acquired information 20a from each of the ACCs 5. The acquiring unit 21a may acquire the acquired information 20a of the ACCs 5, for example, the operating temperature and processing load of each of the multiple ACCs 5, at predetermined time intervals (for example, one second) and store the information in the memory unit 20. For example, the acquiring unit 21a may store the operating temperature and processing load of each of the multiple ACCs 5 acquired as the acquired information 20a in the memory unit 20 in association with the position, for example, coordinates, of each of the multiple ACCs 5.

[0053] The operating temperature may be, for example, the temperature (°C) measured by a temperature sensor or the like for one or more of the processor, memory, and network IF of the ACC 5. The processing load may be, for example, the utilization rate (%) for one or more of the processor, memory, and network IF of the ACC 5.

[0054] Fig. 4 is a diagram showing an example of acquiring the operating temperature and processing load of the ACC 5. Fig. 4 shows an example in which the acquiring unit 21a acquires the operating temperature and processing load of the ACC 5 via the interconnect 4 at predetermined time intervals (one second in the example of Fig. 4).

[0055] For example, symbol B1 in Fig. 4 shows acquired information 20a for the ACC 5 second from the left in the storage casing 3 in the first row from the top of the page. Entries are added to the acquired information 20a every predetermined time, for example, every second (s), and symbol B1 in Fig. 4 shows a processing load of 90% and a temperature of 80°C set at the point in time 6 seconds has elapsed from the start (time 6s). Similarly, the central ACC 5 in the storage casing 3 in the first row from the top of the page shown by symbol B2 and the first ACC 5 from the right in the storage casing 3 in the fifth row from the top of the page shown by symbol B3 each have a processing load and temperature set for every second in their respective acquired information 20a.

[0056] The acquired information 20a may be acquired by, for example, polling. In polling, the acquiring unit 21a may periodically send an acquisition request for each of the temperature and processing load information to each ACC 5 via the interconnect 4 and receive a response from each ACC 5.

[0057] The acquisition unit 21a may also acquire, for example, calculate, the processing load of an ACC 5 based on information about the processing to be executed by the ACC 5 and information about the performance (specifications) of each ACC 5. The information about the processing may include, for example, the processing content, the processing amount, etc. For example, if the processing content is inference processing in an AI task related to image processing, the processing amount may be the number of input images, the image size, etc. The acquisition unit 21a may calculate the information about the processing by, for example, acquiring the data transfer amount (information amount) sent to each ACC 5 using a system monitoring tool. The acquisition unit 21a may calculate the processing load of an ACC 5 by comparing the information about the processing with information about the performance of the ACC 5 that executes the processing, such as the processor processing performance, memory capacity, memory and network IF bandwidth, etc.

[0058] As shown in FIG. 4, as the processing load of an ACC5 increases, the operating temperature of the ACC5 rises (see, for example, the change over time indicated by symbol B1 in FIG. 4). When multiple ACCs 5 are housed in the storage casing 3, if one ACC 5 is hot, heat from the hot ACC 5 is transferred to the adjacent ACC 5, potentially reducing the cooling effect. This can cause the adjacent ACC 5 to reach a temperature higher than the operating temperature appropriate for its own processing load (see the entries from time 3 s to 6 s indicated by symbol B2 in FIG. 4). On the other hand, an ACC 5 with a low processing load and no nearby hot ACC 5s (e.g., not adjacent to a hot ACC 5) will maintain its operating temperature appropriate for its own processing load, without rising to a high temperature and maintaining a low operating temperature (see symbol B3 in FIG. 4).

[0059] The determination unit 21b determines the state of each ACC 5 based on the acquired information 20a and the determination condition management information 20b acquired by the acquisition unit 21a. The determination unit 21b may determine the state of each ACC 5 and classify it into the following types A to C.

[0060] Type A: ACC5 where the operating temperature is equal to or greater than the temperature threshold and the processing load is equal to or greater than the processing load threshold. Type B: ACC5 where the operating temperature is equal to or greater than the temperature threshold and the processing load is less than the processing load threshold. Type C: ACC5 where the operating temperature is below the temperature threshold and the processing load is below the processing load threshold.

[0061] Note that Type C may further include ACCs 5 whose operating temperature is below the temperature threshold and whose processing load is equal to or greater than the processing load threshold. In this case, the determining unit 21b may classify a certain ACC 5 as Type C if the operating temperature of the ACC 5 is below the temperature threshold.

[0062] The determination unit 21b may store the classification results in the memory unit 20 as state information 20c in association with the positions, for example, coordinates, of the plurality of ACCs 5.

[0063] FIG. 5 is a diagram showing an example of a method for determining the state of each ACC 5 by the determination unit 21b. Symbols C1 to C3 correspond to the acquired information 20a indicated by symbols B1 to B3 in FIG. 4, respectively. The example in FIG. 5 shows a case where the temperature threshold is 65°C and the processing load threshold is 80%. When the acquired information 20a of a certain ACC 5 is as shown by symbol C1 in FIG. 5, the determination unit 21b determines that the ACC 5 is Type A at times 5s and 6s when the operating temperature is 65°C or higher and the processing load is 80% or higher.

[0064] Furthermore, when the acquired information 20a of a certain ACC 5 is as shown in symbol C2 in Fig. 5, the judgment unit 21b judges the ACC 5 to be Type B at times 5s and 6s when the operating temperature is 65°C or higher and the processing load is less than 80%. Furthermore, when the acquired information 20a of a certain ACC 5 is as shown in symbol C3 in Fig. 5, the operating temperature is less than 65°C and the processing load is less than 80%. Therefore, the judgment unit 21b judges the ACC 5 to be Type C at all times (times 1s to 6s) when the acquired information 20a is acquired.

[0065] 5, the determination unit 21b may store the classification results of each of the multiple ACCs 5 as state information 20c in the memory unit 20 by associating them with coordinates C4 that indicate the position of each of the multiple ACCs 5. The coordinates C4 are an example of information that indicates the location of each of the multiple ACCs 5.

[0066] The coordinate C4 may be expressed, for example, as a one-dimensional, two-dimensional, or three-dimensional array corresponding to the actual (physical) installation positions of the ACCs 5 in the system 1. The example of FIG. 5 illustrates a 5×5 two-dimensional array of the ACCs 5 illustrated in FIG. 1, with the arrangement of the ACCs 5 within the storage enclosure 3 as the X-axis and the direction spanning the multiple storage enclosures 3 as the Y-axis. In the X-axis direction (X coordinate), the X-coordinate value of the ACC 5 closest to the server 2 is defined as [X0], and the ACC 5 farthest from the server 2 is defined as [X4]. In the Y-axis direction (Y coordinate), the bottom storage enclosure 3 on the paper in FIG. 1 is defined as [Y0], and the top storage enclosure 3 on the paper is defined as [Y4]. Hereinafter, specific coordinates may be expressed as [X coordinate, Y coordinate].

[0067] Based on the state information 20c, the determination unit 21b determines to move a process assigned to an ACC5 (a first ACC5 as a transfer source) determined to be Type B among a plurality of ACC5s to a second ACC5 among the candidate ACC5s as a transfer destination. Figure 5 shows an example in which the determination unit 21b determines (specifies) an ACC5 at [X0, Y1] and an ACC5 at [X2, Y4] as the first ACC5 as a transfer source of the process. The first ACC5 determined to be Type B is an example of a first process execution device.

[0068] The determination unit 21b may perform the above-described determination based on the latest acquired information 20a, for example, every time the control unit 23 acquires the acquired information 20a, for example, at predetermined intervals. FIG. 5 shows an example of a determination based on the acquired information 20a acquired at time 6s. The determination by the determination unit 21b may be performed at intervals longer than the predetermined time. In this case, the determination unit 21b may perform the determination using the results of an average or weighted average of the operating temperature and processing load of the acquired information 20a acquired over the most recent multiple times. In the weighted average, for example, weights may be set so that the closer the acquired information 20a is to the current time, the larger the value, and the further (older) the acquired information 20a is from the current time, the smaller the value.

[0069] 6 is a diagram showing an example of a method for determining an ACC5 that is a candidate destination by the determination unit 21b. When the determination unit 21b identifies a first ACC5 of type B that is the source of the process, the determination unit 21b may determine (identify) a fourth ACC5 (hereinafter, sometimes referred to as a "transferable card") that is a candidate destination of the process (to which the process can be transferred) based on the state information 20c and the acquired information 20a. The fourth ACC5 that is a candidate destination is an example of a fourth process execution device.

[0070] An example of a transferable card is an ACC5 that is Type C and whose operating temperature is less than the second temperature threshold. The second temperature threshold is an example of a third predetermined value and may be a value equal to or less than the first temperature threshold. As an example, the second temperature threshold may be a value that predicts that the operating temperature will be less than the first temperature threshold even if the processing load of the transfer destination ACC5 increases due to the transfer of processing and the operating temperature rises in response to the processing load. In other words, the second temperature threshold may be a value that is smaller than the first temperature threshold by a predetermined margin.

[0071] In the following description, for convenience, it is assumed that the predetermined margin is the same as the first temperature threshold. That is, a Type C ACC5 whose operating temperature is below the first temperature threshold is also assumed to satisfy the condition that its operating temperature is below the second temperature threshold. Note that if the predetermined margin exceeds the above-mentioned magnitude, the determination unit 21b may narrow down the candidates for a destination ACC5 or a destination ACC5 based on whether the operating temperature is below the third temperature threshold.

[0072] Furthermore, in determining the fourth ACC5 as a candidate destination, the determination unit 21b may select, from among the ACC5 of type C, an ACC5 that is not adjacent in the row arrangement to the third ACC5 of type A and the first ACC5 of type B. The third ACC5 of type A is an example of a third process execution device.

[0073] For example, when there is a low possibility that the storage casings 3 are affected by heat generated by each other, the determination unit 21b may identify an ACC5 that is not adjacent to a type A or B ACC5 in the same storage casing 3 as a movable card. As an example, when the X coordinate of a type C ACC5 having the same Y coordinate as a type A or B ACC5 is not within ±1 of the X coordinate of the type A or B ACC5, the determination unit 21b determines that the type C ACC5 is a movable card. Note that the determination unit 21b may determine that a type C ACC5 located on a Y coordinate where no type A or type B ACC5 is present is a movable card regardless of its X coordinate.

[0074] FIG. 6 illustrates an example of the determination result of the determination unit 21b regarding whether or not a process can be moved, based on the state information 20c on the right side of the page. ACC5s indicated by a shaded frame are ACC5s (hereinafter, may be referred to as "immovable cards") that are excluded from candidate process destinations (process movement is not permitted), while ACC5s indicated by a white frame are movable cards. For example, the ACC5 of reference character D1 in FIG. 6 is determined to be an immovable card because it is Type A and not Type C. Similarly, the ACC5 of reference character D2 is determined to be an immovable card because it is Type B and not Type C. Furthermore, the ACC5 of reference character D3 in FIG. 6 is Type C, but its coordinates are [X3, Y4], which are the same Y coordinate as Type B at [X2, Y4] but are +1 in X coordinate, and therefore is determined to be an immovable card. On the other hand, the ACC5 of reference character D4 in FIG. 6 is Type C and its coordinates are [X4, Y4]. Since ACC5 of code D4 is not in a relationship of ±1 in X coordinate with Type A at the same Y coordinate [X1, Y4] and Type B at [X2, Y4], if the operating temperature of ACC5 is below the second temperature threshold, it is determined to be a movable card.

[0075] The determination unit 21b determines one of the moveable cards determined (determined) by the above-described process as the second ACC5 to be moved to. The second ACC5 to be moved to is an example of a second execution processing device. This allows the selection of an ACC5 that is less susceptible to the influence of surrounding high-temperature cards as the destination ACC5, thereby achieving stable processing of multiple ACC5s.

[0076] When there are multiple candidate destination ACC5s, the determination unit 21b may identify the second destination ACC5 using various methods. As an example, the determination unit 21b may identify, among the movable cards, ACC5s with the smallest or largest X coordinate or Y coordinate value as the second destination ACC5. Alternatively, when there are multiple candidate destination ACC5s, the determination unit 21b may identify, among the movable cards, the ACC5 that is farthest from the Type A and Type B ACC5s based on their coordinates, and identify that ACC5 as the second destination ACC5.

[0077] When the determination unit 21b determines the first ACC 5 of type B that is the source of the process and the second ACC 5 that is the destination of the process, the determination unit 21b notifies the setting unit 21c of information about the source and destination ACC 5. The information may include the type of process to be moved and information about the positions of the source and destination ACC 5, for example, the coordinates of each ACC 5.

[0078] 7 is a diagram showing an example of a method by which the setting unit 21c moves a process to be executed by the ACC 5. Upon receiving a notification from the determination unit 21b, the setting unit 21c changes the correspondence between the source ACC 5 and the process assigned to the source ACC 5 in the destination setting information 20d so that the process that was being executed by the source ACC 5 is executed by the identified destination ACC 5. In this way, the setting unit 21c changes the setting of the destination of the processing request.

[0079] As illustrated in Figure 7, the judgment unit 21b may store information regarding the destination when the server 2 sends processing as destination setting information 20d in the memory unit 20 by associating it with coordinates representing the positions of each of the multiple ACCs 5.

[0080] The coordinates in the destination setting information 20d may be expressed, for example, as a one-dimensional, two-dimensional, or three-dimensional array corresponding to the actual (physical) installation position of the ACC 5 in the system 1, similar to the status information 20c.

[0081] For convenience, the status information 20c and the destination setting information 20d are illustrated overlapping each other in Fig. 7. On the XY coordinate system shown in Fig. 7, the status information 20c is shown in the upper row and the destination setting information 20d in the lower row within the same coordinate system, so that the two pieces of information 20c and 20d are shown overlapping each other.

[0082] In the destination setting information 20d illustrated in Fig. 7, process a, process b, process c, process d, and process e are assigned to ACC5s with coordinates [X1, Y4], [X2, Y4], [X0, Y1], [X1, Y1], and [X3, Y0], respectively. Note that in the destination setting information 20d illustrated in Fig. 7, ACC5s with coordinates where no process is described are ACC5s to which no process is currently assigned, in other words, ACC5s where no process is being executed (idle state).

[0083] 7 shows an example in which a notification is issued from the determination unit 21b to the setting unit 21c indicating that processes b and c are to be moved. The notification instructs that processes c and b, which are being executed in ACC5s of [X0, Y1] and [X2, Y4], respectively, which are type B, be moved to ACC5s of [X0, Y2] and [X1, Y3], respectively, among the movable cards.

[0084] Upon receiving the notification from the determination unit 21b, the setting unit 21c updates the destination setting information 20d to change the setting of the destination of the processing request. As illustrated by reference symbol E2 in FIG. 7, the setting unit 21c deletes (deallocates) process c from the ACC 5 at [X0, Y1] and assigns (allocates) it to the ACC 5 at [X0, Y2] in the destination setting information 20d. The setting unit 21c also deletes process b from the ACC 5 at [X2, Y4] and assigns it to the ACC 5 at [X1, Y3]. This allows two or more ACCs 5 that are densely packed and have become hot to be distributed among multiple ACCs 5, for example, among multiple pooled ACCs 5, thereby improving the cooling efficiency of the ACCs 5 and ultimately realizing stable processing of the multiple ACCs 5.

[0085] The transmitter 22 transmits processing requests for various processes to be executed by each ACC 5 based on the destination setting information 20d. The transmitter 22 may be, for example, an application program that causes multiple ACCs 5 to execute processes in response to instructions from the server 2 or a higher-level device of the server 2. Examples of the higher-level device include a user terminal of a user who uses the system 1. As an example, the transmitter 22 may control the execution of various processes such as big data analysis processing or inference processing in AI technology. When the destination setting information 20d is changed by the management processing unit 21, the transmitter 22 may switch the ACC 5 that is the destination of the processing request based on the changed destination setting information 20d.

[0086] [C] Example of operation Next, an example of the operation of the system 1 according to an embodiment will be described. Fig. 8 is a flowchart illustrating an example of the operation of the system 1 according to an embodiment. An example of the above-described processing by the system 1 will be described below with reference to the flowchart.

[0087] As illustrated in FIG. 8, the acquisition unit 21a of the server 2 specifies the coordinates [X, Y] of the ACC 5 from which the acquisition information 20a is to be acquired (step S1). The server 2 is assumed to previously store identification information of the available ACC 5 and information relating to the position of the ACC 5 (e.g., coordinates). The order in which the coordinates are specified in step S1 may be set in advance or may be determined based on the identification information or the information relating to the position. As an example, the coordinates may be specified by sequentially increasing or decreasing the coordinate values ​​on the X-axis or Y-axis from the coordinates with the minimum or maximum X-axis or Y-axis coordinate values, respectively.

[0088] The acquisition unit 21a acquires the temperature T[X, Y] from the ACC 5 at the coordinates designated in step S1 (step S2), and stores the temperature T[X, Y] in the memory unit 20 as acquired information 20a.

[0089] The determination unit 21b determines whether the acquired temperature T[X,Y] is equal to or greater than the temperature threshold set in the determination condition management information 20b (step S3). If it is determined that the temperature T[X,Y] is less than the first temperature threshold (NO in step S3), the determination unit 21b determines that the ACC5 at the coordinate [X,Y] is of type C (step S8), and sets the determined type of ACC5 in the state information 20c of the memory unit 20.

[0090] If it is determined that the temperature T[X,Y] is equal to or greater than the temperature threshold value (YES in step S3), the acquiring unit 21a acquires the processing load W[X,Y] from the ACC5 of the coordinates specified in step S1 (step S4), and sets the processing load W[X,Y] in the acquired information 20a. Note that the acquiring unit 21a may acquire the processing load W[X,Y] together with the temperature T[X,Y] in step S2.

[0091] The determination unit 21b determines whether the processing load W[X,Y] is equal to or greater than the processing load threshold set in the determination condition management information 20b (step S5). If it is determined that the processing load W[X,Y] is equal to or greater than the processing load threshold (YES in step S5), the determination unit 21b determines that the ACC5 at the coordinate [X,Y] is of type A (step S6), and sets the determined type of ACC5 in the state information 20c of the memory unit 20.

[0092] If it is determined that the processing load W[X,Y] is less than the processing load threshold (NO in step S5), the judgment unit 21b determines that the ACC5 at the coordinate [X,Y] is type B (step S7), and stores the determined type of ACC5 in the status information 20c of the memory unit 20.

[0093] When the state (type) of ACC5 is determined in step S6, S7, or S8, the determination unit 21b determines whether or not there are any unspecified (undetermined) card coordinates (step S9). If it is determined that there are any unspecified card coordinates (YES in step S9), the process proceeds to step S1.

[0094] In this way, the acquisition unit 21a and the determination unit 21b repeat the process in steps S1 to S9 until they determine whether all ACCs 5 available to the server 2 (e.g., connected to the server 2) are in Type A, Type B, or Type C state.

[0095] If it is determined that there are no unspecified card coordinates (NO in step S9), the determination unit 21b determines an ACC5 to which the process allocated to type B will be moved, based on the state information 20c related to the plurality of ACC5s determined in steps S1 to S9 (step S10). For example, the determination unit 21b specifies one of the ACC5s as the destination of the process allocated to type B from among the candidate ACC5s for type C whose ±1 of the X coordinate is not type A or B and whose operating temperature is less than the second temperature threshold.

[0096] The determination unit 21b notifies the setting unit 21c of information including at least information (e.g., identification information) indicating the determined destination ACC 5 and the source (type B) ACC 5. Based on the notified content, the setting unit 21c changes the setting of the destination setting information 20d to move the process assigned to the source ACC 5 to the destination ACC 5. As a result, the determination unit 21b moves the process being executed on the type B high-temperature card (ACC 5) (step S11), and the process ends.

[0097] Based on the changed destination setting information 20d, the transmitter 22 transmits a processing request to the destination ACC 5. This reduces the amount of processing in the source ACC 5 of type B, thereby reducing the processing load on the ACC 5 and suppressing temperature increases in multiple ACCs 5, including the source ACC 5, due to heat generation by other ACCs 5.

[0098] 9 is a diagram showing an example of suppressing heat concentration in multiple ACCs 5 in one embodiment. In FIG. 9, blocks of high-temperature ACCs 5 are indicated by a diagonal line pattern, blocks of medium-temperature ACCs 5 are indicated by a hatched line pattern, and blocks of low-temperature ACCs 5 are indicated by a dotted pattern. For example, a high temperature may be equal to or greater than a first temperature threshold, a medium temperature may be less than the first temperature threshold and equal to or greater than a second temperature threshold, and a low temperature may be less than the second temperature threshold.

[0099] As shown by reference symbol F1 in Fig. 9, when adjacent ACCs 5 are all at high temperatures, the cooling effect of each ACC 5 is reduced, making it difficult for the ACCs 5 to dissipate heat, resulting in a further temperature rise and making it difficult to stably execute processing. In response to this, by performing the above-described processing according to one embodiment, it is possible to transfer processing executed by a Type B ACC 5 that has become hot due to the influence of an adjacent high-temperature card to another ACC 5, as shown by reference symbol F2 in Fig. 9 and in Fig. 7. In the example of Fig. 9, as a result of the transfer, four high-temperature ACCs 5 (see reference symbol F1) can be reduced to three medium-temperature ACCs 5 and one low-temperature ACC 5.

[0100] This allows the location of high-temperature cards to be switched, making it possible to change the temperature of Type B ACC5 to medium or low, reducing the density of high-temperature cards in multiple ACC5s, such as multiple ACC5s in a pooled configuration, and dispersing and suppressing heat concentration. Therefore, the cooling effect and temperature impact on adjacent ACC5s can be reduced not only for Type B ACC5s but also for Type A ACC5s adjacent to Type B ACC5s, thereby improving the processing performance of multiple ACC5s.

[0101] [D] Application examples Fig. 10 is a block diagram showing an application example of the configuration of the system 1 shown in Fig. 1. Fig. 10 focuses on a composite system 100 including multiple systems 1. The composite system 100 may include multiple systems 1 (three in the example of Fig. 10), a management server 11, a network SW (Network Switch) 12, and a network 13. Each of the multiple systems 1 illustrated in Fig. 10 may have the above-described HW configuration and software configuration.

[0102] The composite system 100 is an example of an information processing system that allocates resources in a storage housing 3 to each server 2 in a plurality of systems 1, and causes the server 2 or the management server 11 to execute processing using the resources. For example, the composite system 100 may use one or more servers 2 and one or more resource pools to provide a service as a CDI to a user, for example, a computer that accesses the composite system 100 via a network such as the Internet (not shown).

[0103] The management server 11 manages the entire complex system 100, for example, managing a plurality of hardware resources within the complex system 100. For example, the management server 11 may control the allocation of hardware resources within a resource pool including an ACC 5 to each of a plurality of servers 2 via a network SW12 and a network 13. This control may flexibly allocate hardware resources between a plurality of servers 2 and a plurality of resource pools among a plurality of systems 1. In the system 1, a switch that traverses the plurality of systems 1 may be interposed in the interconnect 4, and the switch may connect the plurality of servers 2 and a plurality of resource pools including a plurality of storage enclosures 3 so that they can communicate with each other across the plurality of systems 1.

[0104] The network SW12 switches the connection between the management server 11 and each of the plurality of servers 2, thereby selectively connecting the management server 11 and each of the plurality of servers 2 so that they can communicate with each other.

[0105] The network 13 connects the management server 11 and the multiple servers 2 via the network SW12 so that they can communicate with each other. The network 13 may be a network similar to the above-mentioned interconnect 4, including, for example, Ethernet (registered trademark). Note that the network 13 may also connect the management server 11, each of the multiple servers 2, and each of the multiple resource pools including multiple storage enclosures 3 via the network SW12 so that they can communicate with each other.

[0106] Under the management of the management server 11, each server 2 to which hardware resources including ACC5 are allocated may execute processing as a transmission unit 22 in response to a processing request sent from a user (e.g., a computer) and respond (send) the execution results to the user.

[0107] Furthermore, each server 2 may execute the processing of the above-described management processing unit 21 on hardware resources including the ACC 5 allocated to itself. Alternatively, the management server 11 may have the functionality of the management processing unit 21 of the server 2 as a software configuration. When the management server 11 has the functionality of the management processing unit 21, the management server 11 may execute the processing of the above-described management processing unit 21 on multiple ACCs 5 (hardware resources) connected to one or more servers 2 via one or more servers 2 or the network 13, etc. For example, the management server 11 may periodically acquire the operating temperature and processing load of the ACCs 5 in one or more systems 1, determine the ACCs 5 that are the source and destination of the allocated processing, and change the destination of the processing request for that processing.

[0108] Since the management server 11 manages multiple servers 2 and multiple ACCs 5, an ACC 5 in a system 1 different from the source ACC 5 may be determined as the destination of the processing. This allows the processing to be moved to an ACC 5 in a system 1 with a lower processing load even when there is a difference in the processing load between systems 1, thereby enabling stable execution of processing of multiple pooled ACCs. Note that if the management server 11 has the functionality of the management processing unit 21, the management processing unit 21 in one or more servers 2 may be omitted.

[0109] [E] Other The techniques according to the above-described embodiments can be implemented with the following modifications and variations.

[0110] For example, the functional blocks 20 to 22 included in the server 2 shown in Fig. 3 may be merged in any combination or may be divided into separate blocks. The information 20a, 20b, 20c, and 20d stored in the memory unit 20 shown in Fig. 3 may be merged in any combination or may be divided into separate blocks.

[0111] In addition, in one embodiment, the position of each of the multiple ACCs 5 is described as being shown in coordinate format, but this is not limiting. For example, the position of each of the multiple ACCs 5 may be specified by information such as the identification number of the ACC 5 or the slot number within the storage housing 3.

[0112] Furthermore, in one embodiment, when there are multiple destination candidate ACC5s, the ACC5 with the smallest or largest X or Y coordinate value, or the ACC5 farthest from the Type A and Type B ACC5s, is identified as the destination ACC5. The method for identifying the destination ACC5 from multiple destination candidate ACC5s is not limited to this. For example, the position of each of the multiple ACC5s may be indicated by an index based on the position of each of one or more Type A ACC5s, and the ACC5s may be identified as the destination ACC5 from the destination candidate ACC5s based on the value of the index (e.g., in descending order of the index value). The index may be, for example, a numerical value corresponding to the range (e.g., coordinate range) affected by the temperature rise due to heat generation of the Type A ACC5. For example, the index may be a numerical value calculated for each Type A ACC5, where the value is larger (or smaller) the closer the ACC5 is to the position of the Type A ACC5 and the value is smaller (or larger) the farther the ACC5 is from the position of the ACC5.

[0113] Furthermore, in one embodiment, a case has been described in which ACC5s with the same X coordinate do not affect each other due to heat generated between different storage casings 3, but the present invention is not limited to this. For example, when there is a possibility that different storage casings 3 may affect each other due to heat generated between them, the determination unit 21b may identify the destination ACC5 by taking into account the effect of heat generated. In this case, for example, the determination unit 21b may determine that an ACC5 that can be determined as a movable card by the above-mentioned determination is an immovable card if it has the same X coordinate as an ACC5 of type A or B and its Y coordinate is ±1 of the Y coordinate of the ACC5 of type A or B. This allows the processing of multiple ACC5s to be stably executed, taking into account the effect of heat generated between storage casings 3.

[0114] Furthermore, in one embodiment, the processing execution devices connected to the server 2 are configured to transfer processes between the pooled ACCs 5, but this is not limited thereto. For example, the processing execution devices connected to the server 2 may be a processing unit such as the processor 2a, or a storage device such as the memory 2c or the storage unit 2d. For example, when processing units other than the ACCs 5 are pooled as processing execution devices, the management processing unit 21 may transfer various processes to be executed by the processing units between the processing units, taking into account the thermal effects between the processing units. Furthermore, when storage units are pooled as processing execution devices, the management processing unit 21 may transfer various processes to be executed by the storage units between the storage units, taking into account the thermal effects between the storage units. Note that the processes assigned to the storage units include, for example, data write and read processes.

[0115] [F] Notes The following additional notes are provided regarding the above-described embodiments.

[0116] (Appendix 1) acquiring an operating temperature and a processing load of each of the plurality of processing execution devices; transferring a process assigned to a first process execution device of the plurality of process execution devices, the first process execution device having the operating temperature equal to or higher than a first predetermined value and the processing load less than a second predetermined value, to a second process execution device having the operating temperature less than a third predetermined value that is equal to or lower than the first predetermined value; An information processing program that causes a computer to execute processing.

[0117] (Appendix 2) the moving process includes a process of changing an association between the first process execution device and the process assigned to the first process execution device in information managing assignment of the plurality of process execution devices to the plurality of processes; An information processing program as described in Appendix 1.

[0118] (Appendix 3) the plurality of process execution devices are arranged in a row, with each row consisting of a predetermined number of process execution devices or less; the moving process includes a process of selecting the second process executing device from a fourth process executing device that is not adjacent to the first process executing device in the arrangement and that has the operating temperature equal to or higher than the first predetermined value and the processing load equal to or higher than the second predetermined value. An information processing program according to appendix 1 or appendix 2.

[0119] (Appendix 4) each of the plurality of process execution devices is housed in one of a plurality of housings, each of which can house two or more process execution devices in a row; the moving process includes a process of identifying the fourth process execution device that is not adjacent to the third process execution device and the first process execution device in the same housing. An information processing program as described in Appendix 3.

[0120] (Appendix 5) the selecting process includes a process of identifying the fourth process executing device based on the acquired operating temperature and processing load of each of the plurality of process executing devices and information indicating the layout of each of the plurality of process executing devices. An information processing program according to appendix 3 or appendix 4.

[0121] (Appendix 6) the selecting process includes selecting the second process execution device whose operating temperature is less than the third predetermined value and whose processing load is less than the second predetermined value. An information processing program according to any one of Supplementary Note 3 to Supplementary Note 5.

[0122] (Appendix 7) acquiring an operating temperature and a processing load of each of the plurality of processing execution devices; transferring a process assigned to a first process execution device of the plurality of process execution devices, the first process execution device having the operating temperature equal to or higher than a first predetermined value and the processing load less than a second predetermined value, to a second process execution device having the operating temperature less than a third predetermined value that is equal to or lower than the first predetermined value; An information processing method in which processing is performed by a computer.

[0123] (Appendix 8) the moving process includes a process of changing an association between the first process execution device and the process assigned to the first process execution device in information managing assignment of the plurality of process execution devices to the plurality of processes; 7. The information processing method described in Appendix 7.

[0124] (Appendix 9) the plurality of process execution devices are arranged in a row, with each row consisting of a predetermined number of process execution devices or less; the moving process includes a process of selecting the second process executing device from a fourth process executing device that is not adjacent to the first process executing device in the arrangement and that has the operating temperature equal to or higher than the first predetermined value and the processing load equal to or higher than the second predetermined value. 10. The information processing method according to claim 7 or 8.

[0125] (Appendix 10) each of the plurality of process execution devices is housed in one of a plurality of housings, each of which can house two or more process execution devices in a row; the moving process includes a process of identifying the fourth process execution device that is not adjacent to the third process execution device and the first process execution device in the same housing. 10. The information processing method according to claim 9.

[0126] (Appendix 11) the selecting process includes a process of identifying the fourth process executing device based on the acquired operating temperature and processing load of each of the plurality of process executing devices and information indicating the layout of each of the plurality of process executing devices. 11. The information processing method according to claim 9 or 10.

[0127] (Appendix 12) the selecting process includes selecting the second process execution device whose operating temperature is less than the third predetermined value and whose processing load is less than the second predetermined value. An information processing method according to any one of Supplementary Notes 9 to 11.

[0128] (Appendix 13) acquiring an operating temperature and a processing load of each of the plurality of processing execution devices; transferring a process assigned to a first process execution device of the plurality of process execution devices, the first process execution device having the operating temperature equal to or higher than a first predetermined value and the processing load less than a second predetermined value, to a second process execution device having the operating temperature less than a third predetermined value that is equal to or lower than the first predetermined value; An information processing device comprising a control unit that executes processing.

[0129] (Appendix 14) the control unit, in the process to be moved, changes the association between the first process execution device and the process assigned to the first process execution device in information managing the assignment of the plurality of process execution devices to the plurality of processes. 14. The information processing device according to claim 13.

[0130] (Appendix 15) the plurality of process execution devices are arranged in a row, with each row consisting of a predetermined number of process execution devices or less; In the moving process, the control unit selects the second process executing device from a third process executing device whose operating temperature is equal to or higher than the first predetermined value and whose processing load is equal to or higher than the second predetermined value, and a fourth process executing device that is not adjacent to the first process executing device in the arrangement. 15. The information processing device according to claim 13 or 14.

[0131] (Appendix 16) each of the plurality of process execution devices is housed in one of a plurality of housings, each of which can house two or more process execution devices in a row; the control unit, in the moving process, identifies the fourth process execution device that is not adjacent to the third process execution device and the first process execution device in the same housing. 16. The information processing device according to claim 15.

[0132] (Appendix 17) the control unit, in the selecting process, identifies the fourth process executing device based on the acquired operating temperature and processing load of each of the plurality of process executing devices and information indicating the layout of each of the plurality of process executing devices. 17. The information processing device according to claim 15 or 16.

[0133] (Appendix 18) the control unit, in the process of selecting, selects the second process execution device whose operating temperature is less than the third predetermined value and whose processing load is less than the second predetermined value. An information processing device according to any one of Supplementary notes 15 to 17. [Explanation of symbols]

[0134] 1 System 11 Management Server 12 Network SW 13 Network 100 Complex Systems 2 Server 20 Memory section 20a Acquisition Information 20b Judgment condition management information 20c Status Information 20d Destination setting information 21 Management Department 21a Acquisition Department 21b Judgment section 21c Setting section 22 Transmitter 23 Control Unit 3. Enclosure 4 Interconnect 5 ACC C4 coordinates

Claims

1. acquiring an operating temperature and a processing load of each of the plurality of processing execution devices; transferring a process assigned to a first process executing device of the plurality of process executing devices, the first process executing device having the operating temperature equal to or higher than a first predetermined value and the processing load less than a second predetermined value, to a second process executing device having the operating temperature less than a third predetermined value that is equal to or lower than the first predetermined value; An information processing program that causes a computer to execute processing.

2. the moving process includes a process of changing an association between the first process execution device and the process assigned to the first process execution device in information managing assignment of the plurality of process execution devices to the plurality of processes. The information processing program according to claim 1 .

3. the plurality of process execution devices are arranged in a row, with each row consisting of a predetermined number of process execution devices or less; the moving process includes a process of selecting the second process executing device from a fourth process executing device that is not adjacent to the first process executing device in the arrangement and that has the operating temperature equal to or higher than the first predetermined value and the processing load equal to or higher than the second predetermined value.

3. The information processing program according to claim 1.

4. each of the plurality of process execution devices is housed in one of a plurality of housings, each of which can house two or more process execution devices in a row; the moving process includes a process of identifying the fourth process execution device that is not adjacent to the third process execution device and the first process execution device in the same housing. The information processing program according to claim 3 .

5. the selecting process includes a process of identifying the fourth process executing device based on the acquired operating temperature and processing load of each of the plurality of process executing devices and information indicating the layout of each of the plurality of process executing devices. The information processing program according to claim 3 .

6. the selecting process includes a process of selecting the second process execution device whose operating temperature is less than the third predetermined value and whose processing load is less than the second predetermined value. The information processing program according to claim 3 .

7. acquiring an operating temperature and a processing load of each of the plurality of processing execution devices; transferring a process assigned to a first process executing device of the plurality of process executing devices, the first process executing device having the operating temperature equal to or higher than a first predetermined value and the processing load less than a second predetermined value, to a second process executing device having the operating temperature less than a third predetermined value that is equal to or lower than the first predetermined value; An information processing method in which processing is performed by a computer.

8. acquiring an operating temperature and a processing load of each of the plurality of processing execution devices; transferring a process assigned to a first process executing device of the plurality of process executing devices, the first process executing device having the operating temperature equal to or higher than a first predetermined value and the processing load less than a second predetermined value, to a second process executing device having the operating temperature less than a third predetermined value that is equal to or lower than the first predetermined value; An information processing device comprising a control unit that executes processing.

Citation Information

Patent Citations

  • Process schedule system

    JP1996016531A

  • Job scheduling system for parallel computer

    JP2004126968A