Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new approach to the minimum cut problem
Journal of the ACM (JACM)
MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
An affine partitioning algorithm to maximize parallelism and minimize communication
ICS '99 Proceedings of the 13th international conference on Supercomputing
Computation offloading to save energy on handheld devices: a partition scheme
CASES '01 Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems
High Performance Compilers for Parallel Computing
High Performance Compilers for Parallel Computing
Introduction to Algorithms
Saving portable computer battery power through remote process execution
ACM SIGMOBILE Mobile Computing and Communications Review
Interprocedural Def-Use Associations for C Systems with Single Level Pointers
IEEE Transactions on Software Engineering
Data collection and restoration for heterogenenous process migration
Software—Practice & Experience
Task Allocation for Distributed Multimedia Processing on Wirelessly Networked Handheld Devices
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Shade: A Fast Instruction Set Simulator for Execution Profiling
Shade: A Fast Instruction Set Simulator for Execution Profiling
A compilation framework for power and energy management on mobile computers
LCPC'01 Proceedings of the 14th international conference on Languages and compilers for parallel computing
Hi-index | 0.00 |
This paper presents a compiler analysis for data communication for the purpose of transforming ordinary programs into ones that run on distributed systems. Such transformations have been used for process migration and computation offloading to improve the performance of mobile computing devices. In a client-server distributed environment, the efficiency of an application can be improved by careful partitioning of tasks between the server and the client. Optimal task partitioning depends on the tradeoff between the computation workload and the communication cost. Our compiler analysis, assisted by a minimum set of user assertions, estimates the amount of data communication between procedures. The paper also presents experimental results based on an implementation in the GCC compiler. The static estimates for several multimedia programs are compared against dynamic measurement performed using Shade, a SUN Microsystem's instruction-level simulator. The results show a high precision of the static analysis for most pairs of the procedures.