public inbox for linux-msdos@vger.kernel.org
 help / color / mirror / Atom feed
* Status Update : Deployment of DOSEMU Application Server
@ 2008-10-29  5:43 Shaw Tong Tan
  2008-10-29 14:33 ` Alain M.
  0 siblings, 1 reply; 16+ messages in thread
From: Shaw Tong Tan @ 2008-10-29  5:43 UTC (permalink / raw)
  To: linux-msdos

A while back I sent a request to the list for advice on running such a setup.  I received several kind suggestions from the list members.  I am now in 1st week of deployment and decide to submit a status update.

My thanks to all the people who pass me info and solutions.

Basic:
1.  Multi-user DOS clipper-based software.
2.  User access from LAN and WAN.
3.  DOS-based dot matrix printing for LAN and WAN clients.

There are currently 2 major ways to do this.
A.  Microsoft Terminal Server/Citrix Products.
B.  Open Source Software.

Option A is known to work.  It does incur higher cost, hardware and software and license management overhead.  I was asked to explore Option B as priority choice.  In case it doesn't work then fall back to Option A.

Observation
1.  Server hardware Quad-Core
2.  Server software CentOS 5.x (32-bit)
3.  DOSEMU with FreeDOS (32-bit) standard RPM download from website
4.  To address the 100% CPU utilization issue, I have used a combination of specialized dos program, Linux NICE value tuning and CPU affinity control to achieve acceptable response to enduser
5.  Initially I use PUTTY and REMOTE ANSi Printing with lpansi for printing
6.  I ran into problem where small size print jobs are ok, but big size print job always hang.
7.  After fruitless workaround attempts and decided against running custom kernels, I made the decision not to use REMOTE ANSI Printing, thus creating a new problem on how to pass print job from server to remote WAN client over the Internet.
8.  Implement OPENVPN for remote WAN clients with DSL connection.
9.  With VPN tunnel open, setup std CUPS printer with SMB config for remote client printer.
10.  Tune the setup to minimize packet fragment, timeout and firewall rules issues.

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: Status Update : Deployment of DOSEMU Application Server
@ 2008-10-30  9:02 Shaw Tong Tan
  2008-10-30 13:42 ` Ivan Baldo
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Shaw Tong Tan @ 2008-10-30  9:02 UTC (permalink / raw)
  To: linux-msdos

Sorry I was in a hurry in previous post so I now continue with the remaining.

A.  Printing.

1.  PUTTY + REMOTE ANSI Printer + LPANSI was originally preferred since it makes the access and printing very easy for WAN clients.

2.  The plan failed when a client try to print LARGE Print job 32-300Kbytes.  The DOS Application still response but client print queue hung waiting.  Example a 32Kbytes job, it receive approx 4K+ then hung.  I tried various combination sometimes it send close to 8K then hung.

3.  I have 4 variations of lpansi scripts/compiled program for test. Due to the way how I pipe the lpansi program for printing, I also suspect Linux PIPE SIZE setting.  However, to change the setting I need to recompile the kernel, after some thought I gave up the idea.

4.  OPENVPN was eventually chosen so that I can have unrestricted network access between server and WAN clients.  Using CUPS setup, the large print job printed OK.

5.  One printing downside is CUPS printer do not tolerate long downtime,  Example: let say remote client printed some pages in application but failed to put papers in the printer, and nobody care to fix it.  After some failed attempts, CUPS daemon noted the problematic status and stop the printer.  When remote user later attempt to print again, the printing will have problem because the printer has been stopped on the CUPS side.  Admin basically have to access CUPS page to clear jobs and restart the printer.  A potential hassle for remote office with a lot of novice users and no onsite IT support, complaining about random failed printing.

B.  WAN considerations

1.  Having WAN clients add layers of complication due to the security protection issue.  This is also why I 2nd guessing on opening SSH port facing the Internet.

2.  If support spending is allowed, I would honestly prefer using a vendor-supplied low-cost VPN solution and let the vendor deal with all the complication.  Alternative open solutions (IPCOP/M0N0Wall) available but the VPN reading and related config issues are too numerous for me to address in a short timeframe.  I may revisit them in future.


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: Status Update : Deployment of DOSEMU Application Server
@ 2008-10-30 17:14 Manfred Scherer
  2008-11-02 22:40 ` Claudia Neumann
  0 siblings, 1 reply; 16+ messages in thread
From: Manfred Scherer @ 2008-10-30 17:14 UTC (permalink / raw)
  To: linux-msdos

For the 100% CPU-load problem caused by clipper programs and other dos programs, I use
two small patches in dosemu 1.3.4:

--- ./base/bios/int16.c.ORIG    2006-10-31 21:28:54.000000000 +0100
+++ ./base/bios/int16.c 2006-12-31 13:37:10.000000000 +0100
@@ -118,7 +118,11 @@
       trigger_idle();
     else
       reset_idle(0);
-    idle(500, 20, 0, INT2F_IDLE_USECS, "int16");
+    /* 2006-12-13
+     * dbase3+, word4.0, .... CPU-load is to heavy during idle. --ms
+     * idle(500, 20, 0, INT2F_IDLE_USECS, "int16");
+     */
+    idle(10, 20, 0, INT2F_IDLE_USECS, "int16");
   } else {
     reset_idle(1);
   }

--- ./base/async/int.c.ORIG     2006-11-12 02:20:26.000000000 +0100
+++ ./base/async/int.c  2007-01-22 15:12:30.000000000 +0100
@@ -1232,7 +1232,13 @@
 #endif

   case 0x2C: {                   /* get time & date */
-      idle(2, 100, 0, INT2F_IDLE_USECS, "dos_time");
+      /*
+       * 2004/08/20, 2006/11/25
+       * waiting loops, like 'wait until time ...' call never a trigger_idle()
+       * but 90% cpu load. --ms
+       * idle(2, 100, 0, INT2F_IDLE_USECS, "dos_time");
+       */
+      idle(0, 20, 0, INT2F_IDLE_USECS, "dos_time");
       return 0;
     }

maybe this can solve your 100% CPU-load too.

Manfred


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: Status Update : Deployment of DOSEMU Application Server
@ 2008-11-08 16:49 Manfred Scherer
  2008-11-09  8:24 ` Claudia Neumann
  0 siblings, 1 reply; 16+ messages in thread
From: Manfred Scherer @ 2008-11-08 16:49 UTC (permalink / raw)
  To: linux-msdos

Hi Claudia!

actually my linux kernel is 2.6.27
AFAIK since kernel 2.6.23 a new scheduler is active:
-----------
Citation from kernel source:
sched-design-CFS.txt:
   the CFS scheduler has a much stronger handling of nice levels and
   SCHED_BATCH: both types of workloads should be isolated much more
   aggressively than under the vanilla scheduler.
-----------
Maybe this can bee a reason for the different behavoir between kernel 2.6.18 vs 2.6.24.

Anyway for my used programs this makes no different in the runtime behavior for all
kernels 2.6.*.
My patches works for for me in all kernel versions.

Which programs causes more than 90% CPU consumption in your case?

Regards
Manfred

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2008-11-09  8:24 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-29  5:43 Status Update : Deployment of DOSEMU Application Server Shaw Tong Tan
2008-10-29 14:33 ` Alain M.
2008-10-29 18:36   ` Andrew Joakimsen
2008-10-29 21:15     ` Alain M.
2008-10-29 21:47       ` Andrew Joakimsen
2008-10-30  1:57   ` Shaw Tong Tan
2008-10-31  0:10     ` Andrew Joakimsen
2008-10-31  2:59       ` Shaw Tong Tan
  -- strict thread matches above, loose matches on Subject: below --
2008-10-30  9:02 Shaw Tong Tan
2008-10-30 13:42 ` Ivan Baldo
2008-10-30 13:43 ` Alain M.
2008-10-30 13:45 ` Alain M.
2008-10-30 17:14 Manfred Scherer
2008-11-02 22:40 ` Claudia Neumann
2008-11-08 16:49 Manfred Scherer
2008-11-09  8:24 ` Claudia Neumann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox