Image Processing Reference
In-Depth Information
TABLE .
Types of Interface Optimization
Optimization
Description
Parameter elimination
Parameters which are not used in one of the so-called subfunctions
can be removed.
Static parameters
If a function is still called with same parameters, these parameters can
be defined as constants or static variables in the global namespace.
Thus, the parameter delivery to the function can be removed.
Parameter ordering
The sequence order of parameters is optimized in order to pass
parameters through cascading ordering functions with same or
similar parameters. It is particularly favorable in systems using
processor registers instead of the system stack to deliver parameters
to subfunctions.
Parameter aggregation
In embedded systems, many data types are not byte-aligned, for
example, bits to configure hardware settings. If a function has several
nonbyte-aligned parameters, these parameters may be combined.
static except programs for VMs. Accordingly, static linking is preferred. Statically linked software
in conjunction with interface optimization leads to faster and smaller programs.
In SeNeTs, interfaces are customized to the application in contrast to common approaches used
in desktop computer systems. These desktop systems are characterized by writing huge adaptation
layers. he interface optimization can be propagated through all software layers and, therefore, saves
resources. As an example of an optimization, a function OpenSocket(int name, int mode) identifies
the network interface with its first parameter and the opening mode in the second parameter. How-
ever, a node that has only one interface opened with constant mode once or twice does not need these
parameters. Consequently, knowledge of this information at compile time can be used for optimizing,
for example, by
Inlining the function or
Eliminating both parameters from the delivery process
Another possibility is to change the semantics of data types. A potential use case is the definition of
accuracy of addresses that results in changing data type's width. In SeNeTs, there are several types of
interface optimizations proposed, which are given in Table ..
Some optimizations such as “static parameters” are sometimes counterproductive in particu-
lar, if register-oriented parameter delivery is used. This is caused by the use of offset addresses
once at parameter delivery instead of absolute addresses embedded in the “optimized” function.
Consequently, the introduced optimizations strongly depend on
Processor and processor architecture
Typeofparameterdelivery(stackorregister-oriented)
Memory management (small, huge, and size of pointers)
Objective of optimization (memory consumption, energy consumption, or compact
code, etc.)
Sensor network application
12.3.7.3 Development Process
Figure . shows the development process of sensor node software in SeNeTs. First, for each func-
tional block the components have to be identified and included into the project. During design phase,
the chosen components are interconnected and configured depending on developer's settings. hen,
interface as well as parameter optimization is performed. The final source codes are generated and
logging components can be included to monitor runtime behavior. he generated source codes are
compiled and the executable is linked together. During evaluation phase, the created node application
can be downloaded to the node and executed. Considering the monitoring results, a new design cycle
 
Search WWH ::




Custom Search