Hallelujah!! Thanks for the info. 

What exactly is With Enterprises' stand on server upgrades? For example,
are they going to offer discounts for people who already own Tango2000
professional edition? Or must we fork over the full US$4499.00, as I
believe it states on their website.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Scott Cadillac
Sent: Tuesday, June 11, 2002 3:13 PM
To: Multiple recipients of list witango-talk
Subject: Re: Witango-Talk: Server Threading Upgrade

Your wishes are being answered.

The following is copied from http://www.stonesteps.ca/faq.html , which
is
where the new Witango Server is being worked on by Andre Morozov.

---------------------
Q:What is preemptive threading model and how will it affect the
performance?

A:All incoming application requests are handled in the application
server by
worker threads, which receive requests from the Witango client, retrieve
the
requested application file, process queries associated with the
application
actions, generate the result HTML out of actions' HTML fragments and
send
the results back to the client. The way threads interact between each
other,
the server core and the operating system is called threading model.
There
are two basic kinds of threading models: cooperative and preemptive.

In cooperative threading model, only one thread is active at any given
time.
After working for some short period of time (typically 300 ms), the
active
thread voluntarily pauses and allows another worker thread to process
another request. In preemptive threading model, the operating system
controls the scheduling of all worker threads and allows each one of
them to
become active for even a shorter period of time (typically 30-60 ms),
after
which another thread is made active and so on. The cooperative threading
model has many inherent disadvantages: synchronization delay when
threads
have to be interfaced with the preemptive outside world (e.g. DBMS
servers),
inability to take advantage of multiple processors (CPUs) and
susceptibility
to the potential danger of the active thread not yielding properly and
therefore blocking other worker threads and their requests.

Tango 2000 uses mixed threading model with the server core and all
worker
threads running in the cooperative mode and some of the external
operations,
such as launching command line applications of an External Action,
executed
preemptively. Every time a preemptive task has finished, the cooperative
worker thread that launched it has to synchronize with the rest of the
worker threads before it can continue its life cycle.

The Witango server is a fully preemptive server and is free of the
disadvantages of cooperative threading described above, which means that
those application files that interact with other services (i.e. running
command line applications, SQL queries, etc), will run faster as long as
the
external services do not share the CPU with the application server (e.g.
DBMS is located on another machine). For example, an application file
that
reads/writes large files with a File Action will run faster on a
preemptive
application server because the disk controller uses Direct Memory Access
(DMA) mechanism to transfer disk data into memory and while one worker
thread is waiting for the File Action to complete, all other worker
threads
are processing other queries.

----------------
Q:Will the application server's performance be improved, compared to
Tango
2000?

A:The performance of the application server depends greatly on the
server's
functionality used and on how application files are written. Some
application files will be processed by the Witango server up to 2-3
times
faster, compared with the same files running on Tango 2000. However,
some
applications will not show any improvement in speed at all.

In general, the Witango server has been optimized for better performance
in
many areas, such as variable storage and manipulation for TEXT and ARRAY
variables in non-shared scopes, processing long-running DBMS and
External
Action queries, network communications, meta object functionality,
handling
large DBMS result sets, server's threading model, multithreaded idle
time
processing, etc., to name a few. Those application files that use the
optimized server's components will run faster.

For example, an application file that manipulates a large array located
in
the request scope will take advantage of the variable store
optimizations
for non-shared scopes and will run considerably faster. However, if a
similar array is located in one of the shared scopes, such as the user
scope, there may be no improvement in processing speed at all.

Hope this helps. Cheers..

----- Original Message -----
From: "Cory Whitsett" <[EMAIL PROTECTED]>
To: "Multiple recipients of list witango-talk"
<[EMAIL PROTECTED]>
Sent: Tuesday, June 11, 2002 12:39 PM
Subject: Witango-Talk: Server Threading Upgrade


> I am a current user of Tango2000. My primary complaint about the
server
> is the threading performance. This causes the Tango server to hang
when
> there is an overload of traffic, or if the database is overloaded. The
> latter issue is the primary case. Basically, for one reason or
another,
> a query takes a while to return its results. This, in turn, causes
Tango
> to hang by queuing all requests until the query completes and Tango
can
> serve that particular request.
>
> The Tango server hangs around 2-3 times per week. This usually results
> in having to bounce the Tango server b/c the wait can be anywhere from
> 3-10 minutes.
>
> Has anyone heard of plans by Witango to improve server threading? If
> they have plans to do this, I would be very interested in upgrading to
> their server.
>
> For information concerning our environment, we are running a very
> complex order entry system for about 100 internal users. We have 2
Tango
> servers running on 2 Win2000 server boxes.
>
> Thanks,
> Cory Whitsett
>

________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body

________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body

Reply via email to