Function Inlining

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 600 Experts worldwide ranked by ideXlab platform

Jiman Hong - One of the best experts on this subject based on the ideXlab platform.

  • An Efficient Function Inlining Scheme for Resource-Constrained Embedded Systems
    Journal of Information Science and Engineering, 2012
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    Function Inlining schemes are used to reduce the execution time of a program, but Function Inlining usually increases the code space due to the use of inlined Functions. There are extreme limitations of memory space and battery capacity in embedded systems such as wireless sensor nodes. Function Inlining should be performed selectively. If we reduce the execution time of a program by means of Function Inlining, we can reduce the amount of energy that is consumed. Therefore, Function Inlining is useful in resource-constrained embedded systems. Basic Function Inlining schemes were proposed in the previous studies. However, these schemes were too coarse-grained, and did not analyze the impact of Function Inlining on resource-constrained embedded systems. In this paper, we propose a fine-grained Function Inlining scheme which considers the execution rate of the individual Functions. We also present an analysis of the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory usage. Based on experimental results, we show that the proposed fine-grained Function Inlining scheme can improve the level of energy efficiency.

  • impact of Function Inlining on resource constrained embedded systems
    ACM Symposium on Applied Computing, 2009
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    With the development of computer systems, Function Inlining schemes were used to reduce execution time while increasing codes. In embedded systems such as wireless sensor nodes, there are extreme limitations on memory space and battery power. This is the reason why Function Inlining is useful for maximizing memory utilization while minimizing energy consumption of embedded systems. In the previous works, basic Inlining schemes were proposed, which were adapted to systems with code memory constraints. However, they were too coarse-grained, and did not evaluate the impact of Function Inlining in terms of both energy consumption and code memory utilization in actual systems. In this paper, we propose a fine-grained Function Inlining scheme. We also present the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory overhead. Based on experimental results, we demonstrate that fine-grained Function Inlining can improve the energy efficiency of embedded systems while maximizing code memory utilization.

  • SAC - Impact of Function Inlining on resource-constrained embedded systems
    Proceedings of the 2009 ACM symposium on Applied Computing - SAC '09, 2009
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    With the development of computer systems, Function Inlining schemes were used to reduce execution time while increasing codes. In embedded systems such as wireless sensor nodes, there are extreme limitations on memory space and battery power. This is the reason why Function Inlining is useful for maximizing memory utilization while minimizing energy consumption of embedded systems. In the previous works, basic Inlining schemes were proposed, which were adapted to systems with code memory constraints. However, they were too coarse-grained, and did not evaluate the impact of Function Inlining in terms of both energy consumption and code memory utilization in actual systems. In this paper, we propose a fine-grained Function Inlining scheme. We also present the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory overhead. Based on experimental results, we demonstrate that fine-grained Function Inlining can improve the energy efficiency of embedded systems while maximizing code memory utilization.

Bongjae Kim - One of the best experts on this subject based on the ideXlab platform.

  • An Efficient Function Inlining Scheme for Resource-Constrained Embedded Systems
    Journal of Information Science and Engineering, 2012
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    Function Inlining schemes are used to reduce the execution time of a program, but Function Inlining usually increases the code space due to the use of inlined Functions. There are extreme limitations of memory space and battery capacity in embedded systems such as wireless sensor nodes. Function Inlining should be performed selectively. If we reduce the execution time of a program by means of Function Inlining, we can reduce the amount of energy that is consumed. Therefore, Function Inlining is useful in resource-constrained embedded systems. Basic Function Inlining schemes were proposed in the previous studies. However, these schemes were too coarse-grained, and did not analyze the impact of Function Inlining on resource-constrained embedded systems. In this paper, we propose a fine-grained Function Inlining scheme which considers the execution rate of the individual Functions. We also present an analysis of the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory usage. Based on experimental results, we show that the proposed fine-grained Function Inlining scheme can improve the level of energy efficiency.

  • impact of Function Inlining on resource constrained embedded systems
    ACM Symposium on Applied Computing, 2009
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    With the development of computer systems, Function Inlining schemes were used to reduce execution time while increasing codes. In embedded systems such as wireless sensor nodes, there are extreme limitations on memory space and battery power. This is the reason why Function Inlining is useful for maximizing memory utilization while minimizing energy consumption of embedded systems. In the previous works, basic Inlining schemes were proposed, which were adapted to systems with code memory constraints. However, they were too coarse-grained, and did not evaluate the impact of Function Inlining in terms of both energy consumption and code memory utilization in actual systems. In this paper, we propose a fine-grained Function Inlining scheme. We also present the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory overhead. Based on experimental results, we demonstrate that fine-grained Function Inlining can improve the energy efficiency of embedded systems while maximizing code memory utilization.

  • SAC - Impact of Function Inlining on resource-constrained embedded systems
    Proceedings of the 2009 ACM symposium on Applied Computing - SAC '09, 2009
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    With the development of computer systems, Function Inlining schemes were used to reduce execution time while increasing codes. In embedded systems such as wireless sensor nodes, there are extreme limitations on memory space and battery power. This is the reason why Function Inlining is useful for maximizing memory utilization while minimizing energy consumption of embedded systems. In the previous works, basic Inlining schemes were proposed, which were adapted to systems with code memory constraints. However, they were too coarse-grained, and did not evaluate the impact of Function Inlining in terms of both energy consumption and code memory utilization in actual systems. In this paper, we propose a fine-grained Function Inlining scheme. We also present the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory overhead. Based on experimental results, we demonstrate that fine-grained Function Inlining can improve the energy efficiency of embedded systems while maximizing code memory utilization.

Peter Marwedel - One of the best experts on this subject based on the ideXlab platform.

  • Automatic WCET Reduction by Machine Learning Based Heuristics for Function Inlining
    2013
    Co-Authors: Paul Lokuciejewski, Peter Marwedel, Fatih Gedikli, Katharina Morik
    Abstract:

    The application of machine learning techniques in compiler frame- works has become a challenging research area. Learning algorithms are exploited for an automatic generation of optimization heuristics which often outperform hand-crafted models. Moreover, these automatic approaches can effectively tune the compilers' heuristics after larger changes in the optim ization sequence or they can be leveraged to tailor heuristics towards a particular a rchitectural model. Pre- vious works focussed on a reduction of the average-case performance. In this paper, learning approaches are studied in the context of an automatic min- imization of the worst-case execution time (WCET) which is the upper bound of the program's maximum execution time. We show that explicitly taking the new timing model into account allows the construction of compiler heuristics that effectively reduce the WCET. This is demonstrated for the well-known opti- mization Function Inlining. Our WCET-driven Inlining heuristics based on a fast classifier called random forests outperform standard heuristics by up to 9.1% on average in terms of the WCET reduction. Moreover, we point out that our classi- fier is highly accurate with a prediction rate for Inlining ca ndidates of 84.0%.

  • Machine Learning Techniques in Compiler Design
    Worst-Case Execution Time Aware Compilation Techniques for Real-Time Systems, 2011
    Co-Authors: Paul Lokuciejewski, Peter Marwedel
    Abstract:

    The manual generation of heuristics for compiler optimizations is a tedious task which requires both a high amount of expertise and an extensive trial-and-error tuning. The consequence is that many optimizations operate inefficiently. In this chapter, an automatic generation of machine learning based (MLB) heuristics for WCET-aware compiler optimizations is presented. A feasibility study for the generation of WCET-aware heuristics for the source code optimization Function Inlining is presented. Moreover, this chapter shows that on the one hand MLB WCET-aware heuristics can also be easily constructed at other abstraction levels of the code, namely at assembly level as demonstrated for the optimization loop-invariant code motion. On the other hand, this chapter indicates that an automatic selection of appropriate machine learning algorithms and their parameters can significantly improve the performance of the generated heuristics. To demonstrate the effectiveness of the MLB heuristics, evaluations on real-life benchmarks were performed, showing that the novel heuristics outperform traditional, hand-crafted heuristics.

  • Function Inlining under code size constraints for embedded processors
    International Conference on Computer Aided Design, 1999
    Co-Authors: Rainer Leupers, Peter Marwedel
    Abstract:

    Function Inlining is a compiler optimization that generally increases performance at the expense of larger code size. However, current Inlining techniques do not meet the special demands in the design of embedded systems, since they are based on simple heuristics, and they generate code of unpredictable size. This paper presents a novel approach to Function Inlining in C compilers for embedded processors, which aims at maximum program speedup under a global limit on code size. The core of this approach is a branch-and-bound algorithm which allows one to quickly explore the large search space. In an application study, we show how this algorithm can be applied to maximize the execution speed of an application under a given code size constraint.

  • ICCAD - Function Inlining under code size constraints for embedded processors
    1999 IEEE ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051), 1
    Co-Authors: Rainer Leupers, Peter Marwedel
    Abstract:

    Function Inlining is a compiler optimization that generally increases performance at the expense of larger code size. However, current Inlining techniques do not meet the special demands in the design of embedded systems, since they are based on simple heuristics, and they generate code of unpredictable size. This paper presents a novel approach to Function Inlining in C compilers for embedded processors, which aims at maximum program speedup under a global limit on code size. The core of this approach is a branch-and-bound algorithm which allows one to quickly explore the large search space. In an application study, we show how this algorithm can be applied to maximize the execution speed of an application under a given code size constraint.

Rainer Leupers - One of the best experts on this subject based on the ideXlab platform.

  • Code Optimization Techniques for Embedded Processors: Methods, Algorithms, and Tools
    2000
    Co-Authors: Rainer Leupers
    Abstract:

    From the Publisher: The building blocks of today's embedded systems-on-a-chip are complex IP components and programmable processor cores. This means that more and more system Functionality is implemented in software rather than in custom hardware. In turn, this indicates a growing need for high-level language compilers, capable of generating efficient code for embedded processors. However, traditional compiler technology hardly keeps pace with new developments in embedded processor architectures. Many existing compilers for DSPs and multimedia processors therefore produce code of insufficient quality with respect to performance and/or code size, and a large part of software for embedded systems is still being developed in assembly languages. As both embedded software as well as processor architectures are getting more and more complex, assembly programming clearly violates the demands for a short time-to-market and high dependability in embedded system design. The goal of this book is to provide new methods and techniques to software and compiler developers, that help to make the necessary step from assembly programming to the use of compilers also in embedded system design. Code Optimization Techniques for Embedded Processors discusses the state-of-the-art in the area of compilers for embedded processors. It presents a collection of new code optimization techniques, dedicated to DSP and multimedia processors. These include: compiler support for DSP address generation units, efficient mapping of data flow graphs to irregular architectures, exploitation of SIMD and conditional instructions, as well as Function Inlining under code size constraints. Comprehensive experimental evaluations are given for real-life processors, that indicate the code quality improvements which can be achieved as compared to earlier techniques. In addition, C compiler frontend issues are discussed from a practical viewpoint. Code Optimization Techniques for Embedded Processors is intended for researchers and engineers active in software development for embedded systems, and for compiler developers in academia and industry.

  • Function Inlining under Code Size Constraints
    Code Optimization Techniques for Embedded Processors, 2000
    Co-Authors: Rainer Leupers
    Abstract:

    In this chapter we consider a performance optimization technique working at the source code level (fig. 7.1). This technique is based on Function Inlining, which is a well-known concept in compiler construction. Function Inlining eliminates Function call overhead by replacing Function calls with copies of Function bodies. While this optimization generally results in higher performance, it also increases the code size.

  • Function Inlining under code size constraints for embedded processors
    International Conference on Computer Aided Design, 1999
    Co-Authors: Rainer Leupers, Peter Marwedel
    Abstract:

    Function Inlining is a compiler optimization that generally increases performance at the expense of larger code size. However, current Inlining techniques do not meet the special demands in the design of embedded systems, since they are based on simple heuristics, and they generate code of unpredictable size. This paper presents a novel approach to Function Inlining in C compilers for embedded processors, which aims at maximum program speedup under a global limit on code size. The core of this approach is a branch-and-bound algorithm which allows one to quickly explore the large search space. In an application study, we show how this algorithm can be applied to maximize the execution speed of an application under a given code size constraint.

  • ICCAD - Function Inlining under code size constraints for embedded processors
    1999 IEEE ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051), 1
    Co-Authors: Rainer Leupers, Peter Marwedel
    Abstract:

    Function Inlining is a compiler optimization that generally increases performance at the expense of larger code size. However, current Inlining techniques do not meet the special demands in the design of embedded systems, since they are based on simple heuristics, and they generate code of unpredictable size. This paper presents a novel approach to Function Inlining in C compilers for embedded processors, which aims at maximum program speedup under a global limit on code size. The core of this approach is a branch-and-bound algorithm which allows one to quickly explore the large search space. In an application study, we show how this algorithm can be applied to maximize the execution speed of an application under a given code size constraint.

Yookun Cho - One of the best experts on this subject based on the ideXlab platform.

  • An Efficient Function Inlining Scheme for Resource-Constrained Embedded Systems
    Journal of Information Science and Engineering, 2012
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    Function Inlining schemes are used to reduce the execution time of a program, but Function Inlining usually increases the code space due to the use of inlined Functions. There are extreme limitations of memory space and battery capacity in embedded systems such as wireless sensor nodes. Function Inlining should be performed selectively. If we reduce the execution time of a program by means of Function Inlining, we can reduce the amount of energy that is consumed. Therefore, Function Inlining is useful in resource-constrained embedded systems. Basic Function Inlining schemes were proposed in the previous studies. However, these schemes were too coarse-grained, and did not analyze the impact of Function Inlining on resource-constrained embedded systems. In this paper, we propose a fine-grained Function Inlining scheme which considers the execution rate of the individual Functions. We also present an analysis of the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory usage. Based on experimental results, we show that the proposed fine-grained Function Inlining scheme can improve the level of energy efficiency.

  • impact of Function Inlining on resource constrained embedded systems
    ACM Symposium on Applied Computing, 2009
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    With the development of computer systems, Function Inlining schemes were used to reduce execution time while increasing codes. In embedded systems such as wireless sensor nodes, there are extreme limitations on memory space and battery power. This is the reason why Function Inlining is useful for maximizing memory utilization while minimizing energy consumption of embedded systems. In the previous works, basic Inlining schemes were proposed, which were adapted to systems with code memory constraints. However, they were too coarse-grained, and did not evaluate the impact of Function Inlining in terms of both energy consumption and code memory utilization in actual systems. In this paper, we propose a fine-grained Function Inlining scheme. We also present the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory overhead. Based on experimental results, we demonstrate that fine-grained Function Inlining can improve the energy efficiency of embedded systems while maximizing code memory utilization.

  • SAC - Impact of Function Inlining on resource-constrained embedded systems
    Proceedings of the 2009 ACM symposium on Applied Computing - SAC '09, 2009
    Co-Authors: Bongjae Kim, Yookun Cho, Jiman Hong
    Abstract:

    With the development of computer systems, Function Inlining schemes were used to reduce execution time while increasing codes. In embedded systems such as wireless sensor nodes, there are extreme limitations on memory space and battery power. This is the reason why Function Inlining is useful for maximizing memory utilization while minimizing energy consumption of embedded systems. In the previous works, basic Inlining schemes were proposed, which were adapted to systems with code memory constraints. However, they were too coarse-grained, and did not evaluate the impact of Function Inlining in terms of both energy consumption and code memory utilization in actual systems. In this paper, we propose a fine-grained Function Inlining scheme. We also present the impact of Function Inlining schemes on resource-constrained embedded systems, in terms of energy consumption and code memory overhead. Based on experimental results, we demonstrate that fine-grained Function Inlining can improve the energy efficiency of embedded systems while maximizing code memory utilization.