Patents by Inventor Mark Beaumont

Mark Beaumont has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7373645
    Abstract: A method for balancing the load of a parallel processing system having a plurality of parallel processing elements arranged in a loop, each processing element (PEr) having a local number of tasks associated therewith, wherein r represents the number for a selected processing element and each of the processing elements is operable to communicate with a clockwise and an anti-clockwise adjacent processing element, the method comprises determining a total number of tasks present within the loop, calculating a local mean number of tasks for each processing element, calculating a local deviation for each processing element, determining a running partial deviation sum for each processing element, determining a clockwise transfer parameter and an anti-clockwise transfer parameter for each processing element, and redistributing tasks among the processing elements in response to the clockwise transfer parameter and the anti-clockwise parameter for each of the processing elements.
    Type: Grant
    Filed: October 20, 2003
    Date of Patent: May 13, 2008
    Assignee: Micron Technology, Inc.
    Inventor: Mark Beaumont
  • Publication number: 20080061081
    Abstract: A method and device for hygienically delivering a liquid food to or from a food or beverage dispenser by delivering a flow of liquid food through an outlet positioned at a distance of all surfaces of the dispenser and by frequently cleaning the outlet with a flow of cleaning liquid directed onto the external surfaces demarcating the outlet to eliminate the liquid and solid food residue. The device may include a connection fitment with an elongated food delivery member which is configured to connect to a cleaning chamber of the dispenser. The device can be easier and more conveniently cleaned and/or sanitized enabling the dispensing of microbial sensitive food products such as milk concentrate and the like.
    Type: Application
    Filed: November 13, 2007
    Publication date: March 13, 2008
    Applicant: NESTEC S.A.
    Inventors: Arturo Guerrero, Balakrishna Reddy, Mark Beaumont, Eric Hartman
  • Patent number: 7263543
    Abstract: A method for transposing data in a plurality of processing elements is comprised of a plurality of shifting operations and a plurality of storing operations. The shifting and storing operations are coordinated to enable data to be stored along a diagonal of processing elements from a first direction or first pair of directions and to be output from the diagonal in a second direction or a second pair of directions perpendicular to the first pair of directions, respectively. The plurality of storing operations are responsive to the processing elements' positions. The first and second pairs of directions are selected from among the dimensions of the array, e.g., the +x/?x, +z/?z and +y/?y pairs of directions.
    Type: Grant
    Filed: October 20, 2003
    Date of Patent: August 28, 2007
    Assignee: Micron Technology, Inc.
    Inventor: Mark Beaumont
  • Publication number: 20050269362
    Abstract: A method and device for hygienically delivering a liquid food to or from a food or beverage dispenser by delivering a flow of liquid food through an outlet positioned at a distance of all surfaces of the dispenser and by frequently cleaning the outlet with a flow of cleaning liquid directed onto the external surfaces demarcating the outlet to eliminate the liquid and solid food residue. The device may include a connection fitment with an elongated food delivery member which is configured to connect to a cleaning chamber of the dispenser. The device can be easier and more conveniently cleaned and/or sanitized enabling the dispensing of microbial sensitive food products such as milk concentrate and the like.
    Type: Application
    Filed: June 2, 2004
    Publication date: December 8, 2005
    Inventors: Arturo Guerrero, Balakrishna Reddy, Mark Beaumont, Eric Hartman
  • Publication number: 20040220949
    Abstract: A method of rotating data in a plurality of processing elements comprises a plurality of shifting operations and a plurality of storing operations, with the shifting and storing operations coordinated to enable a three shears operation to be performed on the data. The plurality of storing operations is responsive to the processing element's positions.
    Type: Application
    Filed: October 20, 2003
    Publication date: November 4, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215925
    Abstract: A method for calculating a local mean number of tasks for each processing element (PEr) in a parallel processing system, wherein each processing element (PEr) has a local number of tasks associated therewith and wherein r represents the number for a selected processing element, the method comprising assigning a value (Er) to the each processing element (PEr), summing a total number of tasks present on the parallel processing system and the value (Er) for the each processing element (PEr), dividing the sum of the total number of tasks present on the parallel processing system and the value (Er) for the each processing element (PEr) by a total number of processing elements in the parallel processing system and truncating a fractional portion of the divided sum for the each processing element.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215678
    Abstract: A method for finding a local extrema for a single processing element having a set of values associated therewith comprises separating the set of values into an odd set of values and an even set of values, determining an odd extrema from the odd set of values, determining an even extrema from the even set of values, and determining the local extrema from the odd extrema and the even extrema. The odd extrema is found by comparing each odd numbered value in the set to each other odd numbered value in the set and the even extrema is found by comparing each even numbered value in the set to each other even numbered value in the set.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040216116
    Abstract: A method for balancing the load of a parallel processing system having a plurality of parallel processing elements arranged in a loop, wherein each processing element has a local number of tasks associated therewith comprising determining within each processing element a total number of tasks present within the loop, calculating a local mean number of tasks within each processing element, and calculating a local deviation within each processing element. The method also comprises determining the sum deviations within each processing element for one-half the loop in an anti-clockwise direction and in a clockwise direction, determining clockwise and anti-clockwise transfer parameters within each processing element, and redistributing tasks among the processing elements in response to the clockwise and anti-clockwise transfer parameters.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040216119
    Abstract: One aspect of the present invention relates to a method for balancing the load of an n-dimensional array of processing elements (PEs), wherein each dimension of the array includes the processing elements arranged in a plurality of lines and wherein each of the PEs has a local number of tasks associated therewith. The method comprises balancing at least one line of PEs in a first dimension, balancing at least one line of PEs in a next dimension, and repeating the balancing at least one line of PEs in a next dimension for each dimension of the n-dimensional array. The method may further comprise selecting one or more lines within said first dimension and shifting the number of tasks assigned to PEs in said selected one or more lines.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215679
    Abstract: A method for finding an extrema for an n-dimensional array having a plurality of processing elements, the method comprises determining within each processing element a first dimensional extrema for a first dimension, wherein the first dimensional extrema is related to the local extrema of the processing elements in the first dimension and wherein the first dimensional extrema has a most significant byte and a least significant byte, determining within each processing element a next dimensional extrema for a next dimension of the n-dimensional array, wherein the next dimensional extrema is related to the first dimensional extrema and wherein the next dimensional extrema has a most significant byte and a least significant byte; and repeating the determining within each processing element a next dimensional extrema for each of the n-dimensions, wherein each of the next dimensional extrema is related to a dimensional extrema from a previously selected dimension.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215927
    Abstract: The present invention is capable of placing or loading input data into a 2D or 3D array of processing elements interconnected in a variety of ways, and moving the data around by using a combination of shifts, e.g. north, south, east, west, which can be combined in any desired manner. The exact type and combination of shifts depends upon the particular data manipulation desired. As the sifting proceeds, each processing element is presented with a plurality of different array values. Each processing element can conditionally load any of the values it sees into the output result. The timing of the loading is achieved by monitoring a local counter. In a preferred embodiment, when the value in the local counter is non-positive, the current array value is selected as the final output for the output result. In general, each local counter is initialized to a different positive value and, at certain points in the shifting process, the counter is decremented.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040216117
    Abstract: A method for balancing the load of a parallel processing system having parallel processing elements (PEs) linked serially in a line with first and second ends, wherein each of the PEs has a local number of tasks associated therewith, the method comprising determining a total number of tasks present on the line; notifying each of the PEs of the total number of tasks, calculating a local mean number of tasks for each of the PEs, and calculating a local deviation for each of the PEs. The method also comprises determining a first local cumulative deviation for each of the PEs, determining a second local cumulative deviation for each of the PEs, and redistributing tasks among the PEs in response to the first local cumulative deviation and the second local cumulative deviation.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040216118
    Abstract: One aspect of the present invention relates to a method for balancing the load of a parallel processing system having a plurality of parallel processing elements arranged in a loop, wherein each processing element has a local number of tasks associated therewith. The method comprises determining within each processing element a total number of tasks present within the loop, calculating a local mean number of tasks within each processing element, assigning a weight to each of said plurality of processing elements, and calculating a local weighted deviation within each processing element. The method also comprises determining the sum weighted deviations within each processing element for one-half the loop in an anti-clockwise direction and in a clockwise direction, determining clockwise and anti-clockwise transfer parameters within each processing element, and redistributing tasks among the processing elements in response to the clockwise and anti-clockwise transfer parameters.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215928
    Abstract: A method for transposing data in a plurality of processing elements is comprised of a plurality of shifting operations and a plurality of storing operations. The shifting and storing operations are coordinated to enable data to be stored along a diagonal of processing elements from a first direction or first pair of directions and to be output from the diagonal in a second direction or a second pair of directions perpendicular to the first pair of directions, respectively. The plurality of storing operations are responsive to the processing elements’ positions. The first and second pairs of directions are selected from among the dimensions of the array, e.g., the +x/−x, +z/−z and +y/−y pairs of directions.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215683
    Abstract: A transpose of data appearing in a plurality of processing elements comprises shifting the data along diagonals of the plurality of processing elements until the processing elements in the diagonal have received the data held by every other processing element in that diagonal. Shifting along diagonals can be accomplished by executing pairs of horizontal and vertical shifts in the x-y directions or pairs of shifts in perpendicular directions, e.g. x-z. Each processing element stores data as its final output data as a function of the processing element's position. In one embodiment, an initial count is either loaded into each processing element or calculated locally based on the processing element's location.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215677
    Abstract: A method for finding an extrema for an n-dimensional array having a plurality of processing elements, the method comprises determining within each of the processing elements a dimensional extrema for a first dimension of the n-dimensional array, wherein the dimensional extrema is related to one or more local extrema of the processing elements in the first dimension, determining within each of the processing elements a next dimensional extrema for a next dimension of the n-dimensional array, wherein the next dimensional extrema is related to one or more of the first dimensional extrema, and repeating the determining within each of the processing elements a next dimensional extrema for each of the n-dimensions, wherein each of the next dimensional extrema is related to a dimensional extrema from a previously selected dimension.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215930
    Abstract: A method for generating the reflection of data in a plurality of processing elements comprises shifting the data along, for example, each row in the array until each processing element in the row has received all the data held by every other processing element in that row. Each processing element stores and outputs final data as a function of its position in the row. A similar reflection along a horizontal line can be achieved by shifting data along columns instead of rows. Also disclosed is a method for reflecting data in a matrix of processing elements about a vertical line comprising shifting data between processing elements arranged in rows. An initial count is set in each processing element according to the expression (2×Col_Index)×Mod (array size). In one embodiment, a counter counts down from the initial count in each processing element as a function of the number of shifts that have peen performed. Output is selected as a function of the current count.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040216115
    Abstract: A method for balancing the load of a parallel processing system having a plurality of parallel processing elements arranged in a loop, each processing element (PEr) having a local number of tasks associated therewith, wherein r represents the number for a selected processing element and each of the processing elements is operable to communicate with a clockwise and an anti-clockwise adjacent processing element, the method comprises determining a total number of tasks present within the loop, calculating a local mean number of tasks for each processing element, calculating a local deviation for each processing element, determining a running partial deviation sum for each processing element, determining a clockwise transfer parameter and an anti-clockwise transfer parameter for each processing element, and redistributing tasks among the processing elements in response to the clockwise transfer parameter and the anti-clockwise parameter for each of the processing elements.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont
  • Publication number: 20040215838
    Abstract: A method of determining an interleave pattern for n lots of A and y lots of B, when n plus y equals a power of two such that the expression 2z-n may be used to represent the value of y, is comprised of generating a key comprised of the reverse bit order of a serially indexed count from 0 to 2z. An interleave pattern can be generated from the key in which all values less than n are replace by A and all other values are replaced by B. In cases where n plus y does not equal a power of two, the method is comprised of selecting a value of 2z where, preferably, (n+y)<2z<2(n+y). A list is created in which the entries are comprised of the reverse bit order of a serially indexed count from 0 to 2z. A portion of the list is selected and renumbered to form a key. An interleave pattern can be generated from the key in which all values in the key less than n are replaced by A and all other values in the key are replaced by B.
    Type: Application
    Filed: October 20, 2003
    Publication date: October 28, 2004
    Inventor: Mark Beaumont