Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!sdd.hp.com!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!emory!hubcap!fpst From: kenton@decvax.dec.com (Jeff Kenton OSG/UEG) Newsgroups: comp.parallel Subject: Re: Byte order in tight coupled systems. Message-ID: <1991Jun18.193731.4911@hubcap.clemson.edu> Date: 18 Jun 91 18:17:01 GMT References: <1991Jun18.173855.29052@hubcap.clemson.edu> Sender: usenet@decvax.dec.com (Usenet News System) Reply-To: kenton@decvax.dec.com (Jeff Kenton OSG/UEG) Organization: Digital Equipment Corporation - Nashua, NH Lines: 34 Approved: parallel@hubcap.clemson.edu In article <1991Jun18.173855.29052@hubcap.clemson.edu>, andy@research.canon.oz.au (Andy Newman) writes: |> Basically we have a tightly coupled (i.e., shared memory) system |> with two processors, one little-endian, the other big-endian. |> We were going to fix it in hardware but that didn't work as |> expected so its up to us software people to attack it. |> |> Before we do anything ourselves has anyone developed any tools for |> dealing with this sort of situation? Any ideas would be appreciated. |> Some musings on the subject: . You already discovered that the problem is dependent on the specific data items and their layout in memory. Unless you severely restrict structure layouts, you must deal with the problem item by item. . If you are willing to run only Fortran and restrict yourself to Fortran formatted I/O the runtime I/O package will have the necessary size information to do the proper byte swapping. . You don't say which two processors you are using, but several of the current chips will allow you to run individual processes reverse- endian. It might save you grief in the long run to find a way to run all relevant processes the same endian. 88000's and the newer MIPS chips allow this (others probably do). . Are you sure it's too late to go back and re-design the hardware? ----------------------------------------------------------------------------- == jeff kenton Consulting at kenton@decvax.dec.com == == (617) 894-4508 (603) 881-0011 == -----------------------------------------------------------------------------