A system and method for generating partitions at boot time for a computing system.

JP2026533885APending Publication Date: 2026-10-13TESLA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2026518926
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-29
Filing Date
2024-09-26
Publication Date
2026-10-13

Smart Images

  • Figure 2026533885000001_ABST
    Figure 2026533885000001_ABST
Patent Text Reader

Abstract

This disclosure relates to a computing device for generating partition models of a computing system. The computing device includes a computing processor and memory. The memory stores computer executable instructions that, when executed by the computing processor, cause operations to be performed, the operations including accessing information that identifies partitions of the computing system, the partitions corresponding to a subset of computing resources of the computing system, the computing resources comprising an array of computing tiles, each computing tile in the array of computing tiles comprising an array of dies, and generating a model of the partitions of the computing system at startup, the model taking into account one or more manufacturing defects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] [Cross-Reference to Related Applications] This application claims the priority benefit of U.S. Provisional Application No. 63 / 586,778, filed on September 29, 2023, entitled "SYSTEM AND METHOD FOR GENERATING PARTITION AT BOOT FOR COMPUTING SYSTEM", the disclosure of which is hereby incorporated herein by reference in its entirety for all purposes.

[0002] The present disclosure relates to modeling and / or partitioning of computing hardware resources in a computing system based on identification of defects in hardware.

Background Art

[0003] Certain computing systems may be used and / or specifically configured for high-performance computing and / or computationally intensive applications such as neural network training, neural network inference, machine learning, artificial intelligence, and complex simulations. In some applications, the computing system may be used to perform neural network training. For example, such neural network training may generate data for autopilot systems of vehicles (e.g., automobiles), other autonomous vehicle functions, or advanced driver assistance system (ADAS) functions.

[0004] In high-performance computing systems, high-density hardware resources such as integrated circuit (IC) dies may be present. In such computing systems, it may be desirable to analyze one or more portions of the computing system. In such computing systems having a large number of processing IC dies, there are technical challenges associated with analyzing and modeling the functionality of the processing IC dies and associated computing systems in the presence of various defects and / or errors.

Summary of the Invention

[0005] Each of the technological innovations described in the claims has several aspects, and not just one of them alone embodies the desired attributes. Without limiting the scope of the claims, some notable features of this disclosure are briefly described here.

[0006] One aspect of the present disclosure is a computing device for generating a model of partitions of a computing system. The computing device includes a computing processor and memory for storing computer executable instructions that, when executed by the computing processor, cause operations to be performed. Operations include accessing information that identifies partitions of the computing system and generating a model of partitions of the computing system at boot time. The model takes into account one or more manufacturing defects. Partitions correspond to a subset of computing resources of the computing system. Computing resources include an array of computing tiles. Each computing tile in the array of computing tiles includes an array of dies.

[0007] In one embodiment, the model may take into account one or more operational defects.

[0008] In one embodiment, the operation may include dynamically updating the partition.

[0009] In one embodiment, the operation may include identifying one or more manufacturing defects before initiating the startup of the computing system. Furthermore, the operation may include updating the model after the computing system has started up.

[0010] In one embodiment, the memory may be configured to store corrective actions corresponding to one or more manufacturing defects. The operation may include applying one or more corresponding corrective actions to one or more manufacturing defects. The model may reflect the corrective actions.

[0011] In one embodiment, one or more manufacturing defects may include manufacturing defects related to the computing tiles in an array of computing tiles.

[0012] In one embodiment, one or more manufacturing defects may include manufacturing defects relating to the dies of the array of computing tiles.

[0013] In one embodiment, one or more manufacturing defects may include manufacturing defects relating to the nodes of the dies in the array of computing tiles.

[0014] In one embodiment, the operation may include scheduling computing tasks for partitions based on a model.

[0015] Another aspect of this disclosure is a method for generating a model of partitions in a computing system. The method includes the steps of accessing information that identifies partitions in a computing system and generating a model of partitions in a computing system at startup using a computing device. Partitions correspond to a subset of computing resources in a computing system. Computing resources include an array of computing tiles. Each computing tile in the array of computing tiles includes an array of dies. The model takes into account one or more manufacturing defects.

[0016] In one embodiment, the method may also include the step of updating the partition model after the computing system has started in order to account for one or more operational defects.

[0017] In one embodiment, the method may also include the step of identifying one or more manufacturing defects before initiating the startup of the computing system.

[0018] In one embodiment, the method may also include a step of applying a corrective action to account for at least one of one or more defects, and the model reflects the corrective action.

[0019] In one embodiment, the method may also include the step of scheduling computing tasks for partitions based on a model.

[0020] In one embodiment, one or more manufacturing defects may include manufacturing defects relating to the dies of the array of computing tiles.

[0021] In one embodiment, one or more manufacturing defects may include manufacturing defects relating to the nodes of the dies in the array of computing tiles.

[0022] One aspect of this disclosure is a system including a computing resource comprising an array of computing tiles, Each computing tile in the array of computing tiles comprises an array of dies, and the system includes a computing device that communicates with computing resources. The computing device includes a computing processor and memory that stores computer executable instructions that, when executed by the computing processor, cause operations to be performed. Operations include accessing information that identifies partitions of the computing system and generating a model of the partitions of the computing system at startup. The model takes into account one or more manufacturing defects. Partitions correspond to a subset of the computing resources of the computing system. Computing resources include arrays of computing tiles. Each computing tile in the array of computing tiles includes an array of dies.

[0023] In one embodiment, the operation may include scheduling computing tasks for partitions based on a model. Furthermore, computing resources may be configured to use partitions to perform computing tasks in response to computing devices scheduling computing tasks.

[0024] In one embodiment, the operation may include dynamically updating the partition model based on at least the behavior of computing resources.

[0025] For the purpose of summarizing this disclosure, specific aspects, advantages, and novel features of the technological innovation are described herein. It should be understood that not all of such advantages can necessarily be achieved according to any particular embodiment. Thus, the technological innovation may be embodied or performed to achieve or optimize one advantage or set of advantages as taught herein, without necessarily achieving other advantages as taught or suggested herein. [Brief explanation of the drawing]

[0026] Embodiments of the present disclosure are described, by way of non-limiting example, with reference to the accompanying drawings.

[0027] [Figure 1] 1 is a block diagram illustrating an example of a hierarchy of computing resources of a computing system.

[0028] [Figure 2] 1 is a block diagram illustrating an example of a computing system connected to a computing device, in accordance with various embodiments disclosed herein.

[0029] [Figure 3] 1 is a block diagram illustrating an example of a computing system having partitioned computing resources.

[0030] [Figure 4] 1 is a data flow diagram illustrating an exemplary process capable of collecting fault information related to partitions of a computing system.

[0031] [Figure 5] 1 illustrates an example of a cabinet including one or more processing systems in accordance with embodiments disclosed herein. Detailed Description of the Embodiments

[0032] The following detailed descriptions of specific embodiments present various descriptions of those specific embodiments. However, the innovations described herein can be implemented in numerous different ways, for example, as defined and encompassed by the claims. In this description, similar reference numbers and / or terms refer to drawings in which identical or functionally similar elements may be shown. It will be understood that the elements shown in the drawings are not necessarily drawn to scale. Furthermore, it will be understood that a particular embodiment may include more elements and / or subsets of elements shown in the drawings than those shown. In addition, some embodiments may incorporate any suitable combination of features from two or more drawings.

[0033] This disclosure relates to generating a model of the functionality of partitions in a computing system at startup and / or managing defects in dynamic partitions of a computing system. Certain components of a computing system may be instances of the same design, but differences in performance may occur between different instances of the same design due to manufacturing, environment, and / or operating factors. For example, different instances of the same design may operate with different parameters such as clock frequency, supply voltage, and bandwidth, but are not limited to these. Model generation can take into account such variations and / or other defects of the computing system.

[0034] Generating a model may involve accessing information related to defects in the hardware of a computing system. Information related to defects may be generated based on identifying and analyzing defects in the computing resources of the computing system and applying corrective actions. More specifically, aspects of this disclosure provide a system for generating a model of a partition of a computing system at startup using information related to partition defects. The defects may be, but are not limited to, hardware defects of the computing system, such as any defect, malfunction, or incompleteness of a physical component of the computing system, and such defects may affect one or more of the normal operation, performance, or reliability of the hardware component. For example, defects may include manufacturing defects that occur during the manufacturing process, electrical defects related to the formation of electrical connections such as short circuits, thermal defects due to overheating of a hardware component, or any appropriate combination thereof.

[0035] In some embodiments, the systems disclosed herein can account for defects by applying corrective actions. Furthermore, after the startup process, the system can automatically apply corrective actions to identified defects. In some embodiments, the corrective action may include partitioning the hardware of the computing system and excluding hardware components having identified defects.

[0036] According to some embodiments, lower-level hardware components can be incorporated into large-scale, scalable computing systems. Such computing systems can be used for machine learning applications, such as neural network training. Exemplary computing systems are described using components at various hierarchical levels.

[0037] The computing systems disclosed herein may include various hierarchical levels of computing resources for performing computing tasks. For example, a computing system may include tiles (e.g., “computing tiles”), each computing tile may include multiple dies packaged together. A computing tile may include a system on a wafer including an array of multiple IC dies and voltage regulation modules, each of which is configured to provide a power supply voltage to each IC die of the system on the wafer. A computing tile may also include an integrated cooling solution. Each die may include multiple nodes (e.g., leaf nodes). Each node may function as a computing node, a global node, an interface node (e.g., a routing node), etc. A system tray may include an array of connected computing tiles. A computing cabinet may include one or more system trays. A computing tile may be connected to one or more other computing tiles on the same system tray and / or on system trays in adjacent computing cabinets within the computing system.

[0038] By combining consecutive hardware components of a computing system, it is possible to create operational units called partitions, which are used to perform relatively large computing tasks, such as machine learning training loads, using software partitions overlaid on hardware partitions, but are not limited to these.

[0039] In some embodiments, the hardware custom silicon components within these computing systems have profiles that are dynamically updated in operation based on their initial manufacturing, testing, operational characteristics, and system usage during operation. Information related to defects disclosed herein may be dynamic. Such information can be updated during the startup and / or operation of the computing system.

[0040] Dynamic profiling of each silicon component can enable, but is not limited to, in-operation repairs such as rerouting, masking, power level control, and disabling components that may be beyond repair.

[0041] Maintaining component-specific profiles in software-based systems enables rapid detection during operation and adaptation of partitions to underlying hardware changes.

[0042] When hardware components become part of different topologies, per-hardware profiles can use a unique global identifier that remains associated with the silicon hardware component, thus allowing for reuse across topologies that use the same silicon.

[0043] The system can add profiles based on unique defect / feature identification keys for future defects that do not fit existing profiles, thus enabling future scalability.

[0044] In some embodiments, continuous analysis of defect trends and corrective actions can be performed.

[0045] As the demand for computing resources in computing systems increases, high-density computing systems are desired. As mentioned above, a particular computing system may include one or more computing tiles, each computing tile may include an array of dies. During testing or before installing computing tiles in a computing system, the performance of computing tiles can be analyzed to ensure that these computing tiles are functional and meet performance specifications. Furthermore, system-level testing can identify defects related to connected computing tiles that may not be identified by testing individual computing tiles. Thus, defects related to the manufacturing of computing tiles, and defects related to computing tiles connected to computing tiles and / or other components within a larger computing system, may exist.

[0046] Identifying and tracking defects in large-scale computing systems can be challenging. Furthermore, modeling the functionality of partitions in a computing system with defects and / or errors at different levels, such as die-level, computing tile-level, system tray-level, or computing system-level, and the associated corrective actions, can be difficult. Such modeling may be useful for scheduling computing tasks to partitions in a computing system.

[0047] To address at least some of the technical challenges described above, one or more aspects of this disclosure relate to a computing device capable of generating a model of partitions in a computing system. The model includes various hierarchies and can consider defects and corrective actions applicable to specific hardware at various hierarchical levels. The computing devices disclosed herein can be communicatively coupled to a computing system and can partition the computing resources of the computing system. The computing devices can store information related to defects in the computing system. In some applications, the computing device can analyze one or more partitions to identify defects. In some aspects, defect identification is performed by monitoring die performance metrics based on the design performance specifications of each die. After identifying defects, the computing device can store information related to the defects. The computing device can apply corrective actions to consider defects when modeling the computing resources of a partition. In some cases, the computing devices disclosed herein can identify defects in partitioned computing resources (e.g., partitioned tiles, as described below) before booting the computing system. A model of the partitions can then be generated at boot time. This model can be used when scheduling computing tasks to partitions and / or generating inputs to any partition of hardware. A detailed description of these embodiments is provided below with reference to the accompanying drawings. This disclosure is not limited to the specific computing performance specifications mentioned herein and can be adapted on a particular application.

[0048] In some embodiments, the model may be called a partition model (e.g., a partition model of a computing system). The model may refer to a partition model of the computing system's hardware. This model can provide various partition configurations of the computing system's hardware so that various partitioned computing system hardware can be dynamically allocated based on computing tasks. In some embodiments, the model may exclude one or more defective and / or damaged hardware portions of the computing system. In some embodiments, a computing device can schedule tasks (e.g., computing tasks) so that each task is performed by one of the partitions. In some embodiments, the model includes various partitions, and the computing device can select one or more partitions based on the scheduled tasks. The computing system's hardware may refer to hardware components designed to perform specific tasks, such as processing data, executing instructions, performing calculations, temporarily or permanently storing data, managing data flow and interactions (e.g., input / output), and coordinating power supply to various components. Any suitable hardware components within the computing system can be used to implement specific functions of the system.

[0049] Figure 1 shows an exemplary hierarchy of computing resources in computing system 100. As shown in Figure 1, computing system 100 can include multiple tiles 102. Each tile 102 can be configured to operate as a computing tile, an input / output (I / O) tile, or a logical tile such as a memory tile. Furthermore, a tile 102 can include multiple dies 104. These dies 104 can provide specific functions for the corresponding tile. For example, if tile 102 is a processing unit configured to perform core operations such as executing instructions from a program, arithmetic operations, and logical operations, the dies 104 may include, but are not limited to, computing dies configured to perform arithmetic and logical operations, control dies configured to direct data communication by fetching and decoding instructions, signal processing dies configured to handle video, audio, and communication signal processing, field-programmable gate array dies configured to be programmed to perform specific tasks or functions, non-volatile memory dies configured to store persistent data, volatile memory dies configured to store temporary data, or I / O dies configured to manage and control communication between dies included in the tile, and / or with other tiles or external hardware components such as other computing systems. In some embodiments, die 104 may include multiple nodes 106 (e.g., leaf nodes). Each node 106 may be a compute node, an I / O node, or a memory node. These particular types of tiles 102, dies 104, and nodes 106 are provided as exemplary examples. Any appropriate number and / or types of tiles 102, dies 104, and nodes 106 can be implemented for a particular computing system 100.

[0050] In some aspects of this disclosure, a computing system can be communicatively coupled to a computing device. Figure 2 shows an example of a computing system 200 connected to a computing device 210. The computing system 200 shown in Figure 2 may be, for example, another representation of the computing system 100 in Figure 1. The computing system 200 includes computing resources and other peripheral hardware components as described herein.

[0051] The computing device 210 shown in Figure 2 may include one or more processors and memory to generate a model of the partitions of the computing system. In some embodiments, the computing device 210 can store information related to one or more defects in the computing resources of the computing system 200, take the defects into account, and generate a model of how the partitions of the computing system 200 will behave at startup.

[0052] In some embodiments, the computing device 210 can store information related to defects at various levels of the computing resources of the computing system 200. For example, the computing device 210 can store information related to defects at the tile 102 level (e.g., identifying defective tiles and defect types), the die 104 level (e.g., identifying defective dies and defect types), and / or the node level 106 (e.g., identifying defective nodes and defect types). In some embodiments, the computing device 210 can store information related to defects beyond the tile level (e.g., defects related to connections between tiles).

[0053] In some cases, the computing system 200 and computing devices 210 are connected via a network 220, which may be wireless or wired. This network 220 may include one or more direct communication channels, local area networks, wide area networks, personal area networks, and / or any suitable combination of wired and / or wireless networks such as the Internet. In some examples, the network 220 may include, but is not limited to, private or semi-private networks, wireless local area networks, etc. The network 220 may use any suitable protocol and components for communicating via the Internet or any of the aforementioned types of networks.

[0054] In some embodiments, the network 220 may include a specific type of data bus used to transmit data. In some embodiments, the computing device 210 may include any suitable computing device, such as one or more server computers or one or more desktop computers. In some embodiments, the computing device 210 may store instructions and execute instructions to perform one or more operations of the embodiments disclosed herein. In various embodiments, a user (e.g., a system operator, administrator, developer, etc.) may interact with the computing system 200 by utilizing the computing device 210. For example, the computing device 210 may obtain from the computing system 200 tile configuration information, operating parameters of each tile (and the dies contained in each tile), configuration information of each tile and the dies contained in each tile, interface information, and the like.

[0055] As further shown in Figure 2 above, the computing system 200 may also include various peripheral hardware components such as a host 202, memory 204 (e.g., high-bandwidth memory (HBM)), and an interface processor 206 (e.g., DIP). In some embodiments, the host 202 is configured to control and manage the hardware resources of the computing system 200. For example, the host 202 can analyze the performance of each tile 102 and / or each die 104 and node 106 contained within a tile 102. In some examples, the host 202 can analyze the performance of one or more tiles 102 contained within the same illustrated row as the host 202. The host 202 may include a host processor and memory for monitoring the performance of the tiles 102 and their dies 104 and / or nodes 106. In some examples, defects identified during performance analysis can be stored in the memory of the host 202. In some embodiments, the host 202 can provide information identifying defects to the computing device 210 via a controller 230. For example, the controller 230 provides an interface for connecting to the computing device 210 via the network 220. In various embodiments, the computing system 200 may include one or more controllers 230 that can be used to communicate various data between the computing system 200 and the computing device 210. For example, the controller 230 may be communicatively coupled to one or more hosts 202 and can transmit stored data within the hosts 202 (such as defect information identifying defects in tiles 102 and / or dies 104 and / or nodes 106) to the computing device 210.

[0056] In some aspects of this disclosure, the computing system 200 can be dynamically partitioned. Figure 3 shows an example of a computing system 300 having partitions of computing resources. The computing system 300 corresponds to the computing system 200 shown in Figure 2. As shown in Figure 3, the computing resources of the computing system 300 can be divided into hardware partitions such as partitions 1 to 4. For example, a defective portion 310 (e.g., a group of IC dies on a tile) can be identified as having a defect. In this example, the host 202A can store information identifying the defective portion 310, and this information can be transmitted, for example, to a computing device 210 (shown in Figure 2) via the controller 230 and the network 220.

[0057] In some examples, the computing system 300 can be dynamically partitioned. For example, host 202A can identify that an IC die included in a defective portion 310 has degraded and / or improper performance. In this example, after receiving information identifying the defective portion 310, the computing device 210 can generate partitions (e.g., partitions 1, 2, and 3) that exclude the defective portion 310. Partitioning can be performed at the die level. As shown in Figure 3, partitions 1, 2, and 3 may include parts of the computing tile. There may be overlaps between partitions. For example, partition 3 overlaps with parts of partition 1 and partition 2 in Figure 2. If there are overlaps between partitions, computing tasks can be scheduled to avoid hardware usage conflicts. In some embodiments, the model can exclude one or more defective and / or damaged hardware portions of the computing system. In some embodiments, the computing device can schedule tasks (e.g., computing tasks) such that each task is scheduled to run on one of the partitions. In some embodiments, the model includes various partitions, and the computing device can select one or more partitions based on the scheduled tasks.

[0058] In some embodiments, the computing device 210 in Figure 2 can store information related to defects on a partition. The host 202 can store information identifying one or more defective tiles 102 and / or one or more defective dies 104. This information identifying the defects can be provided to the computing device 210.

[0059] In some embodiments, the computing device 210 can identify defects on the partition. In some applications, the computing device 210 can obtain computing resource configuration information from the computing system 300 and generate partitions. In some cases, the computing system 300 may have one or more partitioned configurations, and the computing device 210 can obtain this partitioned configuration information from the computing system 300.

[0060] In various embodiments, the computing device 210 can identify a defective die based on the designed specifications of each node 106 in Figure 1. In these embodiments, a defective node 106 can be identified by measuring performance metrics of each node 106, such as measuring operating frequency, bandwidth, temperature, clock speed, communication delay, computation latency, etc. For example, a die 104 may be identified as defective if it is unable to route data, communicate with other dies or tiles, or do so with substandard performance (e.g., lower bandwidth and / or higher latency). In other examples, a computing node 106 may be identified as defective if it is performing a logical computation (e.g., a task) with reduced performance, or is unable to perform the computation at all.

[0061] In some embodiments, the computing device 210 can determine defects before operating the computing tiles 102 (for example, before operating the dies 104 included in the computing tiles 102). For example, when the computing tiles 102 are newly implemented in the computing system 300, the computing device 210 can identify one or more defective dies included in these computing tiles 102. For example, defects may occur during the manufacturing process, and these defects may be called manufacturing defects.

[0062] In some embodiments, the performance of computing tiles 102 and / or dies 104 can be monitored. For example, one or more hosts 202 and / or computing devices 210 can monitor the performance of computing tiles 102 and / or dies 104. In some such examples, computing device 210 can communicate with host 202 so that it can identify the performance profile of computing tiles 102 and / or dies 104 associated with host 202 and determine whether the performance profile of computing tiles 102 and / or dies 104 falls below a threshold (e.g., a predefined performance metric). In this embodiment, one or more defective dies that do not meet design specifications (e.g., a performance profile identified as falling below a threshold) can be identified. For example, this may occur if the operating temperature of one or more dies is elevated or the performance of one or more dies is degraded. More specifically, if a die is designed to perform calculations and its operating clock speed does not meet design specifications, the die may be identified as a defective die. Furthermore, if a die is an I / O die and its communication latency or bandwidth is lower than the design specifications, these dies may be identified as defective dies.

[0063] In some embodiments, the computing device 210 and / or one or more hosts 202 can identify node-level defects in one or more nodes 106 in Figure 1. For example, if the operating temperature of any of the nodes contained in the die (e.g., computing nodes, I / O nodes, and memory nodes) is elevated, these nodes can be identified as defective nodes. Thus, the die containing these defective nodes can be identified as a defective die. Furthermore, if any of the computing nodes are performing at a reduced level that does not meet the design specifications, the die containing these computing nodes can be identified as a defective die. Furthermore, if any of the memory nodes are performing at a reduced level and not meeting the specifications, the die containing these computing nodes can be identified as a defective die.

[0064] The computing device 210 and / or one or more hosts 202 can also be configured to apply one or more corrective actions to account for various defects. For example, the computing device 210 can store various corrective actions, each associated with a particular type of defect. Thus, after identifying a defect, the computing device 210 can apply the corresponding corrective action. Exemplary corrective actions include, but are not limited to, routing around defective hardware, not using defective hardware, and not storing defective memory.

[0065] In some embodiments, the computing device 210 can be configured to track defects. For example, the computing device 210 can store information related to manufacturing defects contained in one or more dies and / or computing tiles. In this example, the computing device 210 can apply corrective actions corresponding to the identified defects. After applying corrective actions to fix defects in the dies (and / or nodes within the dies), these dies can be started in the operating environment. The computing device 210 can then monitor the operating parameters of these dies. In this example, if the computing device 210 identifies additional defective dies during operation, these defective dies can be classified as operational defects. Thus, the computing device 210 can consider the causes of these different types of defects, such as manufacturing or operational defects, and apply corrective actions accordingly.

[0066] Figure 4 shows an exemplary process 400 in which defect information of partitions of a computing system can be collected for booting. Collecting defect information, including both manufacturer defects and operational defects, may be advantageous because it allows the computing device 210 to automatically apply corrective actions related to these defects during the boot process after booting the partitioned tiles of a computing system, such as the computing system 200 in Figure 2 and / or the computing system 300 in Figure 3. The exemplary process described in Figure 4 is exemplary and should not be understood as limiting aspects of this disclosure.

[0067] Process 400 in Figure 4 can generate a model of the partition functionality of a computing system, such as the computing system 200 in Figure 2. Process 400 can be executed by the computing device 210 in Figure 2. The model generated by process 400 can be used to partition the computing system 300, for example, as shown in Figure 3. Process 400 can include dynamically updating information related to defects and / or dynamically reacting to defects. Process 400 in Figure 4 allows the computing system to start up quickly while the model of the computing system's partitions is being generated.

[0068] Process 400 allows the computing resources of the computing system to be efficiently allocated by partitioning the computing resources considering one or more defective tiles 102, one or more defective dies 104, and / or one or more defective nodes 106. Process 400 can be applied to generate models of multiple partitions. For illustrative purposes, process 400 will be described with reference to the components shown in Figures 1 and 2. In some embodiments, the computing device 210 includes memory that stores instructions that, when executed by the processor of the computing device 210, cause an operation to be performed. The operation may perform one or more of steps 410 to 480 of process 400.

[0069] Process 400 can be initiated in step 410. In step 410, information relating to identified defects in the computing resources of the computing system can be provided. For example, defect information identifying defects in computing resources can be stored in the host 202, and the computing device 210 can receive defect information from the computing system 200 via the controller 230. The identified defects may be known defects caused by the manufacturing process. In some embodiments, these identified defects are known defects in one or more of the computing tiles 102, dies 104, or nodes 106 of the die. Information relating to the identified defects may be provided by the manufacturer and / or generated from test components.

[0070] In step 420, the computing device 210 may store information related to the identified defect in the computing resource in the memory of the computing device 210. For example, this information may be stored as a file. The file may have a specific format that is readable by the computing device 210. Any suitable file format can be used.

[0071] In step 430, the computing device 210 may also analyze defects in the computing resources of the computing system 200. In some embodiments, step 430 may be performed after manufacturing, such as during testing after the computing system 200 has been assembled. In some examples, the computing device 210 may identify additional defects other than those identified in relation to the manufacturing components of the computing system. In this example, the additional defects may also be called manufacturing defects, since they were identified before initiation (e.g., operating the partitioned tiles). More specifically, the additional defects may be manufacturing defects that were not previously identified. Such defects may, for example, result from the connection of components of the computing system (e.g., computing tiles).

[0072] In step 440, the computing device 210 can collect information related to the identified defects provided in step 410 and any additional defects identified in step 430.

[0073] In step 450, operational defects can be identified. In some embodiments, the computing device 210 can test computing resources under an operating environment that includes an operating power supply, operating frequency, temperature, etc. During or after testing the computing resources, the computing device 210 can identify additional defects different from those collected in step 440. These additional defects in step 450 can be collected in step 460.

[0074] For example, computing device 210 can monitor the performance of computing tile 102 and / or die 104 by communicating with host 202. Computing device 210 can identify the performance profile of computing tile 102 and / or die 104 associated with host 202 and can determine whether the performance profile of computing tile 102 and / or die 104 falls below a threshold (e.g., a predefined performance metric). In this embodiment, in step 450, one or more defective dies 104 that do not meet the design specifications (e.g., a performance profile identified as falling below a threshold) can be identified. In some embodiments, the performance profile may include performance metrics corresponding to attributes of computing tile 102 and / or die 104. For example, computing tile 102 and / or die 104 dedicated to performing logical calculations may have performance metrics corresponding to the clock speed or operating frequency of computing tile 102 and / or die 104. Such performance metrics and profiles may be determined, for example, based on the functionality of computing tile 102 and / or die 104. Information related to additional operational defects identified in step 450 can be collected in step 460.

[0075] In some embodiments, step 470 includes storing defect information in a database. The defect information stored in step 470 may include the types of defects identified in step 450. For example, during testing of partitioned tiles in step 450, one or more operational parameters of the partitioned tiles may represent performance parameters that do not conform to the designed specifications. In this example, the computing device 210 can access the database to identify operational defects associated with non-compliant performance parameters.

[0076] The defects identified in steps 410, 430, 450, and 470 are collected during the startup process, for example, during startup of the partition 480. Information related to the defects can be used to generate a model of the partition's functionality during startup. Thus, the computing device 210 can automatically generate a model that takes the collected defects into account during the startup of the partition. The model can then be used to schedule computing tasks and / or increase the partition's usage. Figure 4 shows a specific sequence of operations, but the steps of process 400 may be executed sequentially or at least partially in parallel in any suitable order.

[0077] According to embodiments disclosed herein, multiple tiles 102 are utilized as computing resources for a computing system. For example, Figure 5 shows examples of two cabinets 600 that can include multiple computing tiles 102, each tile 102 may include an array of dies. The array of dies may be a 3×3, 4×4, 5×5, 6×6, or 7×7 array of dies 104. A system on a wafer may include an array of dies. As shown in Figure 6, the cabinet 600 may include one or more sockets 602 or guide rails, and a system tray containing an array of computing tiles 102 can be inserted into the cabinet 600 via the sockets 602. Each cabinet 600 in Figure 5 includes a cabinet structure arranged to accept two system trays, each system tray containing an array of computing tiles 102 (e.g., a 2×3 array of computing tiles 102). Thus, multiple computing tiles 102 can be integrated into the cabinet 600. Any appropriate type and number of sockets can be used for a particular application.

[0078] Any method (or any part thereof) disclosed herein can be performed in connection with a particular instruction stored in a non-temporary computer-readable storage medium being executed by one or more processors.

[0079] Unless the context clearly requires otherwise, words such as “equipment,” “includes,” and so on throughout the description and claims should be interpreted in a comprehensive sense, not exclusive or exhaustive, that is, “includes but not limited to.” The term “combined,” as commonly used herein, refers to two or more elements that are directly connected or that can be connected by one or more intermediate elements. Similarly, the term “connected,” as commonly used herein, refers to two or more elements that are directly connected or that can be connected by one or more intermediate elements. Furthermore, “as specified herein,” “above,” “below,” and words of a similar nature, when used in this application, refer to this application as a whole and not to any particular part thereof. Where the context allows, words in the above detailed description that use singular or plural numbers may also include plural or singular numbers, respectively. The word “or,” referring to a list of two or more items, encompasses all interpretations of this word: any of the items in the list, all items in the list, and any combination of items in the list.

[0080] Furthermore, the conditional language used herein, in particular "can," "could," "might," "may," "eg," "for example," and "such as," is generally intended to convey that some embodiments include certain features, elements, and / or states, while others do not, unless otherwise specified or understood in the context in which they are used. Therefore, such conditional language is generally not intended to imply that features, elements, and / or states are required in any way in one or more embodiments.

[0081] The above description is based on reference to specific embodiments. However, the above illustrative description is not intended to be exhaustive or to limit the invention to the exact forms described. Many modifications and variations are possible in light of the above teachings. This will enable those skilled in the art to best utilize the technology and various embodiments with various modifications suitable for various applications.

[0082] While the present disclosure and embodiments have been described with reference to the accompanying drawings, various changes and modifications will be apparent to those skilled in the art. Such changes and modifications should be understood to be within the scope of the present disclosure.

Claims

1. A computing device for generating a model of partitions in a computing system, Computing processors and A memory that stores computer executable instructions that, when executed by the computing processor, cause an operation to be performed, The aforementioned operation is, A step of accessing information that identifies the partition of the computing system, wherein the partition corresponds to a subset of computing resources of the computing system, the computing resources comprise an array of computing tiles, and each computing tile in the array of computing tiles comprises an array of dies, A memory and a memory, comprising the steps of generating a model of the partition of the computing system at startup, wherein the model takes into account one or more manufacturing defects. A computing device equipped with [a certain feature].

2. The model is a computing device according to claim 1, which takes into account one or more operational defects.

3. The computing device according to claim 1 or 2, wherein the operation includes the step of dynamically updating the partition.

4. The computing device according to any one of claims 1 to 3, wherein the operation includes the step of identifying one or more manufacturing defects before initiating the startup of the computing system.

5. The computing device according to any one of claims 1 to 4, wherein the operation includes the step of updating the model after the startup of the computing system.

6. The memory is configured to store corrective actions corresponding to the one or more manufacturing defects, the operation includes the step of applying one or more corresponding corrective actions to the one or more manufacturing defects, and the model reflects the corrective actions, the computing device according to any one of claims 1 to 5.

7. The computing device according to any one of claims 1 to 6, wherein the one or more manufacturing defects include manufacturing defects relating to the computing tiles of the array of computing tiles.

8. The computing device according to any one of claims 1 to 7, wherein the one or more manufacturing defects include manufacturing defects relating to the dies of the array of computing tiles.

9. The computing device according to any one of claims 1 to 8, wherein the one or more manufacturing defects include manufacturing defects relating to the nodes of the dies of the array of computing tiles.

10. The computing device according to any one of claims 1 to 9, wherein the operation includes the step of scheduling computing tasks for the partition based on the model.

11. A method for generating a model of the partitions of a computing system, A step of accessing information that identifies the partition of the computing system, wherein the partition corresponds to a subset of computing resources of the computing system, the computing resources comprise an array of computing tiles, and each computing tile in the array of computing tiles comprises an array of dies, A step of generating a model of the partition of the computing system at startup using a computing device, wherein the model takes into account one or more manufacturing defects; Methods that include...

12. The method according to claim 11, further comprising the step of updating the model of the partition after the startup of the computing system in order to take into account one or more operational defects.

13. The method according to claim 11 or 12, further comprising the step of identifying one or more manufacturing defects before initiating the startup of the computing system.

14. The method according to any one of claims 11 to 13, further comprising the step of applying a corrective action to take into account at least one of the one or more defects, wherein the model reflects the corrective action.

15. The method according to any one of claims 11 to 14, further comprising the step of scheduling computing tasks for the partition based on the model.

16. The method according to any one of claims 11 to 15, wherein the one or more manufacturing defects include manufacturing defects relating to the dies of the array of computing tiles of the array of computing tiles.

17. The method according to any one of claims 11 to 16, wherein the one or more manufacturing defects include manufacturing defects relating to the nodes of the dies of the array of computing tiles.

18. It is a system, A computing resource comprising an array of computing tiles, wherein each computing tile in the array of computing tiles comprises an array of dies, A computing device that communicates with the computing resources, wherein the computing device is Computing processors and A memory that stores computer executable instructions that, when executed by the computing processor, cause an operation to be performed, wherein the operation is: A step of accessing information that identifies a partition of the computing resource, wherein the partition corresponds to a subset of the computing resource, A computing device comprising memory, including the step of generating a model of the partition of the computing resource at startup, wherein the model takes into account one or more manufacturing defects, A system equipped with these features.

19. The computing device according to claim 18, wherein the operation further comprises scheduling computing tasks for the partition based on the model.

20. The computing device according to claim 18 or 19, wherein the computing resource is configured to execute the computing task using the partition in response to the computing device scheduling the computing task.

21. The computing device according to claim 19 or 20, wherein the operation further includes dynamically updating the model of the partition based on at least the operation of the computing resource.