Reducing program image size by extracting frozen code and data
Daniel Citron, Gadi Haber, et al.
EMSOFT 2004
The problem of producing efficient parallel programs against different possible execution orders or schedulings is addressed. Our method emphasizes experimental modifications of the machine parameters, using a parallel simulator, so that by a proper choice of the simulator parameters, the user can detect potential harmful schedulings. Two types of time statistics named ideal and effective times are defined. We show that the gap between them can be used to detect whether the current scheduling is a possible cause for a performance degradation. This allows the user to make a more "compact" search of the huge space of all possible schedulings. This search for "bad" schedulings is done by allowing the user to change the simulation's parameters, in particular, the context-switch delay and the scheduling policy. The main objective of the Simparc simulator is to help the programmer develop efficient parallel programs independent of the hardware which will be used. Therefore, the article includes a set of typical experiments with the simulator, covering the main factors for bad schedulings. Altogether, the simulator and the experiments form a methodology for detecting possible bottlenecks of performance degradation.
Daniel Citron, Gadi Haber, et al.
EMSOFT 2004
Yosi Ben-Asher, G. Haber
Journal of Parallel and Distributed Computing
Yosi Ben-Asher, Yaniv Eytani, et al.
PADTAD 2006
Yosi Ben Asher, Tomer Gal, et al.
Automated Software Engineering