[comp.sys.mac] MacKermit 0.9

fmodwyer@cs.tcd.ie (Frank O'Dwyer , ext. 1695) (09/10/88)

I am using Mac Kermit 0.9 (40)  to talk to a VAX and I find that
the effective speed of file transfer is far too slow.

For example, on a 9600 baud line, downloading a file to the VAX
works at about 1700 effective baud, whereas uploading works at
approx. 4000 baud.   This problem doesn't occur when using Kermit
between a PC and the same VAX, so I assume the problem lies with
Mac Kermit, not the VAX.  Anybody got any ideas what I can do to
improve things?

Thanks,

Frank O'Dwyer,
Dept. Of Computer Science,
Trinity College Dublin.

dplatt@coherent.com (Dave Platt) (09/29/88)

In article <13825@cs.tcd.ie> fmodwyer@cs.tcd.ie (Frank O'Dwyer , ext. 1695) writes:
> 
> I am using Mac Kermit 0.9 (40)  to talk to a VAX and I find that
> the effective speed of file transfer is far too slow.
> 
> For example, on a 9600 baud line, downloading a file to the VAX
> works at about 1700 effective baud, whereas uploading works at
> approx. 4000 baud.   This problem doesn't occur when using Kermit
> between a PC and the same VAX, so I assume the problem lies with
> Mac Kermit, not the VAX.  Anybody got any ideas what I can do to
> improve things?

You don't mention whether you're running under MultiFinder or not;
that may make a difference.  MacKermit 0.9(40) is MultiFinder-friendly,
and takes pains to call GetNextEvent() frequently while receiving
packets...  it does so several times during each packet, to ensure that
other applications are able to get some time-slices during downloads.

I suspect [haven't looked at the sources] that MacKermit is reading
packets by starting up an asynchronous read on the modem port, and then
"going to sleep" for some time (via a WaitNextEvent() call, if this
service is available).  It would then check the received-character
queue when awakened, pull out as much of the packet as had been
received, and (if the packet is now complete) would send an
acknowledgement and request the next packet.  This method of
programming has the advantage that it doesn't tie up the computer
during downloads, but it could introduce a significant delay at the end
of each packet.  Consider that at 9600 baud (almost 1000
characters/second) a single 95-character Kermit packet will be received
in about 1/10 second.  If MacKermit awakens only 3 or 4 times/second to
check the serial-port queue, then it could introduce a delay two or
three times as long as the actual packet-transmission time.  This could
account for the low download bandwidth you're seeing.

A PC-based version of Kermit, written to run in a single-task environment
unconcerned with sharing the machine with other programs, could simply
poll the serial port in a tight loop;  it would be able to respond
and acknowledge instantly when the end-of-packet signal came through.

The bad news: there's probably no way to reconfigure MacKermit to respond
in less time to the end-of-packet condition, unless you're willing to go
into the code with TMON or MacNosy, figure out the polling strategy, and
patch the code [or are willing to download the entire set of sources
from Columbia and rewrite them].

You could try running MacKermit in a "Unifinder" (non-MultiFinder)
environment using System 4.2, which does not support WaitNextEvent if
MultiFinder isn't active;  this might trick MacKermit into scanning the
queue more frequently.  The same trick won't work in System 6.0, which
provides WaitNextEvent even if MultiFinder isn't being used.

The good news: you can download the file in much less time, using MacKermit,
if your Vax's version of Kermit is reasonably up-to-date.  The Kermit
protocol allows for "extended" packet size.  The most recent set of
C-Kermit protocol sources (which are used in MacKermit 0.9(40) and in
the last year's worth of Unix Kermit releases) can support packets of up
to about 1000 characters.  These large packets are a _real_ win when
downloading files over 9600-baud lines, because the two Kermits will need
to turn the line around (receiver sending an "ack" packet) only about
1/10 as often as if the default, 95-byte packets are used.  This will
reduce the MacKermit acknowledge-delay to insignificance.

I've downloaded files from a Vax running Ultrix, to a Mac running
MacKermit 0.9(30-something)b4, at 9600 baud, using these large
packets..  The effective transfer rate was close to 900 bytes/second...
and the connection was via a TIP (TCP/IP port switch running TELNET)
that introduced a significant delay to the "ack" packet.  Downloads
were at least 5 times faster than with the default 95-byte packets.

To enable this mode, go into MacKermit's Settings menu, pick the Protocol
command, and set the "Receive packet size" to a large number (I believe
that values up to 1000 can be specified).  If your Vax's Kermit is
up-to-date (i.e. if it includes the C-Kermit protocol modules that grok
large packets) it will honor the request for large packets, and will
download the file in big chunks.

If your Vax's Kermit doesn't honor the Mac's request, then it's rather
out-of-date, and should probably be updated;  you can probably acquire
a more recent version from the Kermit archives at Columbia University
(I believe they've been moved to the "cunixc.columbia.edu" machine, but
I'm not certain of that).

Hope this helps...
-- 
Dave Platt                                             VOICE: (415) 493-8805
  USNAIL: Coherent Thought Inc.  3350 West Bayshore #205  Palo Alto CA 94303
  UUCP: ...!{ames,sun,uunet}!coherent!dplatt     DOMAIN: dplatt@coherent.com
  INTERNET:   coherent!dplatt@ames.arpa,    ...@sun.com,    ...@uunet.uu.net

rwi@naucse.UUCP (Robert Wier) (09/29/88)

Subject: Re: MacKermit 0.9(40) problem?
Newsgroups: comp.sys.mac
Summary: Kermit extended packet size
References: <13825@cs.tcd.ie> <10735@coherent.com>



 I will second the extended packet size as making a *BIG* difference
 in the effective speed of Kermit.  Going to a 999 byte packet (the
 maximum allowed on our VAX) nearly doubled the throughput. Still,
 at 9600 baud, I'm only getting about 425 bytes/sec.  I'm not sure
 where the bottleneck is.

 I also have used XMODEM (128 byte packets) and it seems to run 
 effectively about 30% faster than Kermit, but unfortunately it
 doesn't have the nice user interface that Kermit does.  For 
 example, I need to be able to wildcard my file specifications
 but can't do multiple file transfers at once with my version
 of Xmodem.  I also tried Xmodem with 1K packets and found about
 a 15% increase in speed.  

 The table below summarizes the results of my experiments:

 File size transferred: 134,561 bytes.
 Nominal transmission speed (Mac<->Vax) 9600 baud

 protocol            time required    effective thruput

 Xmodem (128 byte packets)  3:30           640 bytes/sec
 Xmodem (1k byte packets)   3:00           747 bytes/sec
 Kermit (1k packets)        5:17           424 bytes/sec


  So, Xmodem with 1k packets is achieving about 80% of the 
  maximum possible speed (assuming no overhead).  Kermit is
  doing a rather dismal 44%.  If anyone has other suggestions
  on speeding up Kermit (or Xmodem - I havn't tried Ymodem or
  Zmodem)  I'd be very interested.

 - thanks



       Bob Wier -- College of Engineering & Technology
                   Northern Arizona University
                   NAU Box 15600
                   Flagstaff, Arizona 86011

                   {...!att!arizona!naucse!rwi  or  ...!arizona!naucse!rwi}
                   {IN%"rwi%naucse.UUCP@arizona.EDU"}
                   602-523-2052 (office) or 602-523-5252 (messages)
-----\                       --------
      \                 ----/                   ----------------------------
       ----            /                        | for ID picture,          |
           \       ----     Grand Canyon        | see Sept. MacWorld, p.141| 
            ---\  /                             | or  Sept. MacUser,  p.120|
                \/                              |__________________________|
 My opinions are completely my own, and not the university's, etc. etc.

macman@ethz.UUCP (Danny Schwendener) (09/29/88)

In article <13825@cs.tcd.ie> fmodwyer@cs.tcd.ie (Frank O'Dwyer , ext. 1695) writes:
>
>I am using Mac Kermit 0.9 (40)  to talk to a VAX and I find that
>the effective speed of file transfer is far too slow.
>... Anybody got any ideas what I can do to
>improve things?

If this hasn't been done already, I suggest that you install a VAX Kermit
version that supports long (1K) packets. Check with the Kermit Server
at Columbia University, NY to get the newest VAX Kermit version.
MacKermit 0.9 does support long packets. 

-- Danny

+-----------------------------------------------------------------------+
| Mail   :   Danny Schwendener, ETH Macintosh Support Center            |
|            Swiss Federal Institute of Technology, CH-8092 Zuerich     |
| Bitnet :   macman@czheth5a      UUCP   :   {cernvax,mcvax}ethz!macman |
| Ean    :   macman@ifi.ethz.ch   Voice  :   yodel three times          |
+-----------------------------------------------------------------------+

reeck@lclark.UUCP (David Reeck) (09/30/88)

	Mr. Platt, you seem to know quite a bit about the current Kermit  
situation. We need to download kermit files from the Vax here to a Mac II
in the front room of our academic computer dept. MacKermit .9X ( I think we have
X = 4...) will not run on the Mac II! Is this the most recent version? Can we 
get a version that does not crash on the II? Right now we are `evaluating' QVT
and Red Ryder (9.4). Both crash, but at least they run on the II for a while.
	
	BTW, thanks for the packet size tip! 

	If anybody else has any pertinent info, respond, I'll post the 
relevant responces.

		Dave
		!tektronix!reed!lclark!reeck

ajq@mace.cc.purdue.edu (John O'Malley) (10/02/88)

In article <293@lclark.UUCP> reeck@lclark.UUCP (David Reeck) writes:
>
>MacKermit .9X ( I think we have X = 4...) will not run on the Mac II! Is 
>this the most recent version? Can we get a version that does not crash on 
>the II?
>		Dave
>		!tektronix!reed!lclark!reeck

It won't?  Uh oh, that must mean that the Mac II we have at the office
has been misinformed ... I run MacKermit 0.9(40) on it daily!

Seriously, I haven't had any problems running the latest version of Kermit
on our II, which still has System 5.0 installed.  I run Kermit on my
Mac Plus at home under System 6.0, also with no problems.


John O'Malley           / Macintosh          / Purdue University / (317)
mace.cc.purdue.edu!ajq / Project Specialist / Computing Center  / 494-9944

mmccann@hubcap.UUCP (Mike McCann) (10/03/88)

So far the only problem I have had with Mac Kermit 0.9(40) is that I am
unable to run it under MultiFinder.  Im using a MacII w/2M ram and
system version 5.0.  Any suggestions on what I am doing wrong or is
MacKermit not compatible with MultiFinder?  Also, what changes can I
make to the packet size to increase file transfer efficiency at 9600
baud?

Thanks,

-- 
Mike McCann                        Internet = mmccann@hubcap.clemson.edu 
Poole Computer Center (Box P-11)       UUCP = gatech!hubcap!mmccann
Clemson University                   Bitnet = mmccann@clemson.bitnet
Clemson, S.C. 29634

sam@ncsuvx.ncsu.edu (Your Friend Sam Moore) (10/06/88)

In article <293@lclark.UUCP> reeck@lclark.UUCP (David Reeck) writes:
>
>	Mr. Platt, you seem to know quite a bit about the current Kermit  
>situation. We need to download kermit files from the Vax here to a Mac II
>in the front room of our academic computer dept. MacKermit .9X ( I think we have
>X = 4...) will not run on the Mac II! Is this the most recent version? Can we 
>get a version that does not crash on the II? Right now we are `evaluating' QVT
>and Red Ryder (9.4). Both crash, but at least they run on the II for a while.
>	
>	BTW, thanks for the packet size tip! 
>
>	If anybody else has any pertinent info, respond, I'll post the 
>relevant responces.
>
>		Dave
>		!tektronix!reed!lclark!reeck


Dave:

I have three versions of MacKermit running on my MacII. I am not on it now
and can't remember the exact versions, but the oldest two have the keymapping
done by a seperate program. The newest one is 0.94 I think. I have no problems
with downloading or emulation.

/==============================================================================\
|| Sam Moore              ||      ^^                                          ||
|| NCSU Computing Center  ||      O O      "I'm just a man looking for        ||
|| Raleigh, NC            ||     / \\       a command line, that's all,       ||
|| sam@ncsuvx.ncsu.edu    ||    / /<..>     just an over the hill 29          ||
|| (919) 737-2517 {Work}  ||   / /          year old..."                      ||
|| (919) 469-8737 {Home}  ||                - confession of an elderly hacker ||
\==============================================================================/