Author: Abeille, G.     [Abeillé, G.]
Paper Title Page
TUCOCB07 TANGO - Can ZMQ Replace CORBA ? 964
 
  • A. Götz, E.T. Taurel, P.V. Verdier
    ESRF, Grenoble, France
  • G. Abeillé
    SOLEIL, Gif-sur-Yvette, France
 
  TANGO (http://www.tango-controls.org) is a modern distributed device oriented control system toolkit used by a number of facilities to control synchrotrons, lasers and a wide variety of equipment for doing physics experiments. The performance of the network protocol used by TANGO is a key component of the toolkit. For this reason TANGO is based on the omniORB implementation of CORBA. CORBA offers an interface definition language with mappings to multiple programming languages, an efficient binary protocol, a data representation layer, and various services. In recent years a new series of binary protocols based on AMQP have emerged from the high frequency stock market trading business. A simplified version of AMQP called ZMQ (http://www.zeromq.org/) was open sourced in 2010. In 2011 the TANGO community decided to take advantage of ZMQ. In 2012 the kernel developers successfully replaced the CORBA Notification Service with ZMQ in TANGO V8. The first part of this paper will present the software design, the issues encountered and the resulting improvements in performance. The second part of this paper will present a study of how ZMQ could replace CORBA completely in TANGO.  
slides icon Slides TUCOCB07 [1.328 MB]  
 
TUCOCB10 TANGO V8 - Another Turbo Charged Major Release 978
 
  • A. Götz, J.M. Chaize, T.M. Coutinho, J.M. Meyer, F. Poncet, E.T. Taurel, P.V. Verdier
    ESRF, Grenoble, France
  • G. Abeillé, A. Buteau, N. Leclercq, F.E. Picca
    SOLEIL, Gif-sur-Yvette, France
  • S. Cleva, M. Lonza, L. Pivetta, C. Scafuri
    Elettra-Sincrotrone Trieste S.C.p.A., Basovizza, Italy
  • D.F.C. Fernández-Carreiras, S. Rubio-Manrique
    CELLS-ALBA Synchrotron, Cerdanyola del Vallès, Spain
  • I.A. Khokhriakov
    HZG, Geesthacht, Germany
  • S. Perez
    CEA, Arpajon, France
  • D.P. Spruce
    MAX-lab, Lund, Sweden
 
  The TANGO (http://tango-controls/org) collaboration continues to evolve and improve the TANGO kernel. A latest release has made major improvements to the protocol and, the language support in Java. The replacement of the CORBA Notificaton service with ZMQ for sending events has allowed a much higher performance, a simplification of the architecture and support for multicasting to be achieved. A rewrite of the Java device server binding using the latest features of the Java language has made the code much more compact and modern. Guidelines for writing device servers have been produced so they can be more easily shared. The test suite for testing the TANGO kernel has been re-written and the code coverage drastically improved. TANGO has been ported to new embedded platforms running Linux and mobile platforms running Android and iOS. Packaging for Debian and bindings to commercial tools have been updated and a new one (Panorama) added. The graphical layers have been extended. The latest figures on TANGO performance will be presented. Finally the paper will present the roadmap for the next major release.  
slides icon Slides TUCOCB10 [1.469 MB]