SlideShare a Scribd company logo
Application Scenarios in Streaming-Oriented
                   Embedded System Design
                                 Stefan Valentin Gheorghita, Twan Basten and Henk Corporaal
                        EE Department, ES Group, Eindhoven University of Technology, The Netherlands
                                        {s.v.gheorghita,a.a.basten,h.corporaal}@tue.nl

                                                                                                                             internal state
   Abstract— In the past decade real-time embedded systems                                            header

became more and more complex and pervasive. From the user
perspective, these systems have stringent requirements regarding                                                  Kernel 1

size, performance and energy consumption, and due to business                                Read
                                                                                                                                       Kernel 3
                                                                                                                                                               Write
                                                                                             object                                                            object
competition, their time-to-market is a crucial factor. Therefore,         Input bitstream:
much work has been done in developing design methodologies                header data header data …        data
                                                                                                                  Kernel 2
                                                                                                                                                    Kernel 4
for embedded systems to cope with these tight requirements. In            stream object                                       Processing path for
                                                                                                                               one type of object
this paper, we introduce the concept of application scenarios that
group operation modes of an application that are similar from the                 Fig. 1.        Typical streaming application processing a stream object.
resource usage perspective, and we describe how to incorporate
them in the overall real-time embedded system design process. A
case study shows the use of application scenarios for low energy          faster or lower energy implementation (e.g. by using different
design, under both soft and hard real-time constraints.                   source code optimizations per scenario), or a better estimation
                                                                          of required resources (e.g. the number of computation cycles
                       I. I NTRODUCTION
                                                                          or bandwidth) may be derived. These intermediate results lead
   Embedded systems usually consist of processors that exe-               to a smaller, cheaper and more energy efficient system that can
cute domain-specific programs. Much of their functionality is              deliver the required performance.
implemented in software, which is running on one or multiple                 The paper is organized as follows. Section II presents
generic processors, leaving only the high performance func-               the role of application scenarios in an embedded system
tions implemented in hardware. Typical examples include TV                design flow, illustrating the difference between them and the
sets, cellular phones, MP3 players and printers. Most of these            well known use-case scenarios, and it provides examples of
systems are running multimedia and/or telecom applications,               scenario exploitation found in the literature. A classification
like video and audio decoders. These applications are usually             of application scenarios is given in section III. A case study
implemented as a main loop, called the loop of interest,                  showing how we reduced the energy consumption of a single
that is executed over and over again, reading, processing and             task system under both hard and soft real-time constraints is
writing out individual stream objects (see figure 1). A stream             presented in section IV. Some conclusions are discussed in
object might be a bit belonging to a compressed bitstream                 the last section.
representing a coded video clip, a macro-block, a video frame,
or an audio sample. Usually, these applications have to deliver                             II. S CENARIOS IN D ESIGN
a given throughput (number of objects per second), which                  A. Use-case vs. Application Scenarios
imposes a time constraint on each loop iteration.                            Scenario-based design has been in use for a long time in
   The read part of the loop of interest takes a stream object            different areas [1], [2], like human-computer interaction or
from the input stream and separates it into a header and                  object oriented software engineering. In these cases, scenarios
the object’s data. The processing part consists of several                concretely describe, in an early phase of the development
kernels. For each stream object some of these kernels are                 process, the use of a future system. Moreover, they appear
used, depending on the object type. The write part sends the              like narrative descriptions of envisioned usage episodes, or
processed data to output devices, like a screen or speakers, and          like unified modeling language (UML) use-case diagrams that
saves the internal state of the application for further use (e.g. in      enumerate, from a functional and timing point of view, all
a video decoder, the previous decoded frame may be necessary              possible user actions and system reactions that are required
for decoding the current frame). The actions executed in a loop           to meet a proposed system functionality. These scenarios are
iteration form an internal operation mode of the application.             called use-case scenarios, and characterize the system from
   In this work, we introduce ways of detecting and exploiting            the user perspective. In the embedded systems area, they were
a characteristic of the application that has not been fully used          used in both hardware [3], [4] and software design [5].
in embedded system design previously, namely the different                   In this work, we concentrate on a different kind of scenarios,
internal operation modes, each with their own typical resource            so-called application scenarios, that characterize the system
consumption. Operation modes that are closely related to each             from the resource usage perspective.
other from a resource consumption perspective are clustered               Definition: An application scenario is a detectable set of op-
in so-called application scenarios, distinguishing operation              eration modes of an application that are sufficiently similar in
modes that are really different. If these scenarios are con-              a multi-dimensional resource-based cost space (e.g. execution
sidered in different steps of the embedded system design, a               cycles, memory usage, source code).
  This work was supported by the Dutch Science Foundation, NWO, project      The cost space is defined over the dimensions of interest
FAME, number 612.064.101.                                                 for a specific problem. For example, we might be interested
Product
                                         Idea


                          Manual Definition
                                                                                        1. Scenario Discovery
   Use-case
                          1     2      3                               Operation Mode                                                          2. Scenario
   scenarios                                                                                                Operation Mode                                                      3. Scenario     Final
                                                                       Identification &                                                    Predictor / Detector
                                                                                                              Clustering                                                        Exploitation   System
                                                       Application     Characterization       Operation                      Application       Derivation         Application
                                                         Graph                                 modes                         Scenarios                            Scenarios +
                 Design
                                                                                                                                                                   Predictor
           Application Code


        Semi-automatic Extraction

  Application
  Scenarios         1     2      3

                                      Design


                                               Final
                                              System




         (a) Full design flow                                                      (b) Application scenario usage methodology

                                                                     Fig. 2.    A scenario based design flow for embedded systems.

in operation modes that share the same source code, or that                                                     usage (in the cost space of interest) is characterized, and the
execute in the same number of CPU cycles. To be exploited,                                                      modes with similar needs are clustered in an application sce-
these modes must be detectable in the application, preferably                                                   nario. The methods used for scenario discovery can be divided
as soon as the application starts to execute in one of them. As                                                 in three categories: (i) analytical, (ii) profiling and (iii) hybrid.
the definition is very general, it is commonly tailored to the                                                   Independent of the method, the set of the identified application
specific design problem at hand (e.g. the application behavior                                                   scenarios must cover all possible application operation modes.
for a specific type of input data [6]).                                                                              In an analytical method, the application structure is stat-
   Figure 2(a) depicts a design flow using scenarios. It starts                                                  ically analyzed to identify similar operation modes. This
from a product idea, for which the stakeholders define the                                                       method is restrictive, as it can not automatically collect
future utilization as use-case scenarios. They are used in                                                      information about how the application is really used and
a user-centric development process to design an embedded                                                        how it behaves at runtime (e.g. which is the most frequently
system that includes both software and hardware components.                                                     used scenario at runtime). The real runtime behavior of the
In order to optimize the design of the system, we suggest to                                                    application can be captured using a profiling method, but in
augment this trajectory with application scenarios (the bottom                                                  this case it is more difficult to derive scenario predictors than
gray box in figure 2(a)). Once the application is coded, its                                                     it is in the analytical case, and in general not all scenarios may
scenarios related to resources utilization are extracted in a                                                   be discovered as not all possible distinct operation modes may
semi-automatic way, and they are considered for the decisions                                                   be covered by profiling. To overcome this problem, an extra
made during the following phases of the system design. The                                                      scenario, called the backup scenario, must be considered. It
sets of use-case scenarios and application scenarios are not                                                    is selected at runtime when the application is running in an
necessarily disjoint. One or more use-case scenarios may be                                                     operation mode that did not appear during profiling. A hybrid
merged in one application scenario, a use-case scenario may be                                                  method combines the advantages of the previous two methods
split into several application scenarios, or several application                                                and it is the most powerful way to discover scenarios.
scenarios may intersect several use-case scenarios.                                                                 Especially for profiling and hybrid methods, an explosion
Example: We want to design a portable MP3 player as a USB                                                       in the number of operation modes may appear during their
stick. At first sight, there are two main use-case scenarios: (i)                                                identification. In this case, decisions must be made using
the player is connected to the computer and music files are                                                      partial information, applying mode identification and cluster-
transferred between them, and (ii) the player is used to listen                                                 ing simultaneously. There is a trade-off between how many
music. These scenarios can be divided in more detailed use-                                                     different scenarios and modes may be handled during the
case scenarios, like, for the second one, song selection, play                                                  discovery process (from which the process speed and memory
or fast forward scenarios. Let us consider the play scenario.                                                   usage are derived) and the resulting quality. Discovery and
From the software point of view, this use-case can be split                                                     clustering may be performed in a bottom-up approach, but
in two different application scenarios: (i) mono mode and (ii)                                                  also in a top-down refinement based approach.
stereo mode. If these scenarios are used during the design,                                                         2: Runtime scenario detector and/or predictor derivation is
the system battery lifetime may be increased, as in case of                                                     the step of finding a way to determine in which scenario the
playing in mono mode a lower computation power is needed,                                                       application runs at a certain moment in time. The current
thus a lower supply voltage may be used to meet the timing                                                      scenario of an application can be either detected, based on
constraints of the decoding.                                                                                    already known information (e.g. variable values), or it can be
                                                                                                                predicted, with a certain confidence. Detection can be seen as
B. Application Scenario Usage Methodology                                                                       prediction with 100% confidence.
   The methodology to introduce application scenarios into                                                          Different ways of implementing predictors may be con-
the current embedded system design trajectory consists of                                                       sidered, like static vs. runtime adaptive or centralized vs.
three steps depicted in figure 2(b): (1) discovery, (2) predic-                                                  distributed. Independent of the predictor implementation, the
tor/detector derivation and (3) exploitation.                                                                   following information may be used: (i) runtime application
   1: Scenario discovery starts from the original application                                                   internal information like variable values and executed code
and identifies its different operation modes. Their resource                                                     (i.e. a basic block that appears only in one scenario); (ii) statis-
tical information obtained by profiling or from the application      possible criteria that can be used for scenario classification.
designer (e.g. how often a scenario may appear at runtime);            Considering how scenario switches are driven at runtime,
(iii) a probabilistic scenario transition model, like a Markov      two main scenario categories can be considered: data flow
chain; and (iv) a history of active scenarios in the current        driven and event driven. Data flow driven scenarios char-
execution. Predictors may be of two types:                          acterize different actions executed in an application that are
   • Reactive: Only information already computed by the             selected at runtime based on the input data characteristics
      application is used.                                          (e.g. the type of streaming object). Usually each scenario
   • Proactive: A part of the application control-flow that fol-     has its own implementation within the application source
      lows the predictor is duplicated/extracted in the predictor   code. Event driven scenarios are selected at runtime based
      source code. This allows early decision making. There         on events external to the application, such as user requests
      is a trade-off between the amount of code duplicated          or system status changes (e.g. battery level). They typically
      and how early in the execution the current application        characterize different quality levels for the same functionality,
      scenario can be predicted. Usually, the earlier the better,   which may be implemented as different algorithms or different
      but the prediction overhead must be limited.                  quality parameters in the same algorithm. They are also called
   3: Scenario exploitation is the step that uses scenarios to      quality scenarios. The two types of scenarios may form a
optimize a design. As this step strongly depends on what the        hierarchy. For different quality levels, a data flow driven
designer wants to achieve, we present an overview of several        scenario corresponding to the same application source code,
papers that use application scenarios (although in general they     may require different amounts of resources.
do not give an explicit definition and/or identify the concept).        The runtime switches that appear between scenarios are
   In [7], the authors concentrate on saving energy for a single    differentiated by the tolerable amount of side-effects. Usually,
task application. For each manually identified scenario they         in case of data flow driven scenarios side-effects are not
select the most energy efficient architecture configuration that      acceptable, whereas in case of event driven scenarios different
can be used to meet the timing constraints. The architecture        potential side-effects may be acceptable.
has a single processor with reconfigurable components (e.g.          Example: A switch between quality scenarios in a TV set
number and type of function units), and its supply voltage          may appear as an image format change (e.g. from 4:3 to
can be changed. It is not clear how scenarios are predicted         16:9). A side-effect of image flickering generated during
at runtime. In [8], a reactive predictor is used to select the      system reconfiguration is acceptable. But when the application
lowest supply voltage for which the timing constraints are          switches from a data driven scenario to another one, no side-
met. An extension [9] considers two simultaneous resources          effects that visibly affect the image of the channel being
for scenario characterization. It looks for the most energy ef-     watched are acceptable.
ficient configuration for encoding video on a mobile platform,           As design methods for single and multi-task systems con-
exploring the trade-off between computation and compression         centrate on different aspects, scenarios can also be classified
efficiency.                                                          in (i) intra-task scenarios, which appear within a sequential
   To reduce the number of memory accesses, in [10], the            part of an application (i.e. a task); and (ii) inter-task scenarios,
authors selectively duplicate parts of application source code,     which represent operation modes of a multi-task application.
enabling global loop transformations across data dependent          This classification can also be seen as a hierarchy. Usually, the
conditions. They have a systematic way of detecting operation       scenario in which a multi-task application is running is derived
modes based on profiling and of clustering them in scenarios         from the scenarios in which each application task is currently
based on a trade-off between the number of memory accesses          running. Data flow driven intra- and inter-task scenarios are
and the code size increase. The final application implementa-        conceptually the same from the resource usage and runtime
tion, including scenarios and the predictor, is done manually.      switching perspectives, but they have a different impact on
   In context of multi-task applications, the scenario concept      the intra- and inter-task parts of the design flow, and their
was first used in [11] to capture the data-dependent dynamic         exploitation is in general different.
behavior inside a thread, to better schedule a multi-thread            Finally, scenario usage differs for soft and hard real-time
application on a heterogenous multi-processor architecture, al-     systems. Not all the methods presented above for each step of
lowing the change of voltage level for each individual proces-      the methodology can be applied. For example, for hard real-
sor. The use of application scenarios for reducing the energy       time systems, scenario discovery can only use static analysis,
consumed by a multi-task application mapped on a voltage            and only detectors may be used to identify the current scenario
scaling aware processor is also investigated in [12]. Other work    at runtime, whereas for soft real-time systems predictors and
in the multi-task context is [13]. The considered scenarios are     statistical information from profilers may be used.
characterized by different communication requirements (e.g.               IV. O UR TRAJECTORY FOR LOW ENERGY DESIGN
bandwidth, latency) and traffic patterns. The paper presents
a method to map application communication to a network                 This section presents our semi-automatic trajectory of dis-
on chip architecture, satisfying the design constraints of each     covery, predicting and exploiting application scenarios to
individual scenario.                                                reduce the energy consumed by a single task application
   Most of the mentioned papers (except [10]) emphasize             on a dynamic voltage scaling (DVS) aware processor. The
scenario exploitation and do not go into detail on discovery        trajectory is adapted for both hard and soft real-time con-
and prediction. Our work focuses on these last two problems.        straints. It starts from an application written in C, as C is the
                                                                    most used language to write embedded systems software, and
       III. A PPLICATION S CENARIO C LASSIFICATION                  generates the final energy-aware implementation also in C. The
   The different classes of embedded systems (e.g. hard vs. soft    numerical results presented bellow, are obtained for an MP3
real-time) and the problem that must be solved lead to multiple     decoder running on a processor similar to an ARM7TDMI [14]
Scenarios +              Scenarios +
     Fine-grain DVS               Coarse Reduced              Reference      the average over-estimation in the cycle budget required by
               Fine-grain DVS    grain DVS WCEC             implementation   the MP3 decoder to decode stereo songs is decreased with
                                                                             46%, reducing the average reserved cycle budget for an audio
0          .17.21                  .5      .64                    1          sample from 3.9 • 106 to 3.5 • 106 cycles. The cost paid is
            16%                                      36%
                                                                             1.74% missed deadlines, but this can be reduced to 0% if
                                                                             an output buffer with the size of one audio sample is used.
Fig. 3. Normalized energy for different MP3 hard real-time implementations   By using a proactive predictor that acts like a DVS-aware
                                                                             coarse-grain scheduler, the average energy reduction is 15%
for which the frequency and the supply voltage can be set                    compared to the original soft real-time implementation. Up to
continuously within the operating range. A frequency change                  35% reduction is obtained if mono songs are also considered.
introduces a transition overhead of 70µs during which the                                           V. C ONCLUSIONS
processor stops running. References to papers that detail the                   In this paper, we introduced the concept of application
methodology and the results are included.                                    scenarios, which group operation modes that are similar from
A. Hard Real-Time                                                            the resource usage perspective. Moreover, we presented their
                                                                             role in an embedded system design flow, illustrating the
   Our trajectory may generate different energy saving imple-                difference with the well known use-case scenarios.
mentations, from a purely static one to an implementation that                  Our scenario-based design trajectory for reducing the energy
uses a fine grain DVS-aware scheduler. A comparison of their                  consumption under both hard and soft real-time constraints
energy reduction is shown in figure 3 and discussed below.                    was presented. We showed that applying it on a benchmark,
   In [15], we describe a method for the automatic discovery of              under different scheduling constraints, the energy consumption
scenarios that incorporate correlations between different parts              may be reduced with 16% to 50% compared to the state-
of an application. These correlations differentiate between the              of-the-art methods. To reduce energy, our trajectory exploits
source code parts that never and the ones that may execute                   the difference in the computation cycles between different
together in the same iteration of the loop of interest. To                   scenarios. It can be easily adapted to consider another resource
avoid an explosion in the number of detected scenarios, the                  (e.g. the number of memory accesses or memory size) for
correlations are extracted using only information about the                  scenario discovery and clustering.
automatically detected application parameters with a large
impact on the execution time.                                                                              R EFERENCES
   For the MP3 decoder, using the detected scenarios, the                     [1] J. M. Carroll, Ed., Scenario-based design: envisioning work and tech-
                                                                                  nology in system development. John Wiley & Sons Inc, 1995.
estimated worst case number of execution cycles (WCEC) for                    [2] M. B. Rosson and J. M. Carroll, “Scenario-based design,” in The Human-
the entire application, which is the maximum between the ones                     Computer Interaction Handbook: Fundamentals, Evolving Technologies
obtained for each scenario, was reduced with 16%. As for hard                     and Emerging Applications. LEA, 2002, ch. 53, pp. 1032–1050.
                                                                              [3] M. T. Ionita, “Scenario-based system architecting: A systematic ap-
real-time systems no deadlines may be missed, the processor                       proach to developing future-proof system architectures,” Ph.D. disser-
must be able to execute at least the WCEC per decoding                            tation, Technische Universiteit Eindhoven, Netherlands, May 2005.
time period for an audio sample. Thus, reducing the estimated                 [4] J. M. Paul, “Scenario-oriented design for single chip heterogeneous
                                                                                  multiprocessors,” in Proc. of the 19th IEEE Int. Parallel and Distributed
WCEC with 15.9%, a processor with a 15.9% lower frequency                         Processing Symposium (IPDPS’05) - Workshop 10, 2005, p. 227b.
is good enough. This saves 36% in energy consumption.                         [5] B. P. Douglass, Real Time UML: Advances in the UML for Real-Time
   By exploiting the different WCEC for each scenario, the                        Systems. Addison Wesley Publishing Company, 2004.
                                                                              [6] S. V. Gheorghita, T. Basten, and H. Corporaal, “Intra-task scenario-aware
energy can be further reduced. Our trajectory may generate                        voltage scheduling,” in Proc. of Int. Conf. Compilers, Architecture and
a proactive predictor that acts like a DVS-aware coarse-grain                     Synthesis for Embedded Systems (CASES). ACM, 2005, pp. 177–184.
scheduler and selects once per loop iteration the supply voltage              [7] R. Sasanka, C. J. Hughes, and S. V. Adve, “Joint local and global hard-
                                                                                  ware adaptations for energy,” ACM SIGARCH Computer Architecture
level. In the MP3 case, the average energy reduction is up to                     News, vol. 30, no. 5, pp. 144–155, 2002.
50% from the original energy, depending on the input stream.                  [8] M. Pedram et al., “Frame-based dynamic voltage and frequency scaling
   Our trajectory can also introduce scenarios in a fine-grain                     for a MPEG decoder,” in Proc. of the IEEE/ACM Int. Conf. on Computer-
                                                                                  Aided Design (ICCAD), USA, 2002, pp. 732–737.
scheduler which changes the processor frequency multiple                      [9] D. G. Sachs, S. V. Adve, and D. L. Jones, “Cross-layer adaptive video
times during an iteration of the loop of interest. In [6], we                     coding to reduce energy on general-purpose processors,” in Proc. of
showed that the combination of scenarios with a state-of-the-                     IEEE Int. Conf. on Image Processing, 2003, pp. 109–112.
                                                                             [10] M. Palkovic et al., “Global memory optimisation for embedded systems
art fine-grain DVS-aware scheduler for hard real-time systems                      allowed by code duplication,” in Proc. of SCOPES, 2005.
reduces the average energy with 16% compared to using only                   [11] Peng Yang et al., Multi-Processor Systems on Chip. Morgan Kauf-
the DVS-aware scheduler. Fine-grain DVS gives better results                      mann, 2003, ch. Cost-efficient mapping of dynamic concurrent tasks in
                                                                                  embedded real-time multimedia systems.
than coarse-grain DVS if the frequency switching time is                     [12] S. Lee, S. Yoo, and K. Choi, “An intra-task dynamic voltage scaling
small enough. For larger switching times, fine-grain DVS is                        method for SoC design with hierarchical FSM and synchronous dataflow
infeasible or coarse-grain DVS outperforms it.                                    model,” in Proc. of the Int. Symp. on Low Power Electronics and Design.
                                                                                  ACM, 2002, pp. 84–87.
                                                                             [13] S. Murali et al., “A methodology for mapping multiple use-cases onto
B. Soft Real-Time                                                                 networks on chips,” in Proc. of DATE. IEEE, 2006.
                                                                             [14] http://www.arm.com/products/CPUs/ARM7TDMI.html.
  As for soft real-time systems a certain deadline miss ratio is             [15] S. V. Gheorghita, S. Stuijk, T. Basten, and H. Corporaal, “Automatic
acceptable, information collected by profiling the application                     scenario detection for improved WCET estimation,” in Proc. of the 42nd
can be used for scenario discovery and prediction. In [16], we                    Design Automation Conf. (DAC). ACM, 2005, pp. 101–104.
                                                                             [16] S. V. Gheorghita, T. Basten, and H. Corporaal, “Profiling driven sce-
describe a method and a tool that can automatically detect the                    nario detection and prediction for multimedia applications,” in Proc.
most important application parameters and use them to define                       of the IEEE Int. Conf. on Embedded Computer Systems: Architectures,
and dynamically predict scenarios. Using the generated code,                      MOdeling, and Simulation (IC-SAMOS), Greece, 2006, pp. 63–70.

More Related Content

What's hot

Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor NetworkCluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor NetworkIJASCSE
 
Pure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternPure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternSerge Stinckwich
 
FPGA Based Design of High Performance Decimator using DALUT Algorithm
FPGA Based Design of High Performance Decimator using DALUT AlgorithmFPGA Based Design of High Performance Decimator using DALUT Algorithm
FPGA Based Design of High Performance Decimator using DALUT Algorithm
IDES Editor
 
Presentation about my Research
Presentation about my ResearchPresentation about my Research
Presentation about my Research
Marcus Denker
 
A DWT based Dual Image Watermarking Technique for Authenticity and Watermark ...
A DWT based Dual Image Watermarking Technique for Authenticity and Watermark ...A DWT based Dual Image Watermarking Technique for Authenticity and Watermark ...
A DWT based Dual Image Watermarking Technique for Authenticity and Watermark ...
sipij
 
Introduction to National Supercomputer center in Tianjin TH-1A Supercomputer
Introduction to National Supercomputer center in Tianjin TH-1A SupercomputerIntroduction to National Supercomputer center in Tianjin TH-1A Supercomputer
Introduction to National Supercomputer center in Tianjin TH-1A SupercomputerFörderverein Technische Fakultät
 
Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...
Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...
Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...
Daniele Gianni
 
IRJET-Security Based Data Transfer and Privacy Storage through Watermark Dete...
IRJET-Security Based Data Transfer and Privacy Storage through Watermark Dete...IRJET-Security Based Data Transfer and Privacy Storage through Watermark Dete...
IRJET-Security Based Data Transfer and Privacy Storage through Watermark Dete...
IRJET Journal
 
Image Authentication Using Digital Watermarking
Image Authentication Using Digital WatermarkingImage Authentication Using Digital Watermarking
Image Authentication Using Digital Watermarking
ijceronline
 
Wavelet Based Image Watermarking
Wavelet Based Image WatermarkingWavelet Based Image Watermarking
Wavelet Based Image Watermarking
IJERA Editor
 
Dpa attacks by piyush mittal (211 cs2281)
Dpa attacks by piyush mittal (211 cs2281)Dpa attacks by piyush mittal (211 cs2281)
Dpa attacks by piyush mittal (211 cs2281)Piyush Mittal
 
MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...
MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...
MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...
Dagmar Monett
 
An Approach Towards Lossless Compression Through Artificial Neural Network Te...
An Approach Towards Lossless Compression Through Artificial Neural Network Te...An Approach Towards Lossless Compression Through Artificial Neural Network Te...
An Approach Towards Lossless Compression Through Artificial Neural Network Te...
IJERA Editor
 
11.compression technique using dct fractal compression
11.compression technique using dct fractal compression11.compression technique using dct fractal compression
11.compression technique using dct fractal compression
Alexander Decker
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
Compression technique using dct fractal compression
Compression technique using dct fractal compressionCompression technique using dct fractal compression
Compression technique using dct fractal compression
Alexander Decker
 
Protection of Multispectral Images using Watermarking and Encryption
Protection of Multispectral Images using Watermarking and EncryptionProtection of Multispectral Images using Watermarking and Encryption
Protection of Multispectral Images using Watermarking and Encryption
IRJET Journal
 
D25014017
D25014017D25014017
D25014017
IJERA Editor
 
Deep Learning for Natural Language Processing
Deep Learning for Natural Language ProcessingDeep Learning for Natural Language Processing
Deep Learning for Natural Language Processing
IRJET Journal
 

What's hot (19)

Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor NetworkCluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
Cluster-based Target Tracking and Recovery Algorithm in Wireless Sensor Network
 
Pure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternPure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator Pattern
 
FPGA Based Design of High Performance Decimator using DALUT Algorithm
FPGA Based Design of High Performance Decimator using DALUT AlgorithmFPGA Based Design of High Performance Decimator using DALUT Algorithm
FPGA Based Design of High Performance Decimator using DALUT Algorithm
 
Presentation about my Research
Presentation about my ResearchPresentation about my Research
Presentation about my Research
 
A DWT based Dual Image Watermarking Technique for Authenticity and Watermark ...
A DWT based Dual Image Watermarking Technique for Authenticity and Watermark ...A DWT based Dual Image Watermarking Technique for Authenticity and Watermark ...
A DWT based Dual Image Watermarking Technique for Authenticity and Watermark ...
 
Introduction to National Supercomputer center in Tianjin TH-1A Supercomputer
Introduction to National Supercomputer center in Tianjin TH-1A SupercomputerIntroduction to National Supercomputer center in Tianjin TH-1A Supercomputer
Introduction to National Supercomputer center in Tianjin TH-1A Supercomputer
 
Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...
Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...
Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...
 
IRJET-Security Based Data Transfer and Privacy Storage through Watermark Dete...
IRJET-Security Based Data Transfer and Privacy Storage through Watermark Dete...IRJET-Security Based Data Transfer and Privacy Storage through Watermark Dete...
IRJET-Security Based Data Transfer and Privacy Storage through Watermark Dete...
 
Image Authentication Using Digital Watermarking
Image Authentication Using Digital WatermarkingImage Authentication Using Digital Watermarking
Image Authentication Using Digital Watermarking
 
Wavelet Based Image Watermarking
Wavelet Based Image WatermarkingWavelet Based Image Watermarking
Wavelet Based Image Watermarking
 
Dpa attacks by piyush mittal (211 cs2281)
Dpa attacks by piyush mittal (211 cs2281)Dpa attacks by piyush mittal (211 cs2281)
Dpa attacks by piyush mittal (211 cs2281)
 
MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...
MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...
MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...
 
An Approach Towards Lossless Compression Through Artificial Neural Network Te...
An Approach Towards Lossless Compression Through Artificial Neural Network Te...An Approach Towards Lossless Compression Through Artificial Neural Network Te...
An Approach Towards Lossless Compression Through Artificial Neural Network Te...
 
11.compression technique using dct fractal compression
11.compression technique using dct fractal compression11.compression technique using dct fractal compression
11.compression technique using dct fractal compression
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Compression technique using dct fractal compression
Compression technique using dct fractal compressionCompression technique using dct fractal compression
Compression technique using dct fractal compression
 
Protection of Multispectral Images using Watermarking and Encryption
Protection of Multispectral Images using Watermarking and EncryptionProtection of Multispectral Images using Watermarking and Encryption
Protection of Multispectral Images using Watermarking and Encryption
 
D25014017
D25014017D25014017
D25014017
 
Deep Learning for Natural Language Processing
Deep Learning for Natural Language ProcessingDeep Learning for Natural Language Processing
Deep Learning for Natural Language Processing
 

Viewers also liked

High performance operating system controlled memory compression
High performance operating system controlled memory compressionHigh performance operating system controlled memory compression
High performance operating system controlled memory compressionMr. Chanuwan
 
FOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device MessagingFOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device Messaging
Johan Nilsson
 
Analyzing memory usage and leaks
Analyzing memory usage and leaksAnalyzing memory usage and leaks
Analyzing memory usage and leaksRonnBlack
 
Spacebrew & Arduino Yún
Spacebrew & Arduino YúnSpacebrew & Arduino Yún
Spacebrew & Arduino Yún
Johan Nilsson
 
A system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareA system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareMr. Chanuwan
 
High-Performance Timing Simulation of Embedded Software
High-Performance Timing Simulation of Embedded SoftwareHigh-Performance Timing Simulation of Embedded Software
High-Performance Timing Simulation of Embedded SoftwareMr. Chanuwan
 
Performance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwarePerformance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwareMr. Chanuwan
 
Runtime performance evaluation of embedded software
Runtime performance evaluation of embedded softwareRuntime performance evaluation of embedded software
Runtime performance evaluation of embedded softwareMr. Chanuwan
 
Deep dumpster diving 2010
Deep dumpster diving 2010Deep dumpster diving 2010
Deep dumpster diving 2010RonnBlack
 
GTUG Android iglaset Presentation 1 Oct
GTUG Android iglaset Presentation 1 OctGTUG Android iglaset Presentation 1 Oct
GTUG Android iglaset Presentation 1 Oct
Johan Nilsson
 
Java lejos-multithreading
Java lejos-multithreadingJava lejos-multithreading
Java lejos-multithreadingMr. Chanuwan
 
High level programming of embedded hard real-time devices
High level programming of embedded hard real-time devicesHigh level programming of embedded hard real-time devices
High level programming of embedded hard real-time devicesMr. Chanuwan
 
Software Architectural low energy
Software Architectural low energySoftware Architectural low energy
Software Architectural low energyMr. Chanuwan
 
Android Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG StockholmAndroid Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG Stockholm
Johan Nilsson
 
Object and method exploration for embedded systems
Object and method exploration for embedded systemsObject and method exploration for embedded systems
Object and method exploration for embedded systemsMr. Chanuwan
 
Performance and memory profiling for embedded system design
Performance and memory profiling for embedded system designPerformance and memory profiling for embedded system design
Performance and memory profiling for embedded system designMr. Chanuwan
 
Deep Dumpster Diving
Deep Dumpster DivingDeep Dumpster Diving
Deep Dumpster Diving
RonnBlack
 
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Johan Nilsson
 
Performance prediction for software architectures
Performance prediction for software architecturesPerformance prediction for software architectures
Performance prediction for software architecturesMr. Chanuwan
 

Viewers also liked (19)

High performance operating system controlled memory compression
High performance operating system controlled memory compressionHigh performance operating system controlled memory compression
High performance operating system controlled memory compression
 
FOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device MessagingFOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device Messaging
 
Analyzing memory usage and leaks
Analyzing memory usage and leaksAnalyzing memory usage and leaks
Analyzing memory usage and leaks
 
Spacebrew & Arduino Yún
Spacebrew & Arduino YúnSpacebrew & Arduino Yún
Spacebrew & Arduino Yún
 
A system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareA system for performance evaluation of embedded software
A system for performance evaluation of embedded software
 
High-Performance Timing Simulation of Embedded Software
High-Performance Timing Simulation of Embedded SoftwareHigh-Performance Timing Simulation of Embedded Software
High-Performance Timing Simulation of Embedded Software
 
Performance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwarePerformance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded software
 
Runtime performance evaluation of embedded software
Runtime performance evaluation of embedded softwareRuntime performance evaluation of embedded software
Runtime performance evaluation of embedded software
 
Deep dumpster diving 2010
Deep dumpster diving 2010Deep dumpster diving 2010
Deep dumpster diving 2010
 
GTUG Android iglaset Presentation 1 Oct
GTUG Android iglaset Presentation 1 OctGTUG Android iglaset Presentation 1 Oct
GTUG Android iglaset Presentation 1 Oct
 
Java lejos-multithreading
Java lejos-multithreadingJava lejos-multithreading
Java lejos-multithreading
 
High level programming of embedded hard real-time devices
High level programming of embedded hard real-time devicesHigh level programming of embedded hard real-time devices
High level programming of embedded hard real-time devices
 
Software Architectural low energy
Software Architectural low energySoftware Architectural low energy
Software Architectural low energy
 
Android Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG StockholmAndroid Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG Stockholm
 
Object and method exploration for embedded systems
Object and method exploration for embedded systemsObject and method exploration for embedded systems
Object and method exploration for embedded systems
 
Performance and memory profiling for embedded system design
Performance and memory profiling for embedded system designPerformance and memory profiling for embedded system design
Performance and memory profiling for embedded system design
 
Deep Dumpster Diving
Deep Dumpster DivingDeep Dumpster Diving
Deep Dumpster Diving
 
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
 
Performance prediction for software architectures
Performance prediction for software architecturesPerformance prediction for software architectures
Performance prediction for software architectures
 

Similar to Application scenarios in streaming oriented embedded-system design

Multilevel Hybrid Cognitive Load Balancing Algorithm for Private/Public Cloud...
Multilevel Hybrid Cognitive Load Balancing Algorithm for Private/Public Cloud...Multilevel Hybrid Cognitive Load Balancing Algorithm for Private/Public Cloud...
Multilevel Hybrid Cognitive Load Balancing Algorithm for Private/Public Cloud...
IDES Editor
 
Task & resource self adaptive
Task & resource self adaptiveTask & resource self adaptive
Task & resource self adaptive
csandit
 
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
cscpconf
 
IRJET - An Robust and Dynamic Fire Detection Method using Convolutional N...
IRJET -  	  An Robust and Dynamic Fire Detection Method using Convolutional N...IRJET -  	  An Robust and Dynamic Fire Detection Method using Convolutional N...
IRJET - An Robust and Dynamic Fire Detection Method using Convolutional N...
IRJET Journal
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software Systems
Vincenzo De Florio
 
Cloud Module 3 .pptx
Cloud Module 3 .pptxCloud Module 3 .pptx
Cloud Module 3 .pptx
ssuser41d319
 
Multi Supply Digital Layout
Multi Supply Digital LayoutMulti Supply Digital Layout
Multi Supply Digital LayoutRégis SANTONJA
 
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITYDIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
ijgca
 
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITYDIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
ijgca
 
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITYDIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
ijgca
 
IRJET-Multiple Object Detection using Deep Neural Networks
IRJET-Multiple Object Detection using Deep Neural NetworksIRJET-Multiple Object Detection using Deep Neural Networks
IRJET-Multiple Object Detection using Deep Neural Networks
IRJET Journal
 
Using Semi-supervised Classifier to Forecast Extreme CPU Utilization
Using Semi-supervised Classifier to Forecast Extreme CPU UtilizationUsing Semi-supervised Classifier to Forecast Extreme CPU Utilization
Using Semi-supervised Classifier to Forecast Extreme CPU Utilization
gerogepatton
 
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATIONUSING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
ijaia
 
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATIONUSING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
gerogepatton
 
IRJET- Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET-  	  Secure Scheme For Cloud-Based Multimedia Content StorageIRJET-  	  Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET- Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET Journal
 
REVIEW ON OBJECT DETECTION WITH CNN
REVIEW ON OBJECT DETECTION WITH CNNREVIEW ON OBJECT DETECTION WITH CNN
REVIEW ON OBJECT DETECTION WITH CNN
IRJET Journal
 
Background differencing algorithm for moving object detection using system ge...
Background differencing algorithm for moving object detection using system ge...Background differencing algorithm for moving object detection using system ge...
Background differencing algorithm for moving object detection using system ge...
eSAT Publishing House
 
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
CSCJournals
 

Similar to Application scenarios in streaming oriented embedded-system design (20)

Multilevel Hybrid Cognitive Load Balancing Algorithm for Private/Public Cloud...
Multilevel Hybrid Cognitive Load Balancing Algorithm for Private/Public Cloud...Multilevel Hybrid Cognitive Load Balancing Algorithm for Private/Public Cloud...
Multilevel Hybrid Cognitive Load Balancing Algorithm for Private/Public Cloud...
 
Os
OsOs
Os
 
Task & resource self adaptive
Task & resource self adaptiveTask & resource self adaptive
Task & resource self adaptive
 
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
 
IRJET - An Robust and Dynamic Fire Detection Method using Convolutional N...
IRJET -  	  An Robust and Dynamic Fire Detection Method using Convolutional N...IRJET -  	  An Robust and Dynamic Fire Detection Method using Convolutional N...
IRJET - An Robust and Dynamic Fire Detection Method using Convolutional N...
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software Systems
 
Cloud Module 3 .pptx
Cloud Module 3 .pptxCloud Module 3 .pptx
Cloud Module 3 .pptx
 
Multi Supply Digital Layout
Multi Supply Digital LayoutMulti Supply Digital Layout
Multi Supply Digital Layout
 
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITYDIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
 
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITYDIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
 
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITYDIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
DIVISION AND REPLICATION OF DATA IN GRID FOR OPTIMAL PERFORMANCE AND SECURITY
 
IRJET-Multiple Object Detection using Deep Neural Networks
IRJET-Multiple Object Detection using Deep Neural NetworksIRJET-Multiple Object Detection using Deep Neural Networks
IRJET-Multiple Object Detection using Deep Neural Networks
 
Using Semi-supervised Classifier to Forecast Extreme CPU Utilization
Using Semi-supervised Classifier to Forecast Extreme CPU UtilizationUsing Semi-supervised Classifier to Forecast Extreme CPU Utilization
Using Semi-supervised Classifier to Forecast Extreme CPU Utilization
 
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATIONUSING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
 
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATIONUSING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
USING SEMI-SUPERVISED CLASSIFIER TO FORECAST EXTREME CPU UTILIZATION
 
36575
3657536575
36575
 
IRJET- Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET-  	  Secure Scheme For Cloud-Based Multimedia Content StorageIRJET-  	  Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET- Secure Scheme For Cloud-Based Multimedia Content Storage
 
REVIEW ON OBJECT DETECTION WITH CNN
REVIEW ON OBJECT DETECTION WITH CNNREVIEW ON OBJECT DETECTION WITH CNN
REVIEW ON OBJECT DETECTION WITH CNN
 
Background differencing algorithm for moving object detection using system ge...
Background differencing algorithm for moving object detection using system ge...Background differencing algorithm for moving object detection using system ge...
Background differencing algorithm for moving object detection using system ge...
 
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 

Application scenarios in streaming oriented embedded-system design

  • 1. Application Scenarios in Streaming-Oriented Embedded System Design Stefan Valentin Gheorghita, Twan Basten and Henk Corporaal EE Department, ES Group, Eindhoven University of Technology, The Netherlands {s.v.gheorghita,a.a.basten,h.corporaal}@tue.nl internal state Abstract— In the past decade real-time embedded systems header became more and more complex and pervasive. From the user perspective, these systems have stringent requirements regarding Kernel 1 size, performance and energy consumption, and due to business Read Kernel 3 Write object object competition, their time-to-market is a crucial factor. Therefore, Input bitstream: much work has been done in developing design methodologies header data header data … data Kernel 2 Kernel 4 for embedded systems to cope with these tight requirements. In stream object Processing path for one type of object this paper, we introduce the concept of application scenarios that group operation modes of an application that are similar from the Fig. 1. Typical streaming application processing a stream object. resource usage perspective, and we describe how to incorporate them in the overall real-time embedded system design process. A case study shows the use of application scenarios for low energy faster or lower energy implementation (e.g. by using different design, under both soft and hard real-time constraints. source code optimizations per scenario), or a better estimation of required resources (e.g. the number of computation cycles I. I NTRODUCTION or bandwidth) may be derived. These intermediate results lead Embedded systems usually consist of processors that exe- to a smaller, cheaper and more energy efficient system that can cute domain-specific programs. Much of their functionality is deliver the required performance. implemented in software, which is running on one or multiple The paper is organized as follows. Section II presents generic processors, leaving only the high performance func- the role of application scenarios in an embedded system tions implemented in hardware. Typical examples include TV design flow, illustrating the difference between them and the sets, cellular phones, MP3 players and printers. Most of these well known use-case scenarios, and it provides examples of systems are running multimedia and/or telecom applications, scenario exploitation found in the literature. A classification like video and audio decoders. These applications are usually of application scenarios is given in section III. A case study implemented as a main loop, called the loop of interest, showing how we reduced the energy consumption of a single that is executed over and over again, reading, processing and task system under both hard and soft real-time constraints is writing out individual stream objects (see figure 1). A stream presented in section IV. Some conclusions are discussed in object might be a bit belonging to a compressed bitstream the last section. representing a coded video clip, a macro-block, a video frame, or an audio sample. Usually, these applications have to deliver II. S CENARIOS IN D ESIGN a given throughput (number of objects per second), which A. Use-case vs. Application Scenarios imposes a time constraint on each loop iteration. Scenario-based design has been in use for a long time in The read part of the loop of interest takes a stream object different areas [1], [2], like human-computer interaction or from the input stream and separates it into a header and object oriented software engineering. In these cases, scenarios the object’s data. The processing part consists of several concretely describe, in an early phase of the development kernels. For each stream object some of these kernels are process, the use of a future system. Moreover, they appear used, depending on the object type. The write part sends the like narrative descriptions of envisioned usage episodes, or processed data to output devices, like a screen or speakers, and like unified modeling language (UML) use-case diagrams that saves the internal state of the application for further use (e.g. in enumerate, from a functional and timing point of view, all a video decoder, the previous decoded frame may be necessary possible user actions and system reactions that are required for decoding the current frame). The actions executed in a loop to meet a proposed system functionality. These scenarios are iteration form an internal operation mode of the application. called use-case scenarios, and characterize the system from In this work, we introduce ways of detecting and exploiting the user perspective. In the embedded systems area, they were a characteristic of the application that has not been fully used used in both hardware [3], [4] and software design [5]. in embedded system design previously, namely the different In this work, we concentrate on a different kind of scenarios, internal operation modes, each with their own typical resource so-called application scenarios, that characterize the system consumption. Operation modes that are closely related to each from the resource usage perspective. other from a resource consumption perspective are clustered Definition: An application scenario is a detectable set of op- in so-called application scenarios, distinguishing operation eration modes of an application that are sufficiently similar in modes that are really different. If these scenarios are con- a multi-dimensional resource-based cost space (e.g. execution sidered in different steps of the embedded system design, a cycles, memory usage, source code). This work was supported by the Dutch Science Foundation, NWO, project The cost space is defined over the dimensions of interest FAME, number 612.064.101. for a specific problem. For example, we might be interested
  • 2. Product Idea Manual Definition 1. Scenario Discovery Use-case 1 2 3 Operation Mode 2. Scenario scenarios Operation Mode 3. Scenario Final Identification & Predictor / Detector Clustering Exploitation System Application Characterization Operation Application Derivation Application Graph modes Scenarios Scenarios + Design Predictor Application Code Semi-automatic Extraction Application Scenarios 1 2 3 Design Final System (a) Full design flow (b) Application scenario usage methodology Fig. 2. A scenario based design flow for embedded systems. in operation modes that share the same source code, or that usage (in the cost space of interest) is characterized, and the execute in the same number of CPU cycles. To be exploited, modes with similar needs are clustered in an application sce- these modes must be detectable in the application, preferably nario. The methods used for scenario discovery can be divided as soon as the application starts to execute in one of them. As in three categories: (i) analytical, (ii) profiling and (iii) hybrid. the definition is very general, it is commonly tailored to the Independent of the method, the set of the identified application specific design problem at hand (e.g. the application behavior scenarios must cover all possible application operation modes. for a specific type of input data [6]). In an analytical method, the application structure is stat- Figure 2(a) depicts a design flow using scenarios. It starts ically analyzed to identify similar operation modes. This from a product idea, for which the stakeholders define the method is restrictive, as it can not automatically collect future utilization as use-case scenarios. They are used in information about how the application is really used and a user-centric development process to design an embedded how it behaves at runtime (e.g. which is the most frequently system that includes both software and hardware components. used scenario at runtime). The real runtime behavior of the In order to optimize the design of the system, we suggest to application can be captured using a profiling method, but in augment this trajectory with application scenarios (the bottom this case it is more difficult to derive scenario predictors than gray box in figure 2(a)). Once the application is coded, its it is in the analytical case, and in general not all scenarios may scenarios related to resources utilization are extracted in a be discovered as not all possible distinct operation modes may semi-automatic way, and they are considered for the decisions be covered by profiling. To overcome this problem, an extra made during the following phases of the system design. The scenario, called the backup scenario, must be considered. It sets of use-case scenarios and application scenarios are not is selected at runtime when the application is running in an necessarily disjoint. One or more use-case scenarios may be operation mode that did not appear during profiling. A hybrid merged in one application scenario, a use-case scenario may be method combines the advantages of the previous two methods split into several application scenarios, or several application and it is the most powerful way to discover scenarios. scenarios may intersect several use-case scenarios. Especially for profiling and hybrid methods, an explosion Example: We want to design a portable MP3 player as a USB in the number of operation modes may appear during their stick. At first sight, there are two main use-case scenarios: (i) identification. In this case, decisions must be made using the player is connected to the computer and music files are partial information, applying mode identification and cluster- transferred between them, and (ii) the player is used to listen ing simultaneously. There is a trade-off between how many music. These scenarios can be divided in more detailed use- different scenarios and modes may be handled during the case scenarios, like, for the second one, song selection, play discovery process (from which the process speed and memory or fast forward scenarios. Let us consider the play scenario. usage are derived) and the resulting quality. Discovery and From the software point of view, this use-case can be split clustering may be performed in a bottom-up approach, but in two different application scenarios: (i) mono mode and (ii) also in a top-down refinement based approach. stereo mode. If these scenarios are used during the design, 2: Runtime scenario detector and/or predictor derivation is the system battery lifetime may be increased, as in case of the step of finding a way to determine in which scenario the playing in mono mode a lower computation power is needed, application runs at a certain moment in time. The current thus a lower supply voltage may be used to meet the timing scenario of an application can be either detected, based on constraints of the decoding. already known information (e.g. variable values), or it can be predicted, with a certain confidence. Detection can be seen as B. Application Scenario Usage Methodology prediction with 100% confidence. The methodology to introduce application scenarios into Different ways of implementing predictors may be con- the current embedded system design trajectory consists of sidered, like static vs. runtime adaptive or centralized vs. three steps depicted in figure 2(b): (1) discovery, (2) predic- distributed. Independent of the predictor implementation, the tor/detector derivation and (3) exploitation. following information may be used: (i) runtime application 1: Scenario discovery starts from the original application internal information like variable values and executed code and identifies its different operation modes. Their resource (i.e. a basic block that appears only in one scenario); (ii) statis-
  • 3. tical information obtained by profiling or from the application possible criteria that can be used for scenario classification. designer (e.g. how often a scenario may appear at runtime); Considering how scenario switches are driven at runtime, (iii) a probabilistic scenario transition model, like a Markov two main scenario categories can be considered: data flow chain; and (iv) a history of active scenarios in the current driven and event driven. Data flow driven scenarios char- execution. Predictors may be of two types: acterize different actions executed in an application that are • Reactive: Only information already computed by the selected at runtime based on the input data characteristics application is used. (e.g. the type of streaming object). Usually each scenario • Proactive: A part of the application control-flow that fol- has its own implementation within the application source lows the predictor is duplicated/extracted in the predictor code. Event driven scenarios are selected at runtime based source code. This allows early decision making. There on events external to the application, such as user requests is a trade-off between the amount of code duplicated or system status changes (e.g. battery level). They typically and how early in the execution the current application characterize different quality levels for the same functionality, scenario can be predicted. Usually, the earlier the better, which may be implemented as different algorithms or different but the prediction overhead must be limited. quality parameters in the same algorithm. They are also called 3: Scenario exploitation is the step that uses scenarios to quality scenarios. The two types of scenarios may form a optimize a design. As this step strongly depends on what the hierarchy. For different quality levels, a data flow driven designer wants to achieve, we present an overview of several scenario corresponding to the same application source code, papers that use application scenarios (although in general they may require different amounts of resources. do not give an explicit definition and/or identify the concept). The runtime switches that appear between scenarios are In [7], the authors concentrate on saving energy for a single differentiated by the tolerable amount of side-effects. Usually, task application. For each manually identified scenario they in case of data flow driven scenarios side-effects are not select the most energy efficient architecture configuration that acceptable, whereas in case of event driven scenarios different can be used to meet the timing constraints. The architecture potential side-effects may be acceptable. has a single processor with reconfigurable components (e.g. Example: A switch between quality scenarios in a TV set number and type of function units), and its supply voltage may appear as an image format change (e.g. from 4:3 to can be changed. It is not clear how scenarios are predicted 16:9). A side-effect of image flickering generated during at runtime. In [8], a reactive predictor is used to select the system reconfiguration is acceptable. But when the application lowest supply voltage for which the timing constraints are switches from a data driven scenario to another one, no side- met. An extension [9] considers two simultaneous resources effects that visibly affect the image of the channel being for scenario characterization. It looks for the most energy ef- watched are acceptable. ficient configuration for encoding video on a mobile platform, As design methods for single and multi-task systems con- exploring the trade-off between computation and compression centrate on different aspects, scenarios can also be classified efficiency. in (i) intra-task scenarios, which appear within a sequential To reduce the number of memory accesses, in [10], the part of an application (i.e. a task); and (ii) inter-task scenarios, authors selectively duplicate parts of application source code, which represent operation modes of a multi-task application. enabling global loop transformations across data dependent This classification can also be seen as a hierarchy. Usually, the conditions. They have a systematic way of detecting operation scenario in which a multi-task application is running is derived modes based on profiling and of clustering them in scenarios from the scenarios in which each application task is currently based on a trade-off between the number of memory accesses running. Data flow driven intra- and inter-task scenarios are and the code size increase. The final application implementa- conceptually the same from the resource usage and runtime tion, including scenarios and the predictor, is done manually. switching perspectives, but they have a different impact on In context of multi-task applications, the scenario concept the intra- and inter-task parts of the design flow, and their was first used in [11] to capture the data-dependent dynamic exploitation is in general different. behavior inside a thread, to better schedule a multi-thread Finally, scenario usage differs for soft and hard real-time application on a heterogenous multi-processor architecture, al- systems. Not all the methods presented above for each step of lowing the change of voltage level for each individual proces- the methodology can be applied. For example, for hard real- sor. The use of application scenarios for reducing the energy time systems, scenario discovery can only use static analysis, consumed by a multi-task application mapped on a voltage and only detectors may be used to identify the current scenario scaling aware processor is also investigated in [12]. Other work at runtime, whereas for soft real-time systems predictors and in the multi-task context is [13]. The considered scenarios are statistical information from profilers may be used. characterized by different communication requirements (e.g. IV. O UR TRAJECTORY FOR LOW ENERGY DESIGN bandwidth, latency) and traffic patterns. The paper presents a method to map application communication to a network This section presents our semi-automatic trajectory of dis- on chip architecture, satisfying the design constraints of each covery, predicting and exploiting application scenarios to individual scenario. reduce the energy consumed by a single task application Most of the mentioned papers (except [10]) emphasize on a dynamic voltage scaling (DVS) aware processor. The scenario exploitation and do not go into detail on discovery trajectory is adapted for both hard and soft real-time con- and prediction. Our work focuses on these last two problems. straints. It starts from an application written in C, as C is the most used language to write embedded systems software, and III. A PPLICATION S CENARIO C LASSIFICATION generates the final energy-aware implementation also in C. The The different classes of embedded systems (e.g. hard vs. soft numerical results presented bellow, are obtained for an MP3 real-time) and the problem that must be solved lead to multiple decoder running on a processor similar to an ARM7TDMI [14]
  • 4. Scenarios + Scenarios + Fine-grain DVS Coarse Reduced Reference the average over-estimation in the cycle budget required by Fine-grain DVS grain DVS WCEC implementation the MP3 decoder to decode stereo songs is decreased with 46%, reducing the average reserved cycle budget for an audio 0 .17.21 .5 .64 1 sample from 3.9 • 106 to 3.5 • 106 cycles. The cost paid is 16% 36% 1.74% missed deadlines, but this can be reduced to 0% if an output buffer with the size of one audio sample is used. Fig. 3. Normalized energy for different MP3 hard real-time implementations By using a proactive predictor that acts like a DVS-aware coarse-grain scheduler, the average energy reduction is 15% for which the frequency and the supply voltage can be set compared to the original soft real-time implementation. Up to continuously within the operating range. A frequency change 35% reduction is obtained if mono songs are also considered. introduces a transition overhead of 70µs during which the V. C ONCLUSIONS processor stops running. References to papers that detail the In this paper, we introduced the concept of application methodology and the results are included. scenarios, which group operation modes that are similar from A. Hard Real-Time the resource usage perspective. Moreover, we presented their role in an embedded system design flow, illustrating the Our trajectory may generate different energy saving imple- difference with the well known use-case scenarios. mentations, from a purely static one to an implementation that Our scenario-based design trajectory for reducing the energy uses a fine grain DVS-aware scheduler. A comparison of their consumption under both hard and soft real-time constraints energy reduction is shown in figure 3 and discussed below. was presented. We showed that applying it on a benchmark, In [15], we describe a method for the automatic discovery of under different scheduling constraints, the energy consumption scenarios that incorporate correlations between different parts may be reduced with 16% to 50% compared to the state- of an application. These correlations differentiate between the of-the-art methods. To reduce energy, our trajectory exploits source code parts that never and the ones that may execute the difference in the computation cycles between different together in the same iteration of the loop of interest. To scenarios. It can be easily adapted to consider another resource avoid an explosion in the number of detected scenarios, the (e.g. the number of memory accesses or memory size) for correlations are extracted using only information about the scenario discovery and clustering. automatically detected application parameters with a large impact on the execution time. R EFERENCES For the MP3 decoder, using the detected scenarios, the [1] J. M. Carroll, Ed., Scenario-based design: envisioning work and tech- nology in system development. John Wiley & Sons Inc, 1995. estimated worst case number of execution cycles (WCEC) for [2] M. B. Rosson and J. M. Carroll, “Scenario-based design,” in The Human- the entire application, which is the maximum between the ones Computer Interaction Handbook: Fundamentals, Evolving Technologies obtained for each scenario, was reduced with 16%. As for hard and Emerging Applications. LEA, 2002, ch. 53, pp. 1032–1050. [3] M. T. Ionita, “Scenario-based system architecting: A systematic ap- real-time systems no deadlines may be missed, the processor proach to developing future-proof system architectures,” Ph.D. disser- must be able to execute at least the WCEC per decoding tation, Technische Universiteit Eindhoven, Netherlands, May 2005. time period for an audio sample. Thus, reducing the estimated [4] J. M. Paul, “Scenario-oriented design for single chip heterogeneous multiprocessors,” in Proc. of the 19th IEEE Int. Parallel and Distributed WCEC with 15.9%, a processor with a 15.9% lower frequency Processing Symposium (IPDPS’05) - Workshop 10, 2005, p. 227b. is good enough. This saves 36% in energy consumption. [5] B. P. Douglass, Real Time UML: Advances in the UML for Real-Time By exploiting the different WCEC for each scenario, the Systems. Addison Wesley Publishing Company, 2004. [6] S. V. Gheorghita, T. Basten, and H. Corporaal, “Intra-task scenario-aware energy can be further reduced. Our trajectory may generate voltage scheduling,” in Proc. of Int. Conf. Compilers, Architecture and a proactive predictor that acts like a DVS-aware coarse-grain Synthesis for Embedded Systems (CASES). ACM, 2005, pp. 177–184. scheduler and selects once per loop iteration the supply voltage [7] R. Sasanka, C. J. Hughes, and S. V. Adve, “Joint local and global hard- ware adaptations for energy,” ACM SIGARCH Computer Architecture level. In the MP3 case, the average energy reduction is up to News, vol. 30, no. 5, pp. 144–155, 2002. 50% from the original energy, depending on the input stream. [8] M. Pedram et al., “Frame-based dynamic voltage and frequency scaling Our trajectory can also introduce scenarios in a fine-grain for a MPEG decoder,” in Proc. of the IEEE/ACM Int. Conf. on Computer- Aided Design (ICCAD), USA, 2002, pp. 732–737. scheduler which changes the processor frequency multiple [9] D. G. Sachs, S. V. Adve, and D. L. Jones, “Cross-layer adaptive video times during an iteration of the loop of interest. In [6], we coding to reduce energy on general-purpose processors,” in Proc. of showed that the combination of scenarios with a state-of-the- IEEE Int. Conf. on Image Processing, 2003, pp. 109–112. [10] M. Palkovic et al., “Global memory optimisation for embedded systems art fine-grain DVS-aware scheduler for hard real-time systems allowed by code duplication,” in Proc. of SCOPES, 2005. reduces the average energy with 16% compared to using only [11] Peng Yang et al., Multi-Processor Systems on Chip. Morgan Kauf- the DVS-aware scheduler. Fine-grain DVS gives better results mann, 2003, ch. Cost-efficient mapping of dynamic concurrent tasks in embedded real-time multimedia systems. than coarse-grain DVS if the frequency switching time is [12] S. Lee, S. Yoo, and K. Choi, “An intra-task dynamic voltage scaling small enough. For larger switching times, fine-grain DVS is method for SoC design with hierarchical FSM and synchronous dataflow infeasible or coarse-grain DVS outperforms it. model,” in Proc. of the Int. Symp. on Low Power Electronics and Design. ACM, 2002, pp. 84–87. [13] S. Murali et al., “A methodology for mapping multiple use-cases onto B. Soft Real-Time networks on chips,” in Proc. of DATE. IEEE, 2006. [14] http://www.arm.com/products/CPUs/ARM7TDMI.html. As for soft real-time systems a certain deadline miss ratio is [15] S. V. Gheorghita, S. Stuijk, T. Basten, and H. Corporaal, “Automatic acceptable, information collected by profiling the application scenario detection for improved WCET estimation,” in Proc. of the 42nd can be used for scenario discovery and prediction. In [16], we Design Automation Conf. (DAC). ACM, 2005, pp. 101–104. [16] S. V. Gheorghita, T. Basten, and H. Corporaal, “Profiling driven sce- describe a method and a tool that can automatically detect the nario detection and prediction for multimedia applications,” in Proc. most important application parameters and use them to define of the IEEE Int. Conf. on Embedded Computer Systems: Architectures, and dynamically predict scenarios. Using the generated code, MOdeling, and Simulation (IC-SAMOS), Greece, 2006, pp. 63–70.