Method and apparatus for improving non-uniform memory access
AssigneeAT&T Intellectual Property I, L.P.
InventorsALEXANDRE GERBER, Oliver Spatscheck, Frederick True
Life of this patent
Estimating the term…
Abstract
A method, computer readable medium and apparatus for improving non-uniform memory access are disclosed. For example, the method divides a plurality of stream processing jobs into a plurality of groups of stream processing jobs to match a topology of a non-uniform memory access platform. The method sets a parameter in an operating system kernel of the non-uniform memory access platform to favor an allocation of a local memory, and defines a plurality of processor sets. The method binds one of the plurality of groups to one of the plurality of processor sets, and run the one group of stream processing jobs on the one processor set.
Claims20
A method for improving non-uniform memory access, the method comprising:
- acquiring, via a processor, a topology of a non-uniform memory access platform, wherein the topology comprises an arrangement of a local memory versus a remote memory, wherein the arrangement pertains to a physical location of the local memory and the remote memory with respect to a system board and a base cabinet;
- dividing, via the processor, a plurality of stream processing jobs into a plurality of groups of stream processing jobs to match the topology of the non-uniform memory access platform, wherein the plurality of stream processing jobs is divided among the local memory and the remote memory;
- setting, via the processor, a parameter in an operating system kernel of the non-uniform memory access platform to favor an allocation of the local memory;
- defining, via the processor, a plurality of processor sets;
- binding, via the processor, one group of the plurality of groups of stream processing jobs to one processor set of the plurality of processor sets;
- running, via the processor, the one group of the plurality of groups of stream processing jobs on the one processor set;
- measuring, via the processor, a fraction of an amount of local memory access versus an amount of remote memory access;
- and
- adjusting, via the processor, the parameter in the operating system kernel in accordance with the fraction, wherein the adjusting comprises adjusting a strength of the allocation to the local memory.
A non-transitory computer-readable medium storing a plurality of instructions which, when executed by a processor, cause the processor to perform operations for improving non-uniform memory access, the operations comprising:
- acquiring a topology of a non-uniform memory access platform, wherein the topology comprises an arrangement of a local memory versus a remote memory, wherein the arrangement pertains to a physical location of the local memory and the remote memory with respect to a system board and a base cabinet;
- dividing a plurality of stream processing jobs into a plurality of groups of stream processing jobs to match the topology of the non-uniform memory access platform, wherein the plurality of stream processing jobs is divided among the local memory and the remote memory;
- setting a parameter in an operating system kernel of the non-uniform memory access platform to favor an allocation of the local memory;
- defining a plurality of processor sets;
- binding one group of the plurality of groups of stream processing jobs to one processor set of the plurality of processor sets;
- running the one group of the plurality of groups of stream processing jobs on the one processor set;
- measuring a fraction of an amount of local memory access versus an amount of remote memory access;
- and
- adjusting the parameter in the operating system kernel in accordance with the fraction, wherein the adjusting comprises adjusting a strength of the allocation to the local memory.
An apparatus for improving non-uniform memory access, the apparatus comprising:
- a processor;
- and
- a computer-readable medium storing a plurality of instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:
- acquiring a topology of a non-uniform memory access platform, wherein the topology comprises an arrangement of a local memory versus a remote memory, wherein the arrangement pertains to a physical location of the local memory and the remote memory with respect to a system board and a base cabinet;
- dividing a plurality of stream processing jobs into a plurality of groups of stream processing jobs to match the topology of the non-uniform memory access platform, wherein the plurality of stream processing jobs is divided among the local memory and the remote memory;
- setting a parameter in an operating system kernel of the non-uniform memory access platform to favor an allocation of the local memory;
- defining a plurality of processor sets;
- binding one group of the plurality of groups of stream processing jobs to one processor set of the plurality of processor sets;
- running the one group of the plurality of groups of stream processing jobs on the one processor set;
- measuring a fraction of an amount of local memory access versus an amount of remote memory access;
- and
- adjusting the parameter in the operating system kernel in accordance with the fraction, wherein the adjusting comprises adjusting a strength of the allocation to the local memory.
Dependencies are inferred from the claim text.