Experimental Physics and Industrial Control System
|
Hi,
we at SLS are running multiple (6 or so) IOCs on one RH7.3 Linux
machine. I haven't seen any problems so far. We are using UDP
broadcasts for name resolution (the broadcast address of our IOC server
is in EPICS_CA_ADDR_LIST, not its host address).
Compared to running everything on one big IOC, the advantage is obvious:
one can restart one IOC without killing the others.
You should have enough RAM (you don't want to swap all the time) and CPU
power, of course.
Backdraw: you can easily find out what host is serving a record, but not
what IOC process/port.
On modern Linux kernels, it is also possible to create "virtual network
interfaces", i.e. to assign more that one IP address to the same
physical network interface. It should be possible to run every IOC with
its own virtual interface/addess/hostname. But I have not tried that yet.
Dirk
Jeff Hill wrote:
Hi Mike,
There is a way to do this, but there are also some significant limitations.
They are documented in the CA reference manual, and I have attached an
excerpt. A possible solution to this problem would be to add multicasting
support to the CA server. This probably isn't going to be that hard to do,
but so far there haven't been that many requests for multiple servers on the
same system.
Of course, another possibility will be to just combine N IOCs into one.
Jeff
Unicast Addresses in the EPICS_CA_ADDR_LIST Does not Reliably Contact
Servers Sharing the Same UDP Port on the Same Host
Two servers can run on the same host with the same server port number, but
there are restrictions. If the host has a modern IP kernel it is possible to
have two or more servers share the same UDP port. It is not possible for
these servers to run on the same host using the same TCP port. If the CA
server library detects that a server is attempting to start on the same port
as an existing CA server then both servers will use the same UDP port, and
the 2nd server will be allocated an ephemeral TCP port. Clients can be
configured to use the same port number for both servers. They will locate
the 2nd server via the shared UDP port, and transparently connect to the 2nd
server's ephemeral TCP port. Be aware however that If there are two server's
running on the same host sharing the same UDP port then they will both
receive UDP search requests sent as broadcasts, but unfortunately (due to a
weakness of most IP kernel implementations) only one of the servers will
typically receive UDP search requests sent to unicast addresses (i.e. a
single specific host's ip address).
-----Original Message-----
From: Laznovsky, Michael [mailto:[email protected]]
Sent: Tuesday, June 08, 2004 3:56 PM
To: tech talk
Subject: multiple virtual IOCs with single CA server?
Greetings- when running multiple virtual (i.e. target=solaris) IOCs on
one host, is it possible to configure a single channel access server to
provide all the PVs, rather than having multiple servers all using
different ports?
I can see that difficulties, given that the IOCs run as independent Unix
processes... might an alternative be to daisy-chain the CA servers
somehow
on the same ports? Just speculating here.
thanks,
Mike
-----
Michael P. Laznovsky
mailto:[email protected]
Application Software Developer, ESD ofc: (650) 926-
2924
Stanford Linear Accelerator Center, MS-46 fax: (650) 926-
3515
2575 Sand Hill Road, Menlo Park CA 94025 USA
http://www.slac.stanford.edu
--
Dr. Dirk Zimoch
Swiss Light Source
Paul Scherrer Institut
Computing and Controls
phone +41 56 310 5182
fax +41 56 310 4413
- Replies:
- blockingSockTest.cpp Compiling error guobao shen
- RE: multiple virtual IOCs with single CA server? Jeff Hill
- References:
- RE: multiple virtual IOCs with single CA server? Jeff Hill
- Navigate by Date:
- Prev:
RE: multiple virtual IOCs with single CA server? Jeff Hill
- Next:
JCA problems-entry point in ca.dll not found daniel funken
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
<2004>
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: multiple virtual IOCs with single CA server? Jeff Hill
- Next:
blockingSockTest.cpp Compiling error guobao shen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
<2004>
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|
ANJ, 10 Aug 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|