[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference decalp::rtrnotes

Title:Reliable Transaction Router
Moderator:TALER::DESHMUKH
Created:Tue Dec 12 1989
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:695
Total number of notes:2564

692.0. "in doubt aske ..." by CARDHU::BOURAKOFF (MCS/IM Switzerland 761-4820) Thu May 29 1997 11:14

    I am using a concurrent server, that mean for me multiple copies of
    the same server process who can run on the same node.
    Now 1 process can have x channels or x process can have 1 channel
    right ? I just don't rember how can I set that choice :-(
    
    Pierre
T.RTitleUserPersonal
Name
DateLines
692.1programming choiceDECALP::KLAVINSEd Klavins, RTR EngineeringThu May 29 1997 17:2814
>     I am using a concurrent server, that mean for me multiple copies of
>     the same server process who can run on the same node.
>     Now 1 process can have x channels or x process can have 1 channel
>     right ? I just don't rember how can I set that choice :-(
>     
    Each process can have at least one channel. Eg. you can have 10
    processes each with just 1 channel open, or 10 processes each with 10
    channels open. 
    
    This is just a matter of programming (the server application, usually). 
    One approach could be to have a command line parameter specifying how
    many channels you want to open. 
    
    ed
692.2Concurrent Server problemCARDHU::BOURAKOFFMCS/IM Switzerland 761-4820Thu May 29 1997 18:355
    Thanks Ed, I know how to assign a channel to one process, but I don't
    know how to assign 10 channels to 1 process :-(
    Do you have an example ?
    
    Pierre
692.3DECALP::KLAVINSEd Klavins, RTR EngineeringFri May 30 1997 00:018
    We're probably talking past each other with different terminology
    here... But when you say you assign a channel to a process, I assume
    this means "opening a channel". (i.e. calling rtr_open_channel from the 
    program). But I'm not sure this is what you mean? Can you give an
    example?
    
    ed
 
692.4Like Colombo just another question :-)CARDHU::BOURAKOFFMCS/IM Switzerland 761-4820Fri May 30 1997 10:3623
    Yes Ed, you are right if I call rtr_open_channel with option concurrent
    I will have 1 process and 1 channel on the server, if I repeat that
    command I will have (x) channels and (x) process on the server (1
    channel assign to 1 process).
    What I am missing is :
    -	if I want just 1 process but with (x) channels declared for that 
    	process on the server, how can I do that ?
    - 	if I need more process on my concurrent server is the creation of
    	those process is automatic or do I have to declare another channel
    Let me give you an example using another product :
    With ACMS you can define a min/server and a max/server, ACMS will
    create servers if the workload is heavy, and will release those servers
    when the transactions are low between the limit of min/server and
    max/server (min/server are the limit or permanent servers created by
    ACMS)
    Well in the doc on 'concurrent server definition' I can read :
    "Similar transactions on the same node ..."
    "1 process (x) channels or (x) process each of those 1 channel"
    
    Or I complety missunderstand the use of "Concurrent Server"
    
    Thank you for you help
    Pierre
692.5DECALP::KLAVINSEd Klavins, RTR EngineeringFri May 30 1997 15:2524
    Ah, now I'm getting an idea of where your headed! 
    
    RTR as such doesn't have a mechanism to control server processes in
    this way. I guess server processes are considered as independent
    application entities, and RTR has no idea on what they're supposed to
    do, how they're started, etc.
    
    At the moment, server creation needs to be done explicitly outside of
    RTR. So if the operator observes that there's a heavy load on existing 
    servers at the moment, s/he will have to enter the command to start
    another server, or trigger the existing servers to open another
    channel (if they have been programmed that way) -- there are many ways 
    this could be done and it's entirely up to the application how it is done.
    
    If you wanted to automate this now, about the best I can think of is to 
    write a DCL script (csh, whatever) which will regularly do a $RTR SHO
    FAC/COUNT=... (or whatever) to get the relevant info from RTR, and then 
    decide on whether to start/stop another application server. 
    
    This is an area that is being looked at though, and we will probably
    see improvements in RTR that should make this sort of automation easier to
    setup.
    
    ed
692.6merciCARDHU::BOURAKOFFMCS/IM Switzerland 761-4820Fri May 30 1997 16:322
    Thank you Ed for your time and explaination.
    Pierre