US8230431B2 - Guaranteed core access in a multiple core processing system - Google Patents

Guaranteed core access in a multiple core processing system Download PDF

Info

Publication number
US8230431B2
US8230431B2 US11/746,544 US74654407A US8230431B2 US 8230431 B2 US8230431 B2 US 8230431B2 US 74654407 A US74654407 A US 74654407A US 8230431 B2 US8230431 B2 US 8230431B2
Authority
US
United States
Prior art keywords
access
request
cores
core
routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US11/746,544
Other versions
US20090100255A1 (en
Inventor
Scott C. Harris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harris Technology LLC
Original Assignee
Harris Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harris Technology LLC filed Critical Harris Technology LLC
Priority to US11/746,544 priority Critical patent/US8230431B2/en
Assigned to HARRIS TECHNOLOGY, LLC reassignment HARRIS TECHNOLOGY, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HARRIS, SCOTT C
Publication of US20090100255A1 publication Critical patent/US20090100255A1/en
Application granted granted Critical
Priority to US13/556,463 priority patent/US8839261B1/en
Publication of US8230431B2 publication Critical patent/US8230431B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • G06F9/30152Determining start or end of instruction; determining instruction length
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Definitions

  • Microprocessors are known in which one or more cores is located on the same processor chip.
  • the Intel Core2DuoTM may have 4 cores on the same semiconductor chip.
  • Each core is capable of carrying out specified arithmetical and other operations based on instructions and based on parameters that are provided to the chip.
  • the present application describes a technique of providing exclusive or semi-exclusive core access, as necessary.
  • FIG. 1 illustrates a block diagram of a multiple core chip.
  • FIG. 1 A microprocessor with multiple processing elements or “cores” is illustrated in FIG. 1 .
  • the chip 100 may include, preferably on a single substrate, multiple processing cores shown in the embodiment as 102 , 104 , 106 , 108 .
  • a core arbiter 110 is also shown, connected to the cores.
  • one of the cores such as 102 may also serve as the core arbiter.
  • the arbiter assigns tasks to a core based on a queue of tasks indicating how busy the core is.
  • the arbiter may assign tasks based on temperatures of the cores.
  • Each core may include an associated memory such as 120 that is closely associated with the core and thereby facilitates the operations carried out by the processing within the core.
  • Each memory may be individually associated with a core and there may alternatively or additionally be memory 125 on the chip that is associated with all the cores.
  • the arbiter 110 may also dynamically assign portions from the global memory 125 to different cores.
  • Data and power 130 is applied to the chip.
  • the data may include both instructions to be carried out by the chip, and also parameters to be used with those instructions.
  • An embodiment recognizes that certain tasks, for example tasks that are carried out in real time, may require, or may be improved by, providing some coherency to the tasks.
  • Certain housekeeping functions are carried out by an operating system, and consequently these housekeeping functions as well as other functions of the computer, may take up certain amounts of the processor's processing power.
  • Examples may include, for example, real-time video.
  • real-time video When watching real-time video, it is often very disconcerting when there are lags in the video, especially when those lags are caused by the processing carried out by the processor.
  • a video processor may require variable amounts of processing power. For example, when playing back a highly compressed item of video, the keyframes of the video may require more processing power than other frames.
  • the operation of dynamically assigning a video to different amounts of processing power depending on its needs may be most efficient in terms of resources, but may not produce the best product.
  • the best write when writing certain kinds of disks at high speed, the best write may be obtained when there is always sufficient amount of processing power available to carry out the write.
  • Still other programs may rely on, or be improved by, certain tasks being finished in a specified time.
  • an exclusive core access technique includes a program or instruction that requires access to one or more cores on a multicore processing system.
  • the program or instruction in effect says ′I need exclusive access or guaranteed percentage access to either a core or multiple cores. When I get this access, I need it for a specified amount of time without interruption”.
  • the form of the instruction may be any type of the instruction.
  • the program or routine preferably will not run.
  • the instruction may also be a processor level instruction, or an operating system level instruction.
  • Another embodiment may request access to multiple cores with one core feeding data directly into another core or feeding the data via a local memory. Since the cores feed data directly, the data does not need to be stored in any special way or identified. The cores are doing only one thing, and hence there are no other threads doing other things.
  • the instructions form a group that is not accessed until the granting of the exclusive core access to the two cores, and the connection of data between the cores.
  • the arbiter either a standalone unit or some other unit, waits until it is able to provide this exclusive access; and at that time provides exclusive access to those cores until the access period is ended. This is done even if the access may be less than optimal and even if the access may waste processor resources. Those resources are wasted so that the program gets exclusive access and does not interfere with other programs.
  • This may take the form
  • Threads are used to provide the most efficient use of processor resources.
  • the core access system described herein uses a very different kind of system: in which core access is guaranteed even when that access makes inefficient use of the resource. This grants the ability to use all of the resource, thereby trading off performance against guaranteed core access.
  • exclusive access i.e. where absolutely nothing else is running on the core.
  • the general nature of a processor may make this impossible or impractical. For example, it may be that there are certain housekeeping or background routines that run on the processor all the time or substantially all the time.
  • exclusive access means that no other program is allowed access to the core. Programs may still be running, but the access is exclusive in the sense that only one program is actually assigned to a core, while other background routines, housekeeping routines, and the like can still run on the same core within the meaning of exclusive.
  • Another embodiment may use semi-exclusive access, where access is given to some specified percentage of the core's resources. For example, a program may require that it has at least 70% of the cores resources.
  • the instruction may be in the form
  • This instruction automatically reserves 70% of the core's capabilities for running that routine.
  • the computers described herein may be any kind of computer, either general purpose, or some specific purpose computer such as a workstation.
  • the computer may be an Intel (e.g., Pentium or Core 2 duo) or AMD based computer, running Windows XP or Linux, or may be a Macintosh computer.
  • the computer may also be a handheld computer, such as a PDA, cellphone, or laptop.
  • the instructions may be in assembler, C or Python, or Java, Brew or any other programming language.
  • the programs may be resident on a storage medium, e.g., magnetic or optical, e.g. the computer hard drive, a removable disk or media such as a memory stick or SD media, wired or wireless network based or Bluetooth based Network Attached Storage (NAS), or other removable medium.
  • the programs may also be run over a network, for example, with a server or other machine sending signals to the local machine, which allows the local machine to carry out the operations described herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Image Processing (AREA)

Abstract

Exclusive access to a core or part of a core, or to multiple cores, but in any case less than all of the cores, of a multiple core processing system. The access can be requested by an instruction, or by a routine. Once granted, the access provides exclusive access to the core so that a program can be run which requires substantially uninterrupted access to the core.

Description

BACKGROUND
Microprocessors are known in which one or more cores is located on the same processor chip. For example, the Intel Core2Duo™ may have 4 cores on the same semiconductor chip. Each core is capable of carrying out specified arithmetical and other operations based on instructions and based on parameters that are provided to the chip.
SUMMARY
The present application describes a technique of providing exclusive or semi-exclusive core access, as necessary.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects will now be described in detail with reference to the accompanying drawings, wherein:
FIG. 1 illustrates a block diagram of a multiple core chip.
DETAILED DESCRIPTION
A microprocessor with multiple processing elements or “cores” is illustrated in FIG. 1. The chip 100 may include, preferably on a single substrate, multiple processing cores shown in the embodiment as 102, 104, 106, 108. A core arbiter 110 is also shown, connected to the cores. In another embodiment, one of the cores such as 102 may also serve as the core arbiter. The arbiter assigns tasks to a core based on a queue of tasks indicating how busy the core is. In another embodiment, described in my application Ser. No. 11/371,062, now U.S. Pat. No. 7,784,050 the arbiter may assign tasks based on temperatures of the cores.
Each core may include an associated memory such as 120 that is closely associated with the core and thereby facilitates the operations carried out by the processing within the core. Each memory may be individually associated with a core and there may alternatively or additionally be memory 125 on the chip that is associated with all the cores. In the embodiment, the arbiter 110 may also dynamically assign portions from the global memory 125 to different cores.
Data and power 130 is applied to the chip. The data may include both instructions to be carried out by the chip, and also parameters to be used with those instructions.
An embodiment recognizes that certain tasks, for example tasks that are carried out in real time, may require, or may be improved by, providing some coherency to the tasks. Certain housekeeping functions are carried out by an operating system, and consequently these housekeeping functions as well as other functions of the computer, may take up certain amounts of the processor's processing power. However, it may be desirable to be able to provide exclusive or core access, or some guaranteed portion of core access, to one or more cores for certain programs that rely on real-time operation or would benefit from such real time operation.
Examples, may include, for example, real-time video. When watching real-time video, it is often very disconcerting when there are lags in the video, especially when those lags are caused by the processing carried out by the processor. A video processor may require variable amounts of processing power. For example, when playing back a highly compressed item of video, the keyframes of the video may require more processing power than other frames. The operation of dynamically assigning a video to different amounts of processing power depending on its needs may be most efficient in terms of resources, but may not produce the best product. Analogously, when writing certain kinds of disks at high speed, the best write may be obtained when there is always sufficient amount of processing power available to carry out the write. Still other programs may rely on, or be improved by, certain tasks being finished in a specified time.
In very high compressed video, or in video that has been compressed and also encrypted for various reasons, it may be necessary to carry out a first operation to produce a byproduct, and feed that byproduct to another calculator that is also running in real-time. In that event, it may be desirable to obtain exclusive access to two different cores, a first one which carries out the first part of the operation, and the second one which carries out a second part of the operation. The two different cores may have exclusive access requested at different times.
According to an embodiment, an exclusive core access technique includes a program or instruction that requires access to one or more cores on a multicore processing system. The program or instruction in effect says ′I need exclusive access or guaranteed percentage access to either a core or multiple cores. When I get this access, I need it for a specified amount of time without interruption”.
The form of the instruction may be
EXCLUSIVECORE— T2 FUN (need access to a core for 2 seconds, use that access to run the routine called “FUN”)
EXCLUSIVECORE—2—T0 FUN1 (need access to 2 cores for an undescribed time, until the called routine, here FUN1 ends).
Until that access is available, the program or routine preferably will not run.
The instruction may also be a processor level instruction, or an operating system level instruction.
This is very different than threads being interactively assigned to cores. That operation is one which occurs whenever the core has some capability. This technique is the opposite—a request for real-time access, even if it means wasting processor resources.
Another embodiment may request access to multiple cores with one core feeding data directly into another core or feeding the data via a local memory. Since the cores feed data directly, the data does not need to be stored in any special way or identified. The cores are doing only one thing, and hence there are no other threads doing other things.
The instructions form a group that is not accessed until the granting of the exclusive core access to the two cores, and the connection of data between the cores. Another words, the arbiter, either a standalone unit or some other unit, waits until it is able to provide this exclusive access; and at that time provides exclusive access to those cores until the access period is ended. This is done even if the access may be less than optimal and even if the access may waste processor resources. Those resources are wasted so that the program gets exclusive access and does not interfere with other programs.
This may take the form
  • EXCLUSIVECOREFEEDINGT2 FUNFUN
Again, this goes against the conventional wisdom for threads which are allocated wherever there is room for such a thread to carry out a certain operation. Threads are used to provide the most efficient use of processor resources. In contrast, the core access system described herein uses a very different kind of system: in which core access is guaranteed even when that access makes inefficient use of the resource. This grants the ability to use all of the resource, thereby trading off performance against guaranteed core access.
The above has described exclusive access, i.e. where absolutely nothing else is running on the core. However, the general nature of a processor may make this impossible or impractical. For example, it may be that there are certain housekeeping or background routines that run on the processor all the time or substantially all the time. For purposes of this application, the term exclusive access means that no other program is allowed access to the core. Programs may still be running, but the access is exclusive in the sense that only one program is actually assigned to a core, while other background routines, housekeeping routines, and the like can still run on the same core within the meaning of exclusive.
Another embodiment may use semi-exclusive access, where access is given to some specified percentage of the core's resources. For example, a program may require that it has at least 70% of the cores resources. The instruction may be in the form
SEMIEXCLUSIVEACCESS—70 FUNFUNFUN (give me semi-exclusive access to 70% of the core's resources, so I can run the routine funfunfun on it.)
This instruction automatically reserves 70% of the core's capabilities for running that routine.
The general structure and techniques, and more specific embodiments which can be used to effect different ways of carrying out the more general goals are described herein.
Although only a few embodiments have been disclosed in detail above, other embodiments are possible and the inventor (s) intend these to be encompassed within this specification. The specification describes specific examples to accomplish a more general goal that may be accomplished in another way. This disclosure is intended to be exemplary, and the claims are intended to cover any modification or alternative which might be predictable to a person having ordinary skill in the art. For example, the instructions can be part of a higher level language, such as C or basic.
Also, the inventor(s) intend that only those claims which use the words “means for” are intended to be interpreted under 35 USC 112, sixth paragraph. Moreover, no limitations from the specification are intended to be read into any claims, unless those limitations are expressly included in the claims. The computers described herein may be any kind of computer, either general purpose, or some specific purpose computer such as a workstation. The computer may be an Intel (e.g., Pentium or Core 2 duo) or AMD based computer, running Windows XP or Linux, or may be a Macintosh computer. The computer may also be a handheld computer, such as a PDA, cellphone, or laptop.
The instructions may be in assembler, C or Python, or Java, Brew or any other programming language. The programs may be resident on a storage medium, e.g., magnetic or optical, e.g. the computer hard drive, a removable disk or media such as a memory stick or SD media, wired or wireless network based or Bluetooth based Network Attached Storage (NAS), or other removable medium. The programs may also be run over a network, for example, with a server or other machine sending signals to the local machine, which allows the local machine to carry out the operations described herein.
Where a specific numerical value is mentioned herein, it should be considered that the value may be increased or decreased by 20%, while still staying within the teachings of the present application, unless some different range is specifically mentioned. Where a specified logical sense is used, the opposite logical sense is also intended to be encompassed.

Claims (15)

1. A method of processing data using a multiple core microprocessor, comprising:
in the multiple core microprocessor, issuing a request for access of a specified amount to at least one core, but less than all of the cores, of said multiple core microprocessor; and
determining when said access can be granted and when said access can be granted, executing a routine to process video in a way that can benefit from substantially real-time video operation using said access granted responsive to said request, and preventing any other routine from being assigned to said at least one core that conflicts with said access granted responsive to said request;
wherein said access is granted until the routine completes,
wherein one of said multiple cores feeds data into another of said cores; and
wherein a first core carries out a first part of the real-time video operation and a second core carries out a second part of real-time video operation.
2. A method as in claim 1, wherein said request for access is a request for exclusive access, and said preventing prevents any other routine from being assigned to said multiple cores.
3. A method as in claim 1, wherein said request for access is for a specified time.
4. A method as in claim 1, further comprising determining if said access can be granted, and not executing said routine until said access can be granted.
5. A method as in claim 1, wherein said multiple cores of said microprocessor, are of a type that can execute parts of multiple routines at once.
6. A method comprising:
in a multiple core processing system, receiving a request for access of a specified amount to multiple cores, but less than all of the cores, of said multiple core processing system; and
determining when said access can be granted, and when said access can be granted, executing a routine to process video in a way that can benefit from substantially real-time video operation using said access granted responsive to said request, and preventing any other routine from being assigned said to at least one core that conflicts with said access granted responsive to said request, wherein said request for access is a request for exclusive access, and said preventing prevents any other routine from being assigned to said at least one core, wherein said request for access is an access to multiple cores,
wherein said request for access is for access multiple cores,
wherein said access is granted until the routine completes,
wherein one of said multiple cores feeds data into another of said cores; and
wherein a first core carries out a first part of the real-time video operation and a second core carries out a second part of real-time video operation.
7. A set of instructions on a tangible, non-transitory, machine-readable medium, said set of instructions causing, when executed, a computer to:
receive a request for access of a specified amount to at least multiple processing cores, but less than all of the processing cores, of a multiple core microprocessor,
determine when said access can be granted, and
when said access can be granted, run a routine on computer resources defined by said access of said specified amount, said routine operating to process video in a way that can benefit from substantially real-time video operation using said access granted responsive to said request, and preventing any other routine from being assigned to at least one of said processing cores that conflicts with said access granted responsive to said request, wherein said request for access is a request for exclusive access, and said preventing prevents any other routine from being assigned to said at least one processing core,
wherein said access is granted until the routine completes,
wherein one of said multiple cores feeds data into another of said cores; and
wherein a first core carries out a first part of the real-time video operation and a second core carries out a second part of real-time video operation.
8. A set of instructions as in claim 7, wherein said request for access of the specified amount is a request for access exclusively to said at least multiple cores.
9. A set of instructions as in claim 7, wherein said request for access is a request for access to at least two cores.
10. A set of instructions as in claim 9, wherein said request for access includes a request to form a data connection from one of said cores to another of said cores.
11. A set of instructions as in claim 7, wherein said request for access is for a specified time.
12. A set of instructions as in claim 7, wherein said instructions request access to at least one core of said multiple core microprocessor, and are of a type that can execute parts of multiple routines at once.
13. A method, comprising:
running a routine which benefits from substantially real-time operation to process video in a real time operation;
providing an instruction which obtains exclusive access to at least a portion of at least multiple cores, but less than all of the cores, of a multiple core processing system; and
running the routine after providing the instruction and determining. that said exclusive access can be granted, wherein said instruction includes exclusive access to at least multiple cores of said system,
wherein said exclusive access continues until the routine completes,
wherein one of said multiple cores feeds data into another of said cores; and
wherein a first core carries out a first part of the processing of said video and a second core carries out a second part of the processing of said video.
14. A method as in claim 13, wherein said instruction also includes a request for a data connection between said multiple cores.
15. A method as in claim 13, wherein said cores are multiple cores of a microprocessor, and are of a type that can execute parts of multiple routines at once.
US11/746,544 2007-05-09 2007-05-09 Guaranteed core access in a multiple core processing system Expired - Fee Related US8230431B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/746,544 US8230431B2 (en) 2007-05-09 2007-05-09 Guaranteed core access in a multiple core processing system
US13/556,463 US8839261B1 (en) 2007-05-09 2012-07-24 Guaranteed core access in a multiple core processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/746,544 US8230431B2 (en) 2007-05-09 2007-05-09 Guaranteed core access in a multiple core processing system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/556,463 Continuation US8839261B1 (en) 2007-05-09 2012-07-24 Guaranteed core access in a multiple core processing system

Publications (2)

Publication Number Publication Date
US20090100255A1 US20090100255A1 (en) 2009-04-16
US8230431B2 true US8230431B2 (en) 2012-07-24

Family

ID=40535346

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/746,544 Expired - Fee Related US8230431B2 (en) 2007-05-09 2007-05-09 Guaranteed core access in a multiple core processing system
US13/556,463 Expired - Fee Related US8839261B1 (en) 2007-05-09 2012-07-24 Guaranteed core access in a multiple core processing system

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/556,463 Expired - Fee Related US8839261B1 (en) 2007-05-09 2012-07-24 Guaranteed core access in a multiple core processing system

Country Status (1)

Country Link
US (2) US8230431B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9086957B2 (en) 2012-08-02 2015-07-21 International Business Machines Corporation Requesting a memory space by a memory controller
US9710381B2 (en) 2014-06-18 2017-07-18 International Business Machines Corporation Method and apparatus for cache memory data processing
US10229043B2 (en) 2013-07-23 2019-03-12 Intel Business Machines Corporation Requesting memory spaces and resources using a memory controller

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772874B2 (en) * 2016-01-29 2017-09-26 International Business Machines Corporation Prioritization of transactions based on execution by transactional core with super core indicator

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115763A (en) * 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
US20020124126A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Method and apparatus for managing access to a service processor
US7152150B2 (en) * 2002-01-31 2006-12-19 Fujitsu Limited DRAM having SRAM equivalent interface
US7814336B1 (en) * 2005-07-12 2010-10-12 Xilinx, Inc. Method and apparatus for protection of time-limited operation of a circuit
US7865894B1 (en) * 2005-12-19 2011-01-04 Nvidia Corporation Distributing processing tasks within a processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2830116B2 (en) 1989-07-27 1998-12-02 日本電気株式会社 Lock control mechanism in multiprocessor system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115763A (en) * 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
US20020124126A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Method and apparatus for managing access to a service processor
US7152150B2 (en) * 2002-01-31 2006-12-19 Fujitsu Limited DRAM having SRAM equivalent interface
US7814336B1 (en) * 2005-07-12 2010-10-12 Xilinx, Inc. Method and apparatus for protection of time-limited operation of a circuit
US7865894B1 (en) * 2005-12-19 2011-01-04 Nvidia Corporation Distributing processing tasks within a processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9086957B2 (en) 2012-08-02 2015-07-21 International Business Machines Corporation Requesting a memory space by a memory controller
US10229043B2 (en) 2013-07-23 2019-03-12 Intel Business Machines Corporation Requesting memory spaces and resources using a memory controller
US10275348B2 (en) 2013-07-23 2019-04-30 International Business Machines Corporation Memory controller for requesting memory spaces and resources
US9710381B2 (en) 2014-06-18 2017-07-18 International Business Machines Corporation Method and apparatus for cache memory data processing
US9792209B2 (en) 2014-06-18 2017-10-17 International Business Machines Corporation Method and apparatus for cache memory data processing

Also Published As

Publication number Publication date
US8839261B1 (en) 2014-09-16
US20090100255A1 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
US11106495B2 (en) Techniques to dynamically partition tasks
GB2544609B (en) Granular quality of service for computing resources
KR102792258B1 (en) Electronic apparatus and controlling method thereof
US8458711B2 (en) Quality of service implementation for platform resources
CN101685409B (en) Method and memory manager for managing memory
JP7546669B2 (en) Determining the optimal number of threads per core in a multi-core processor complex - Patents.com
US9207977B2 (en) Systems and methods for task grouping on multi-processors
US20050141554A1 (en) Method and system for dynamic resource allocation
Navarro et al. Heterogeneous parallel_for template for CPU–GPU chips
US20070022416A1 (en) Execution device and application program
US8627325B2 (en) Scheduling memory usage of a workload
NZ582897A (en) Allocating computing resources to authorised requesters based on ranking criteria
KR102110812B1 (en) Multicore system and job scheduling method thereof
CN104995603A (en) Task scheduling method based at least in part on distribution of tasks sharing the same data and/or accessing the same memory address and related non-transitory computer readable medium for distributing tasks in a multi-core processor system
US8656405B2 (en) Pulling heavy tasks and pushing light tasks across multiple processor units of differing capacity
CN105487919A (en) Multi-core processor system and task allocation method
US8578388B2 (en) Optimizing the performance of hybrid CPU systems based upon the thread type of applications to be run on the CPUs
US8839261B1 (en) Guaranteed core access in a multiple core processing system
KR20110075297A (en) Parallel Processing Unit and Method Considering Parallelism
KR20190082308A (en) Dual mode local data storage
KR20100074920A (en) Apparatus and method for load balancing in multi-core system
US8447951B2 (en) Method and apparatus for managing TLB
US20120137300A1 (en) Information Processor and Information Processing Method
US20140304485A1 (en) Embedded memory management scheme for real-time applications
US8245229B2 (en) Temporal batching of I/O jobs

Legal Events

Date Code Title Description
AS Assignment

Owner name: HARRIS TECHNOLOGY, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HARRIS, SCOTT C;REEL/FRAME:022050/0298

Effective date: 20090101

Owner name: HARRIS TECHNOLOGY, LLC,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HARRIS, SCOTT C;REEL/FRAME:022050/0298

Effective date: 20090101

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20160724