- Information
- AI Chat
Was this document helpful?
Process pipeline
Course: Software Engineering (CSPC 111)
140 Documents
Students shared 140 documents in this course
University: STI West Negros University
Was this document helpful?
Process pipeline
Many real-time systems are concerned with collecting analog data from the system’s
environment. They then digitize that data for analysis and processing by the system.
The system may also convert digital data to analog data, which it then sends to its
environment. For example, a software radio accepts incoming packets of digital data
representing the radio transmission and transforms the data into a sound signal that
people can listen to.
The data processing involved in many of these systems has to be carried out very
quickly. Otherwise, incoming data may be lost and outgoing signals may be broken up
because essential information is missing. The Process Pipeline pattern makes this rapid
processing possible by breaking down the required data processing into a sequence of
separate transformations. Each of these transformations is implemented by an
independent process. This architecture is efficient for systems that use multiple
processors or multicore processors. Each process in the pipeline can be associated
with a separate processor or core, so that the processing steps can be carried out in
parallel.
Figure 21.12 is a brief description of the data pipeline pattern, and Figure 21.13 shows
the process architecture for this pattern. Notice that the processes involved produce and
consume information. The processes exchange information using synchronized buffers,
as I explained in Section 21.1. Producer and consumer processes can thereby operate
at different speeds without data losses.
An example of a system that may use a process pipeline is a high-speed data
acquisition system. Data acquisition systems collect data from sensors for subsequent
processing and analysis. These systems are used in situations where the sensors are
collecting large volumes of data from the system’s environment and it isn’t possible or
necessary to process that data in real time. Rather, it is collected and stored for later
analysis. Data acquisition systems are often used in scientific experiments and process
control systems where physical processes, such as chemical reactions, are very rapid.