Академический Документы
Профессиональный Документы
Культура Документы
Abstract
Operation of the new RFX machine has started in fall 2004, using a completely renewed version of its MDSplus data
acquisition system. The new system runs under Linux and is highly distributed, employing approximately 20 machines which
perform local data acquisition and communicate with a central server. The overall experience after several months of operation
has been quite successful. In particular, the following aspects represent the major changes, besides the migration from VMS to
Linux:
- exclusive usage of the MDSplus scripting language TDI to write the device-specific application code;
- exclusive usage of Java, and in particular of jScope, for data display in the control room and in the offices;
- exclusive usage of Java for the coordination tools.
2006 Elsevier B.V. All rights reserved.
Keywords: Data acquisition; Distributed systems; Java interface
1. Introduction
RFX-mod has begun operation in December 2004,
after a 5-year shutdown during which several major
improvements have been performed. During the shutdown, the data acquisition system has been completely
renewed by migrating from VMS to a distributed Linux
architecture. Both the old and the new data acquisition
systems are based on the MDSplus data acquisition
0920-3796/$ see front matter 2006 Elsevier B.V. All rights reserved.
doi:10.1016/j.fusengdes.2006.04.037
1796
lowing configurations:
(1) export the Server File System through NFS so that
every computer can access the pulse file as if it
were local;
(2) let the computers access pulse files via mdsip, the
MDSplus protocol for exporting pulse file data. No
file system is exported in this case;
(3) let the corresponding pulse file, hosting cratespecific data be stored in the crates local disk. In
this case the pulse file is handled by MDSplus as a
remote subtree.
The first solution has been excluded because it did
not provide good performance. To access pulse file
data using the second solution, it is only necessary to
change an environment variable used by MDSplus to
locate the directory containing the pulse files. If such
a variable contains an IP address, the data access layer
of MDSplus handles transparently mdsip communication, and no change is needed in the user code. The
third solution may look interesting because, in principle, it reduces network traffic and performs faster data
storage. On the other side, handling tens of different
subtrees in different disks raises a serious management
problem for backup and data integrity. For these reasons, the second solution has been chosen, storing most
pulse files in the central Linux server and using RAID
0 + 1 configuration to ensure data integrity. The mdsip
servers are activated as xinet services and, despite the
fact that 100 Mbytes of data are written into the pulse
file per shot, we never experienced a failure in data
access after more than 1 year of operation once the
system has been properly configured.
4. Java tools
In RFX-mod, the jDispatcher [9] tool is used for
the coordination of the data acquisition tasks during
the pulse sequence. While in the old system most data
acquisition tasks were running in the same servers hosting the pulse files, the duty of the dispatcher tool was
mainly the coordination of tasks within the same VMS
cluster, and therefore OS-specific communication was
used. The current situation is much different, since 12
cPCI CPUs and 3 Windows PCs are involved during
the sequence. A coordination tool will therefore need
to handle concurrent threads making network communication, and such implementation requires much care
because of the possibility of race conditions and deadlocks. For this reason, we decided to develop a Java
tool, even though a similar tool was already available in the MDSplus package. The experience confirmed our impression: thanks to the clean definition of
threads and network communication in the Java framework, the jDispatcher tool has been developed in less
than 2 months, and since its initial delivery, no bugs
related to race conditions appeared. The experience in
1797
1798
instead of opening an X session to some Linux workstation in the control room, in order to better balance
resource consumption.
As a matter of policy, the MDSplus package is not
installed in the office PCs, unless there is a compelling
reason, such as the usage of Matlab, which requires
MDSplus running locally to access experiment data.
JScope represents therefore the only MDSplus tool
installed in every office PC. In order to reduce the
maintenance time, and to keep the tool up-to-date in
every installation, Java Web Start is used to distribute
the latest jScope version. Every time a user starts a
jScope application Java Web Start checks whether the
local version of jScope is up-to-date, possibly downloading the latest version. This utility has been used
originally within RFX, but now it is also available
to external users at http://www.igi.pd.cnr.it/wwwexp/
technologies/MDSplusTools/jScopeDownload.html.
Some users installed jScope also in their personal
PC at home. To guarantee security in data access, and
avoiding therefore punching holes in the RFX firewall,
the secure shell (ssh) tunnelling option has been added
to jScope. With ssh tunnelling, a local port can be configured such as if it were a remote connection, being
communication handled by ssh in a secure way.
5. Conclusions
The paper reported the experience gained after about
1 year of operation at RFX-mod, using new hardware
architecture and novel software tools. The good performance of many MDSplus tools did not represent
a surprise because of the successful experiences in
the usage of MDSplus in several machines. The peculiar aspect of our application is the extensive usage of
Java tools in a demanding environment. Previously, the
usage of Java at RFX had been limited to test cases and
small applications. Our experience has been so positive that we would recommend using extensively Java
in the development of data acquisition systems. Java
cannot of course replace every component: low level
data access and intensive computation represent crit-
Acknowledgement
This work was supported by the European Communities under the contract of Association between
EURATOM/ENEA. The views and opinions expressed
herein do not necessarily reflect those of the European
Commission.
References
[1] T.W. Fredian, J.A. Stillerman, MDSplus. Current developments
and future directions, Fusion Eng. Technol. 60 (2002) 229233.
[2] O. Barana, A. Luchetta, G. Manduchi, C. Taliercio, Recent developments of the RFX control and data acquisition system, Fusion
Eng. Technol. 71 (2004) 9599.
[3] SBS Tecnologies, Inc., CT7 Datasheet at http://www.sbs.
com/products/73/.
[4] INCAA Computers BV. DIO2 timing device at http://www.
incaacomputers.com/products/pdf/dio2-web.pdf.
[5] INCAA Computers BV. TR10 Transient Recorder at http://www.
incaacomputers.com/products/pdf/tr10-web.pdf.
[6] T.W. Fredian, M. Greenwald, J.A. Stillerman, Migration of alcator C-Mod computer infrastructure to Linux, Fusion Eng. Technol. 71 (2004) 8993.
[7] B.P. Duval, X. Llobet, P.F. Isoz, J.B. Lister, B. Marletaz, Ph.
Marmillod, J.-M. Moret, Evolution not revolution in the TCV
tokamak control and acquisition system, Fusion Eng. Des. 5657
(2001) 10231028.
[8] O. Barana, A. Luchetta, G. Manduchi, C. Taliercio, Java development in MDSplus, Fusion Eng. Technol. 60 (2002) 311
317.
[9] O. Barana, A. Luchetta, G. Manduchi, C. Taliercio, A generalpurpose java tool for action dispatching and supervision in
nuclear fusion experiments, IEEE Trans. Nucl. Sci. 49 (2) (2002).