[Info-vax] Emulation Performance
David Froble
davef at tsoft-inc.com
Thu Jan 17 16:11:36 EST 2013
Stephen Hoffman wrote:
>
> TL;DR: very little performance data is around; I haven't seen any
> published list. I wouldn't expect the performance of even the best
> available emulator to excel.
>
> On 2013-01-17 08:18:48 +0000, John Wallace said:
>
>> On Jan 17, 1:38 am, Stephen Hoffman <seaoh... at hoffmanlabs.invalid>
>> wrote:
>>> On 2013-01-16 23:13:14 +0000, ChrisQ said:
>>>
>>>> With any vax though, don't expect 3Ghz Xeon performance :-)...
>>>
>>> Or with a 3 GHz Xeon and a software emulator, expect to get VAX
>>> performance. :-)
>>
>>
>> What kind of performance is reasonable to expect from emulated
>> systems?
>
> Hopefully enough performance to get the application(s) ported to newer
> hardware, or replaced.
>
> Put another way, emulation is a means to a goal, whether that's admitted
> or not.
>
> That's because of just what you're looking at; the performance. That,
> and the eventual pain in the rump of maintaining the whole stack.
>
> For an AlphaServer 2100 5/250, I'd look to transfer the licenses over to
> a used EV6 or EV7-class Alpha, and move on. Or port to Itanium, and
> move on. Or some combination of these, and possibly emulation, and a
> port of either the apps or (more commonly) the data.
>
>
>> I know that's a "how long is your piece of string" question,
>> but is it answered anywhere,objectively or anecdotally?
>
> I don't have any good data, and I've not seen any collected list.
>
> It would make sense to run some number of UETP passes on some random
> boxes running various emulators, and scrounge up some numbers. (Maybe
> with ALL, 1 pass, 4 users? At the UETP defaults, at least to start?
> Other suggestions?)
>
> With one case I'm aware of, a half-GHz x86 box (obviously not the
> fastest hardware around) was getting low- to mid-range VAX speeds. The
> most recent simh boot I did was pretty speedy, but (as is usual) hogged
> a whole core, and spun up the fans. (Yes, I'm aware of the VAX MP
> multiprocessing simh fork/port/variant.
> <http://www.oboguev.net/vax_mp/> No, I haven't tried that yet.)
>
>> The test workload on the emulator was three times slower (ie runtime
>> three times longer) [than the original AlphaServer 2100 5/250 -Hoff],
>> which was a bit of a surprise.
>>
>> Is that kind of performance degradation (vs the same workload on
>> antique native hardware) to be expected?
>
> For instruction emulation, that's surprisingly good.
>
> For a JITting emulator, that seems decent performance, but that also
> depends on the app, and on what the app and the OS are doing.
>
> FX!32 was probably one of the most effective designs here, as that could
> call through to the "real" Windows routines.
>
>
>> Does performance vary widely
>> with different emulators?
>
> Yes. Performance does vary. Probably most centrally around support for
> JITting, but also the instruction (in)efficiencies.
>
>> Does the host environment (e.g. VMware vs
>> native) matter much?
>
> Donno. Figure out how well a compute-bound OS does in your chosen
> virtual machine.
>
> Emulation has a very long history in computing. As a stopgap measure.
> As a way-place on the path. As a tool to contend with planning gaps or
> budgetary shortfalls. Until the old software ages out, or the folks
> that want and use it age out. Or until management decides to burn down
> the parts of the organization involved and either rebuild it or sell off
> the assets, or whatever the current euphemism is.
>
> While these are tools that work and that can be useful for some cases,
> I'm generally not a proponent of either translation, or of emulation.
>
> And yes, Java and the other languages that are hosted on the JVM are the
> exception to this. Performance isn't grand, but does pretty well on
> most current boxes. But the JVM stack has had a whole lot more
> development effort than has any of the JITting emulators.
>
>
First understand, I know nothing ....
Consider (as far as I know) what an emulator does. We throw around the
phrase "emulate an Alpha" or whatever. But is it really emulating an
Alpha? Now I'm guessing, and would enjoy reading any corrections, that
the hardware is NOT emulated. What's happening is that the instructions
are emulated to give the same result, from the instructions, that the
hardware would give. But what about Out of Order, pipelines, and some
of the rather esoteric stuff done in CPUs. It's my guess none of this
is present, so the performance from such features is lost even before
getting into the overhead of emulating the instructions.
What does this mean? I haven't a clue ....
More information about the Info-vax
mailing list