Stream processor with compiled programs
First Claim
1. A method of generating machine-executable instructions for processing a stream of values, the method comprising:
- receiving a representation of processing to be performed on at least one input stream to produce at least one output stream, the representation including a plurality of operators and data flow between the operators; and
compiling the representation into machine-executable instructions that, when executed, perform operations on a value of an input data stream of the at least one input stream, the operations being defined by the plurality of operators being executed to completion in accordance with the data flow.
18 Assignments
0 Petitions
Accused Products
Abstract
A stream processing platform that provides fast execution of stream processing applications within a safe runtime environment. The platform includes a stream compiler that converts a representation of a stream processing application into executable program modules for a safe environment. The platform allows users to specify aspects of the program that contribute to generation of modules that execute as intended. A user may specify aspects to control a type of implementation for loops, order of execution for parallel paths, whether multiple instances of an operation can be performed in parallel or whether certain operations should be executed in separate threads. In addition, the stream compiler may generate executable modules in a way that cause a safe runtime environment to allocate memory or otherwise operate efficiently.
127 Citations
20 Claims
-
1. A method of generating machine-executable instructions for processing a stream of values, the method comprising:
-
receiving a representation of processing to be performed on at least one input stream to produce at least one output stream, the representation including a plurality of operators and data flow between the operators; and compiling the representation into machine-executable instructions that, when executed, perform operations on a value of an input data stream of the at least one input stream, the operations being defined by the plurality of operators being executed to completion in accordance with the data flow. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable medium comprising computer program modules that, when executed, perform a method of generating machine-executable instructions from user-specified instructions, the machine-executable instructions for execution in a safe runtime environment that represents objects of a complex type using a header and represents primitive types without a header in a heap, the user specified instructions referencing at least one object of a complex data type having a plurality of elements, the method comprising:
-
generating machine-executable instructions that cause the safe runtime environment to allocate a storage object identified with a header; and generating machine-executable instructions in which values for the elements of the at least one object are accessed in a portion of the storage object using values of objects of a primitive type. - View Dependent Claims (16, 17)
-
-
18. A method of operating a data processing device processing a stream of data, the stream comprising a plurality of successive values, each value having a plurality of elements associated therewith, the method comprising:
queuing the successive values in the stream in a plurality of queues formed in a machine-readable medium, each queue of the plurality of queues storing, for each of the successive values, an element of the plurality of elements. - View Dependent Claims (19, 20)
Specification