Changes between Version 19 and Version 20 of user_applications


Ignore:
Timestamp:
Dec 10, 2015, 4:10:08 PM (9 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • user_applications

    v19 v20  
    142142
    143143This multi-threaded application makes the decompression of a MJPEG bit-stream contained in a file, an display the stream of images on the Frame Buffer.
    144 It illustrates the "multi pipe-line" parallelism: each image is decompressed by a five stages pipe-line implemented as five POSIX threads. Several images can be decomposed in parallel, as each cluster implement a complete pipe-line. It uses the message passing programming model, on top of the POSIX threads API, and the MWMR communication middleware.
     144It illustrates the "multi-pipe-line" parallelism: each image is decompressed by a five stages pipe-line implemented as five POSIX threads. Several images can be decomposed in parallel, as each cluster implement a complete pipe-line. It uses the message passing programming model, on top of the POSIX threads API, and the MWMR user-level communication middleware.
    145145The application is described as a TCG (Task and Communication Graph), and all communications between threads uses MWMR channels.
    146146It uses the chained buffer DMA component to display the stream of decompressed images.
    147 It contains 6 types of threads (plus the "main" thread, that makes initialisation), and 7 types of MWMR communication channels:
    148  * the TG thread dispatch the bit-stream to the pipeline. It is only mapped in cluster[0,0].
     147It contains 5 types of threads (plus the MAIN thread), and 7 types of MWMR communication channels:
     148 * the MAIN thread makes the initialization, dispatch the bit-stream to the pipelines, and makes the instrumentation. It is mapped in cluster[0,0].
    149149 * the 5 threads implementing the pipeline (DEMUX, VLD, IQZZ, IDCT, LIBU) are replicated in all clusters.
    150150 * the 7 MWMR channels are replicated in all clusters.
    151 The image throughput is actually bounded by the TG thread that cannot be parallelized.
     151The speedup is actually bounded by the dispatch work done by the MAIN thread, that cannot be parallelized.
    152152As the MWMR communication channels support communication between software threads and hardware accelerators, the IDCT software thread can be optionally replaced by an hardware DCT coprocessor, if this component is available in the target architecture.
    153153