School of Computing

tranx86 - an Optimising ETC to IA32 Translator

F.R.M. Barnes

In Alan Chalmers, Majid Mirmehdi, and Henk Muller, editors, Communicating Process Architectures 2001, number 59 in Concurrent Systems Engineering Series, pages 182-196. IOS Press, Amsterdam, The Netherlands, September 2001.

Abstract

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)

Bibtex Record

@inproceedings{1296,
author = {F.R.M. Barnes},
title = {{tranx86 -- an Optimising ETC to IA32 Translator}},
month = {September},
year = {2001},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
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},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014