A lightweight fault-tolerant middleware for a Subaru Telescope second generation observation control system

A lightweight fault-tolerant middleware for a Subaru Telescope second generation observation control system
复制标题

斯巴鲁望远镜第二代观测控制系统的轻量级容错中间件

DOI:
10.1117/12.788052
复制
发表时间:
2008
期刊:
Ground-based and Airborne Instrumentation for Astronomy VIII
影响因子:
--
通讯作者:
Sam Streeper
Sam Streeper
中科院分区:
--
文献类型:
--
作者:
E. Jeschke;B. Bon;Takeshi Inagaki;Sam Streeper

文献摘要

被引文献

相似文献

斯巴鲁望远镜正在开发第二代观测控制系统,专门解决目前斯巴鲁OCS的一些缺陷。关注的两个领域是复杂性和故障处理。当前的系统有超过1000个专用OCS进程,分布在十几个主机上,并且没有提供任何自动故障转移。此外,手动故障转移非常困难,因此很少尝试。我们的第二代OCS几乎完全用Python编写,并建立在斯巴鲁开发的基于XML-RPC协议的中间件之上。这一框架提供了以下好处:- 在标准Python之外几乎没有依赖性-提供几乎无缝的远程代理面向对象接口-提供可选的用户/密码认证和/或SSL加密-从客户端应用程序使用非常简单-无连接,并协助主机群集上的通信和服务的透明故障转移-具有满足广泛需求的合理性能-允许多种语言绑定,对于动态语言,不需要接口存根文件OCS的“后端”(服务端)即将完成,并且已经在两个独立的OCS工程运行期间成功使用。它仅由几十个进程组成,并在商用x86 Linux服务器机架上提供自动故障转移功能。我们提供了中间件设计及其故障转移功能的概述。一些数据使用的中间件协议的通信性能。
Subaru Telescope is developing a second-generation Observation Control System that specifically addresses some of the deficiencies of the current Subaru OCS. Two areas of concern are complexity and failure handling. The current system has over 1000 dedicated OCS processes spread across a dozen hosts and provides nothing in the way of automated failover. Furthermore, manual failover is so fraught with difficulty that it is rarely attempted. Our Generation 2 OCS is written almost entirely in Python and builds upon a Subaru-developed middleware based on the XML-RPC protocol. This framework offers the following benefits: - has very few dependences outside of standard Python - provides a nearly seamless remote proxy object-oriented interface - provides optional user/password authentication and/or SSL encryption - is extremely simple to use from client applications - is connectionless, and assists transparent failover of communications and services on a cluster of hosts - has reasonable performance for a wide range of needs - allows multiple language bindings - for dynamic languages, requires no interface stub files The "back end" (service side) of the OCS is nearing completion, and has already been used successfully during two separate OCS engineering runs. It is comprised of only a couple dozen processes, and provides automated failover capabilities on a rack of commodity x86 Linux servers. We provide an overview of the middleware design and its failover capabilities. Some data on the performance of communications using the middleware protocol is included.