Problems porting RSIM

RSIM is an interpreter for Solaris/SPARC v9 application executables. Internally, RSIM is a discrete event-driven simulator based on the YACSIM (Yet Another C Simulator) library from the Rice Parallel Processing Testbed (RPPT).

RSIM is written in a modular fashion using C++ and C for extensibility and portability. Initially, it was developed using Sun systems (Solaris 2.5) on SPARC. It has successfully ported to HP-UX 10 running on a Convex Exemplar and to IRIX running on MIPS. However, porting it to 64-bit or little-endian architectures requires significant additional effort.

We have successfully ported RSIM to GNU/Linux running on x86 architectures. The main problems that we have had to solve were:

  1. Build issues due to differences in libraries and headers between Solaris and Linux.
  2. Byte Ordering Issues.
  3. System call interface differences.
  4. Floating point incompatibilities.

For a more detailed explanation of these issues and how they were solved, please refer to the paper describing RSIM-x86.

Last updated: June, 16th 2005.