Miltu-core CPUs, threads vs AST driven approaches
- From: JF Mezei <jfmezei.spamnot@xxxxxxxxxxxx>
- Date: Tue, 02 May 2006 16:44:54 -0400
Say you are writing some internet server that can accept multiple
simultaneous connections.
One can write an AST driven application where the parameter given to the
AST points to a control block that fully describes the connection
context for that remote user. Or, you could go the multi threaded way
where each thread acts independantly and waits for input (while other
threads may be busy).
On a single CPU, there wouldn't be much difference, unless the
processing for each transaction takes long time. For AST driven, nothing
happens until one transaction completes and the next AST kicks in. For
thread driven the pre-emptive multitasking can suspend one thread and
give some CPU to another thread.
Now, when it comes to multi-core CPUs, is it fair to say that the multi
threaded approach will win hands down because it will be able to make
full use of the multiple cores whereas the AST will all be serialised on
one CPU ?
Are there plans for VMS to allow an application to define whether it
wants one serial AST queue (as is the case now) or whether it accepts
ASTs to be delivered concurrently ?
Obviosuly, by default, it would need to have the one serialised queue
because many applications are designed with the expectation of only one
AST ever executing at any point in time. But having the option to allow
multiple concurrent ASTs would be VERY interesting.
.
- Follow-Ups:
- Re: Miltu-core CPUs, threads vs AST driven approaches
- From: Bob Gezelter
- Re: Miltu-core CPUs, threads vs AST driven approaches
- From: Bill Todd
- Re: Miltu-core CPUs, threads vs AST driven approaches
- From:
- Re: Miltu-core CPUs, threads vs AST driven approaches
- Prev by Date: Re: Availability Manager V2.5-B Data Collector kit
- Next by Date: Re: Free 4100's
- Previous by thread: Automatically create a default DEC$DISLAY at startup
- Next by thread: Re: Miltu-core CPUs, threads vs AST driven approaches
- Index(es):
Relevant Pages
|