Efficient fair queueing using deficit round-robin
IEEE/ACM Transactions on Networking (TON)
System-level power optimization: techniques and tools
ACM Transactions on Design Automation of Electronic Systems (TODAES)
A recursive algorithm for low-power memory partitioning
ISLPED '00 Proceedings of the 2000 international symposium on Low power electronics and design
Data and memory optimization techniques for embedded systems
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Heterogeneous memory management for embedded systems
CASES '01 Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems
Memory Issues in Embedded Systems-on-Chip: Optimizations and Exploration
Memory Issues in Embedded Systems-on-Chip: Optimizations and Exploration
The Ubiquitous Provisioning of Internet Services to Portable Devices
IEEE Pervasive Computing
Constructing Applications from Reusable Components
IEEE Software
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
Gprof: A call graph execution profiler
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Embedded Software Engineering: The State of the Practice
IEEE Software
The future of multiprocessor systems-on-chips
Proceedings of the 41st annual Design Automation Conference
The changing usage of a mature campus-wide wireless network
Proceedings of the 10th annual international conference on Mobile computing and networking
Software Reuse Research: Status and Future
IEEE Transactions on Software Engineering
Intra-task scenario-aware voltage scheduling
Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems
How to bridge the abstraction gap in system level modeling and design
Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design
Rendering of X3D content on mobile devices with OpenGL ES
Proceedings of the eleventh international conference on 3D web technology
Proceedings of the conference on Design, automation and test in Europe: Proceedings
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Energy-efficient dynamic memory allocators at the middleware level of embedded systems
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Journal of Systems Architecture: the EUROMICRO Journal
SCOPES '07 Proceedingsof the 10th international workshop on Software & compilers for embedded systems
SPRINT: a tool to generate concurrent transaction-level models from sequential code
EURASIP Journal on Applied Signal Processing
Proceedings of the 2008 Asia and South Pacific Design Automation Conference
PATMOS'07 Proceedings of the 17th international conference on Integrated Circuit and System Design: power and timing modeling, optimization and simulation
A framework for automatic parallelization, static and dynamic memory optimization in MPSoC platforms
Proceedings of the 47th Design Automation Conference
Hi-index | 0.00 |
Development of new embedded systems requires tuning of the software applications to specific hardware blocks and platforms as well as to the relevant input data instances. The behaviour of these applications heavily relies on the nature of the input data samples, thus making them strongly data-dependent. For this reason, it is necessary to extensively profile them with representative samples of the actual input data. An important aspect of this profiling is done at the dynamic data type level, which actually steers the designers choice of implementation of these data types. The behaviour of the applications is then characterized, through an analysis phase, as a collection of software metadata that can be used to optimize the system as a whole. In this paper we propose to represent the behaviour of data-dependent applications to enable optimizations, rather than to analyze their structure or to define the engineering process behind them. Moreover, we specifically limit ourselves to the scope of applications dominated by dynamically allocated data types running on embedded systems. We characterize the software metadata that these optimizations require, and we present a methodology, as well as appropriate techniques, to obtain this information from the original application. The optimizations performed on a complete case study, utilizing the extracted software metadata, achieve overall improvements of up to 42% in the number of cycles spent accessing memory when compared to code optimized only with the static techniques applied by GNU G++.