摘要 |
A system and method for data processing in which data processing tasks are arranged as separate processes, each of which can be executed by a dedicated central processing unit or by one or more shared processing units. All communication between processes takes place via streams of data items. Each stream receives data items from a single source, for example from an input to the processing system or from one of the processes. Every data item appended to a stream is associated with a unique index value - even if physical memory locations are re-used, index values never are. A process can request a data item in terms of the stream where it is stored and the index value associated with it. Within constraints imposed by physical storage capacity, any index value can be included in a request. If the data item is not yet available, execution of the process is suspended until the data item becomes available. A data item can be requested with a limit on the time that elapses before the attempt is aborted; also a request can be made for the data item most recently appended to a stream instead of in terms of a specific index value. This architecture facilitates data processing involving both time-independent and time-dependent processes. |