10 likes | 133 Views
Get Full Packet. Put Full Packet. . . Full Queue. Full Queue. Empty Queue. Empty Queue. . . Hyperperiod. Put Empty Packet. Get Empty Packet. Component. Initialization Phase. Stable Phase. Finalization Phase. Processing code . C n. C 2. C 1. ….
E N D
Get Full Packet Put Full Packet Full Queue Full Queue Empty Queue Empty Queue Hyperperiod Put Empty Packet Get Empty Packet Component Initialization Phase Stable Phase Finalization Phase Processing code Cn C2 C1 … P(C1) > P(C2) > …> P(Cn) FQ FQ FQ VDec SSE VO FRead EQ EQ EQ FQ FQ FQ C2 Cn … C1 EQ EQ EQ VDec SSE VO FRead P(FRead) > P(VDec) > P(SSE) > P(VO) A Characterization of Streaming Applications Execution Author: M.A. Albu 1. Co-authors: Peter v.d. Stok 1,2, Johan Lukkien 1 3. Characterization of streaming applications execution 1. Introduction The goal of our work is the prediction and optimization of performance attributes to provide guaranteed and optimized Quality of Service (QoS) for interconnected real-time embedded systems. Execution pattern of the stable phase is of importance: Initialization phase: C1: executes until output FQ is filled => C1 - Blocked (B). C2C1(B), C2C1(B), C2C1(B), until C2(FQ filled => C2(B))C1(B), C3C2(B)C1(B), C3C2(B)C1(B), until C3(FQ filled => C3(B))C2(B)C1(B) … Cn-1Cn-2(B)…C1(B), Cn-1Cn-2(B)…C1(B) until Cn-1( FQ filled => Cn-1(B))Cn-2(B)…C1(B) Stable phase: CnCn-1(B)…C1(B), CnCn-1(B)…C1(B), … • The execution sequence in the initialization phase determines the repetitive execution pattern during the stable phase. • The priority assignment determines the execution sequence during the initialization phase. The approach we took was to provide a characterization of streaming applications execution to determine performance attributes and provide insight into best design practices for optimizing these attributes. The systems we analyzeare streaming applications using the TriMedia Streaming Software Architecture (TSSA) and executing on a TriMedia device. 2. TriMedia Streaming Software Architecture 4. Validation – Number of Context Switches Calculation • A TSSA media processing application - graph: • Nodes: - software components • Edges: - finite buffers (queues) that transport the data stream from one component to the next component in the graph. Goal Number of context switches (NCS) calculation • Experiment • Streaming chain consisting of: • FRead – file reader • VDec – video decoder • SSE – sharpness enhancement • VO – video renderer Components dependencies • Typical execution scenario of a TSSA component • - the component gets 1 Full Packet from the input Full Queue, • - gets 1 Empty Packet from the input Empty Queue, • - performs the processing, • - recycles the input Full Packet by putting it in the output Empty Queue. - uses the packet received from the input Empty Queue to store data to be transmitted to the next component by putting it in the output Full Queue. Results NCS_hyperperiod(FRead) = 5, NCS_hyperperiod(VDec) = 9, NCS_hyperperiod(SSE) = 8, NCS_hyperperiod(Vo) = 8. Total NCS_hyperperiod = 30. NCS_StablePhaseCalculated = 900; NCS_StablePhaseMeasured = 895; 5. Conclusions • Results • Characterization of streaming applications execution • Prediction for performance quality attributes • Validation by calculating the NCS occurring during the execution of a streaming chain. • Future work • Providing best design practices for optimizing performance quality attributes. Affiliation 1) Eindhoven University of Technology Department of Mathematics and Computer Science HG 6.57, P.O. Box 513, NL-5600 MB, Eindhoven, The Netherlands 2) Philips Research NatLab Prof. Holstlaan 4, 5656AA Eindhoven, The Netherlands About the Author Alina Weffers-Albu received her P.D.Eng. in Software Technology from the Department of Mathematics and Computer Science of the Eindhoven University of Technology (TU/e) in 2003. In July 2003 Alina started a Ph.D. project within the SAN group of the same department, in collaboration with Philips Research Laboratories Eindhoven.