© University of Kent - Contact | Feedback | Legal | Cookies
The University of Kent, Canterbury, Kent, CT2 7NZ, T +44 (0)1227 764000
tranx86 -- an Optimising ETC to IA32 Translator -----------------------------------------------
F.R.M. Barnes Communicating Process Architectures 2001 (WoTUG 24)
This paper describes tranx86, a program which converts Extended Transputer Code (ETC) from a modified Inmos occam compiler, into IA32 code for execution on the Intel i386 family of processors within the KRoC/Linux system. Several optimisations are employed in an attempt to maximise performance on this family of processors, including optimisations in the CCSP run-time kernel. These include a graph-colouring type register allocation scheme and various inlining of code. While tranx86 is mostly architecture dependent, effort has been made to allow the use of arbitrary schedulers, although currently CCSP is the only fully supported one.
Various benchmark programs are used to compare the performance of this translator with the old system, giving significant time wins in some cases. For the commstime benchmark program on an 800 MHz Pentium-3, the old KRoC/Linux system gave 233 ns per communication (2 context switches); the new one, with optimisations and inlining, gives 67 ns per communication -- more than a 3-fold reduction in overheads.
Download publication 262 kbytes (PostScript)
@inproceedings{1296,
author = {F.R.M. Barnes},
title = {{tranx86 -- an Optimising ETC to IA32 Translator}},
month = {September},
year = {2001},
pages = {265-282},
keywords = {translating ETC IA32 CSP occam},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2001/1296},
publication_type = {inproceedings},
submission_id = {13877_1001338097},
ISBN = {1 58603 202 X},
booktitle = {Communicating Process Architectures 2001},
number = {59},
series = {Concurrent Systems Engineering Series},
publisher = {IOS Press, Amsterdam, The Netherlands},
ISSN = {1383-7575},
refereed = {yes},
editor = {Alan Chalmers and Majid Mirmehdi and Henk Muller},
}