Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A multi-processor system comprising: a plurality of processors, each of which is included in at least one of a plurality of domains, wherein the plurality of domains include three or more domains and are defined based on a hierarchical domain structure; a scheduler configured to receive and manage at least one task performed by the plurality of processors; and a selector configured to select one of the plurality of domains based on states of the plurality of domains to assign the at least one task to the selected domain, and to select at least one processor among processors in the selected domain based on states of the processors in the selected domain to assign the at least one task to the selected processor, when the at least one task is received, and wherein the selector is configured to select a domain including a current domain when the at least one task is unprocessable by the current domain.
2. The multi-processor system of claim 1 , wherein, when a first task is received, the selector is configured to: check a state of the current domain among the plurality of domains, assign the first task to the current domain when it is determined that the first task is processable by the current domain, and assign the first task to the domain among the plurality of domains other than the current domain when it is determined that the first task is unprocessable by the current domain, wherein the domain is immediately subsequent to and directly including the current domain.
3. The multi-processor system of claim 2 , wherein: the state of the current domain includes at least one of utilization of the current domain and load of the current domain, and the selector is configured to determine whether the first task is processable by the current domain based on at least one of the state of the current domain, utilization by the first task, and a priority of the first task.
4. The multi-processor system of claim 2 , wherein the selector is configured to assign the first task to a smallest domain among the plurality of domains when the first task is an initial task.
5. The multi-processor system of claim 1 , wherein, when a first task is received, the selector is configured to: check the states of all of the plurality of domains, and assign the first task to an optimized domain among the plurality of domains by which the first task is processable.
6. The multi-processor system of claim 1 , wherein, when a first task is received and assigned to a first domain among the plurality of domains, the selector is configured to: check states of first processors in the first domain among the plurality of processors, and assign the first task to an idle processor having an idle state among the first processors.
7. The multi-processor system of claim 6 , wherein the selector is configured to assign the first task to a processor having a smallest load among the first processors when all of the first processors have an active state.
8. The multi-processor system of claim 7 , wherein the selector is configured to assign the first task to a processor firstly defined in the first domain among the first processors when all of the first processors have an active state and a same load.
9. The multi-processor system of claim 1 , further comprising: a domain definer configured to define the hierarchical domain structure based on first information representing characteristics of the plurality of processors and second information associated with the plurality of domains, such that each of the plurality of processors is included in at least one of the plurality of domains.
10. The multi-processor system of claim 9 , wherein: the plurality of domains include a first domain, a second domain, and a third domain, the plurality of processors include a first processor, a second processor, and a third processor, and the domain definer is configured to define the hierarchical domain structure such that the second domain includes the first domain, the third domain includes the second domain, the first domain includes the first processor, the second domain includes the first processor and the second processor, and the third domain includes the first processor, the second processor, and the third processor.
11. The multi-processor system of claim 10 , wherein one of the first domain, the second domain, and the third domain corresponds to one power domain.
12. The multi-processor system of claim 10 , wherein one of the first domain, the second domain, and the third domain corresponds to two or more different power domains.
A multi-processor system is designed to manage power consumption across multiple processing domains. The system includes at least three distinct processing domains, each operating independently to handle different tasks or workloads. The key innovation lies in the ability to assign one of these domains to control two or more separate power domains, allowing for more granular power management. This approach enables dynamic power allocation based on workload demands, improving energy efficiency and performance. The system may include additional features such as power gating, clock gating, or voltage scaling to further optimize power usage. By distributing power control across multiple domains, the system avoids bottlenecks and ensures that each processing domain can operate at its optimal power level without unnecessary constraints. This design is particularly useful in high-performance computing environments where power efficiency is critical, such as data centers, embedded systems, or mobile devices. The ability to assign a single domain to manage multiple power domains enhances flexibility and scalability, allowing the system to adapt to varying workloads while minimizing energy waste.
13. The multi-processor system of claim 10 , wherein the first processor, the second processor, and the third processor are included in a first cluster, a second cluster, and a third cluster, respectively, and the first cluster, the second cluster, and the third cluster are different from one another.
14. The multi-processor system of claim 10 , wherein at least two of the first processor, the second processor, and the third processor are included in a same cluster.
15. The multi-processor system of claim 9 , wherein the hierarchical domain structure is changeable by the domain definer in response to a user setting signal.
A multi-processor system includes a hierarchical domain structure that organizes processors into domains for power management. The system allows a domain definer to dynamically adjust the domain structure in response to a user setting signal. This enables flexible reconfiguration of processor groupings to optimize power efficiency based on varying workload demands. The domain definer can modify domain boundaries, merge or split domains, or reassign processors to different domains to adapt to changing operational conditions. The system may also include a power manager that controls power states of processors within each domain based on their activity levels, further enhancing energy efficiency. The hierarchical structure allows for nested domains, where higher-level domains can encompass multiple lower-level domains, providing granular control over power management. The user setting signal can originate from an external input or an automated system, allowing for both manual and automated adjustments to the domain configuration. This adaptability ensures the system can balance performance and power consumption dynamically.
16. The multi-processor system of claim 9 , further comprising: a memory configured to store the first information, the second information, and third information representing the hierarchical domain structure.
17. The multi-processor system of claim 9 , wherein the selector is disabled based on a user setting signal.
18. A method of operating a multi-processor system that includes a plurality of processors, the method comprising: selecting one of a plurality of domains based on states of the plurality of domains to assign at least one task to the selected domain, when the at least one task is received, wherein (1) each of the plurality of processors is included in at least one of the plurality of domains, (2) the plurality of domains include three or more domains and are defined based on a hierarchical domain structure where each domain includes all lower level domains, and (3) the selected domain includes a current domain when the at least one task is unprocessable by the current domain; and selecting at least one processor among processors in the selected domain based on states of the processors in the selected domain to assign the at least one task to the selected processor.
This invention relates to task scheduling in multi-processor systems, addressing the challenge of efficiently distributing tasks across multiple processors to optimize performance and resource utilization. The system includes a plurality of processors organized into three or more domains, structured hierarchically where each domain encompasses all lower-level domains. When a task is received, the system selects an appropriate domain based on the states of the domains, ensuring the task is assigned to a domain capable of processing it. If the current domain cannot handle the task, the system escalates to a higher-level domain. Within the selected domain, the system further selects a specific processor based on the states of the processors in that domain to assign the task. This hierarchical domain structure and state-based selection process improve task distribution efficiency, load balancing, and overall system performance by dynamically adapting to the system's current conditions. The method ensures tasks are processed by the most suitable domain and processor, minimizing bottlenecks and maximizing resource utilization.
19. The method of claim 18 , further comprising: defining the hierarchical domain structure based on first information representing characteristics of the plurality of processors and second information associated with the plurality of domains, such that each of the plurality of processors is included in at least one of the plurality of domains.
This invention relates to a method for managing processor domains in a computing system, particularly for optimizing performance and resource allocation. The method involves defining a hierarchical domain structure that organizes multiple processors into domains based on their characteristics and domain-specific information. Each processor is assigned to at least one domain, allowing for efficient resource management and task distribution. The hierarchical structure enables scalable and flexible control over processor allocation, improving system performance and energy efficiency. The method ensures that processors are grouped logically, considering factors such as processing capabilities, workload requirements, and domain-specific constraints. This approach enhances system responsiveness and reduces overhead by dynamically adjusting domain assignments based on real-time conditions. The invention is particularly useful in multi-core and distributed computing environments where efficient processor management is critical for handling complex workloads. By leveraging hierarchical domain structures, the method provides a systematic way to balance workload distribution, minimize resource contention, and optimize overall system performance.
20. A multi-core processing device comprising: a plurality of processor cores, each of which is included in at least one of a plurality of domains, wherein the plurality of domains include three or more domains and are defined based on a hierarchical domain structure; a scheduler configured to receive and manage at least one task performed by the plurality of processor cores; and a selector configured to select one of the plurality of domains based on states of the plurality of domains to assign the at least one task to the selected domain, and to select at least one processor core among processor cores in the selected domain based on states of the processor cores in the selected domain to assign the at least one task to the selected processor core, when the at least one task is received, wherein, the selected domain includes a current domain when the at least one task is unprocessable by the current domain; and when a first task is received and assigned to a first domain among the plurality of domains, the selector is configured to check states of first processors in the first domain among the plurality of processors, assign the first task to an idle processor having an idle state among the first processors, assign the first task to a processor having a smallest load among the first processors when all of the first processors have an active state, and assign the first task to a processor firstly defined in the first domain among the first processors when all of the first processors have an active state and a same load.
Unknown
March 23, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.