Patents by Inventor Martijn Rutten

Martijn Rutten 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).

  • Publication number: 20160070550
    Abstract: A computer-implemented method of automatically generating an embedded system on the basis of an original computer program, comprising analyzing the original computer program, comprising a step of compiling the original computer program into an executable to obtain data flow graphs with static data dependencies and a step of executing the executable using test data to provide dynamic data dependencies as communication patterns between load and store operations of the original computer program, and a step of transforming the original computer program into an intermediary computer program that exhibits multi-threaded parallelism with inter-thread communication, which comprises identifying at least one static and/or dynamic data dependency that crosses a thread boundary and converting said data dependency into a buffered communication channel with read/write access.
    Type: Application
    Filed: July 13, 2015
    Publication date: March 10, 2016
    Inventors: Jos VAN EIJNDHOVEN, Tommy KAMPS, Maurice KASTELIJN, Martijn RUTTEN, Paul STRAVERS
  • Patent number: 9141350
    Abstract: A method of generating an embedded system (4999) from an original computer program (996) which embedded system (4999) provides a parallellized hardware (4598) and software (4599) implementation of the original computer program (996), which parallellized implementation (4598, 4599) satisfies one or more criteria regarding hardware constraints of the embedded system (4999). The system provides partitioning of functionality from the original computer program (996) using structural and behavioral program models and detects streaming and memory dependencies to improve the partitioning, relying on added indications of source lines and variables in said original computer program to relate partitions and dependencies in the program model with locations in the original program source code.
    Type: Grant
    Filed: April 20, 2011
    Date of Patent: September 22, 2015
    Assignee: Vector Fabrics B.V.
    Inventors: Paul Stravers, Jos Van Eijndhoven, Martijn Rutten, Alexey Rodriguez, Wouter Swierstra, Maurice Kastelijn
  • Patent number: 9081928
    Abstract: A computer-implemented method of automatically generating an embedded system on the basis of an original computer program, comprising analyzing the original computer program, comprising a step of compiling the original computer program into an executable to obtain data flow graphs with static data dependencies and a step of executing the executable using test data to provide dynamic data dependencies as communication patterns between load and store operations of the original computer program, and a step of transforming the original computer program into an intermediary computer program that exhibits multi-threaded parallelism with inter-thread communication, which comprises identifying at least one static and/or dynamic data dependency that crosses a thread boundary and converting said data dependency into a buffered communication channel with read/write access.
    Type: Grant
    Filed: June 1, 2010
    Date of Patent: July 14, 2015
    Assignee: Vector Fabrics, B.V.
    Inventors: Jos Van Eijndhoven, Tommy Kamps, Maurice Kastelijn, Martijn Rutten, Paul Stravers
  • Publication number: 20130080993
    Abstract: A method of generating an embedded system (4999) from an original computer program (996) which embedded system (4999) provides a parallellized hardware (4598) and software (4599) implementation of the original computer program (996), which parallellized implementation (4598, 4599) satisfies one or more criteria regarding hardware constraints of the embedded system (4999). The system provides partitioning of functionality from the original computer program (996) using structural and behavioral program models and detects streaming and memory dependencies to improve the partitioning, relying on added indications of source lines and variables in said original computer program to relate partitions and dependencies in the program model with locations in the original program source code.
    Type: Application
    Filed: April 4, 2011
    Publication date: March 28, 2013
    Applicant: VECTOR FABRICS B.V.
    Inventors: Paul Stravers, Jos Van Eijndhoven, Martijn Rutten, Alexey Rodriguez, Wouter Swierstra, Maurice Kastelijn
  • Publication number: 20120144376
    Abstract: A computer-implemented method of automatically generating an embedded system on the basis of an original computer program, comprising analyzing the original computer program, comprising a step of compiling the original computer program into an executable to obtain data flow graphs with static data dependencies and a step of executing the executable using test data to provide dynamic data dependencies as communication patterns between load and store operations of the original computer program, and a step of transforming the original computer program into an intermediary computer program that exhibits multi-threaded parallelism with inter-thread communication, which comprises identifying at least one static and/or dynamic data dependency that crosses a thread boundary and converting said data dependency into a buffered communication channel with read/write access.
    Type: Application
    Filed: June 1, 2010
    Publication date: June 7, 2012
    Applicant: VECTOR FABRICS B.V.
    Inventors: Jos Van Eijndhoven, Tommy Kamps, Maurice Kastelijn, Martijn Rutten, Paul Stravers
  • Publication number: 20070168615
    Abstract: Non-overlapping cache locations are reserved for each data stream. Therefore, stream information, which is unique to each stream, is used to index the cache memory. Here, this stream information is represented by the stream identification. In particular, a data processing system optimised for processing dataflow applications with tasks and data streams, where different streams compete for shared cache resources is provided. An unambiguous stream identification is associated to each of said data stream. Said data processing system comprises at least one processor (12) for processing streaming data, at least one cache memory (200) having a plurality of cache blocks, wherein one of said cache memories (200) is associated to each of said processors (12), and at least one cache controller (300) for controlling said cache memory (200), wherein one of said cache controllers (300) is associated to each of said cache memories (200).
    Type: Application
    Filed: February 25, 2004
    Publication date: July 19, 2007
    Inventors: Josephus Theodorus Van Eijndhoven, Martijn Rutten, Evert-Jan Pol
  • Publication number: 20060290776
    Abstract: The invention relates to task management in a data processing system, having a plurality of processing elements (CPU, ProcA, ProcB, ProcC). Therefore a data processing system is provided, comprising at least a first processing element (CPU, ProcA, ProcB, ProcC) and a second processing element (CPU, ProcA, ProcB, ProcC) for processing a stream of data objects (DS_Q, DS R, DS S, DST), the first processing element being arranged to pass data objects from the stream of data objects to the second processing element The first and the second processing element are arranged for parallel execution of an application comprising a set of tasks (TP, TA, TB1, TB2, TC), and the first and the second processing element are arranged to be responsive to the receipt of a unique identifier. In order to ensure integrity of data during reconfiguration of the application, the unique identifier is inserted into data stream and passed from one processing element to the other.
    Type: Application
    Filed: February 18, 2004
    Publication date: December 28, 2006
    Inventors: Martijn Rutten, Josephus Theodorus Van Eijndhoven, Evert-Jan Pol
  • Publication number: 20060190688
    Abstract: The dismissing of cached data that is not expected to be further used is predicted instead of predicting future I/O operations and then data is fetched from the main memory to replace the dismissed data in the cache. Thus, firstly a location in a cache memory containing data, which is expected not to be further used, is identified, followed by performing a prefetch operation in order to request new data to refill the above location in the cache memory. Therefore, a data processing system comprises at least one processor (12) for processing streaming data, at least one cache memory (200) having a plurality of cache blocks (210), wherein one of said cache memories (200) is associated to each of said processors (12), and at least one cache controller (300) for prefetching data into said cache memory (200), wherein one of said cache controllers (300) is associated to each of said cache memories (200).
    Type: Application
    Filed: February 25, 2004
    Publication date: August 24, 2006
    Inventors: Josephus Theodorus Van Eijndhoven, Martijn Rutten, Evert-Jan Pol
  • Publication number: 20050183091
    Abstract: A multiprocessor data processing system is described wherein the processor (12a, 12b, 12c) communicate to each other via a shared memory (10). Each of the processors comprises an administration unit (18a) and a computational unit (12a). The administration unit of a writing processor (11a) maintains information defining a section in the memory (10) which is free for storing data objects for readout by the reading processor (12b). The administration unit (18b) of the reading processor (11b) maintains information defining a section in the memory (10) in which the writing processor has written completed data for the data objects. The processors are arranged to signal a message (M, M?) to another processor via a processor synchronization channel for updating the information in the administration unit of said other processor. Each of the processors is arranged to suspend processing the stream of data objects when a location which it needs to access is outside the section defined by its administration unit.
    Type: Application
    Filed: December 5, 2002
    Publication date: August 18, 2005
    Inventors: Josephus Theodorous Van Eijndhoven, Evert Pol, Martijn Rutten
  • Publication number: 20050081200
    Abstract: The invention is based on the idea to provide distributed task scheduling in a data processing system having multiple processors. Therefore, a data processing system comprising a first and at least one second processor for processing a stream of data objects, wherein said first processor passes data objects from a stream of data objects to the second processor, and a communication network and a memory is provided. Said second processors are multi-tasking processors, capable of interleaved processing of a first and second task, wherein said first and second tasks process a first and second stream of data objects, respectively. Said data processing system further comprises a task scheduling means for each of said second processors, wherein said task scheduling means is operatively arranged between said second processor and said communication network, and controls the task scheduling of said second processor.
    Type: Application
    Filed: December 5, 2002
    Publication date: April 14, 2005
    Inventors: Martijn Rutten, Josephus Theodorus Van Eijndhoven, Evert-Jan Pol
  • Publication number: 20050021807
    Abstract: The invention is based on the idea to effectively separate communication hardware, e.g. busses and memory, and computation hardware, e.g. processors, in a data processing system by introducing a communication means for each processor. By introducing this separation the processors can concentrate on performing their function-specific tasks, while the communication means provide the communication support for the respective processor. Therefore, a data processing system is provided with a computation, a communication support and a communication network layer. The computation layer comprises a first and at least a second processor for processing a stream of data objects. The first processor passes a number of data objects from a stream to the second processor which can then process the data objects. The communication network layer includes a memory and a communication network for linking the first processor and the second processors with said memory.
    Type: Application
    Filed: December 5, 2002
    Publication date: January 27, 2005
    Inventors: Joseph Theodorus Van Eijndhoven, Evert Pol, Martijn Rutten, Pieter van Der Wolf, Om Gangwal
  • Publication number: 20050015372
    Abstract: The invention is based on the idea to separate a synchronisation operation from reading and writing operations. Therefore, a method for data processing in the data processing system is provided, wherein said data processing system comprises a first and at least a second processor for processing streams of data objects, wherein said first processor passes data objects from a stream of data objects to the second processor. Said data processing system further comprises at least one memory for storing and retrieving data objects, wherein a shared access of said first and second processors is provided. The processors perform a read operations and/or write operations in order to exchange data objects with his said memory. Said processors further perform inquiry operations and/or commit operations in order to synchronise a data object transfer between tasks which are executed by said processors.
    Type: Application
    Filed: December 5, 2002
    Publication date: January 20, 2005
    Inventors: Josephus Van Eijndhoven, Evert-Jan Pol, Martijn Rutten
  • Publication number: 20050015637
    Abstract: A data processing system is claimed which comprises a plurality of processors (12a, 12b, 12c) which communicate data streams with each other via a shared memory (10). The data processing system comprises processor synchronization means (18), for synchronizing the processors (12a-c) when passing the stream of data objects. For that purpose the processors are capable of issuing synchronization commands (Ca-c) to the synchronization means (18). At least one of the processors (12a) comprises a cache memory (184a), and the synchronization means (18) initiate a cache operation (CCa) in response to a synchronization commands (Ca).
    Type: Application
    Filed: December 5, 2002
    Publication date: January 20, 2005
    Inventors: Josephus Theodorus Johannes Van Eijndhoven, Evert-Jan Pol, Martijn Rutten, Om Gangwal