ICALEPCS 2005 - WE2.4-6I ALMA Common Software Status and Development G.Chiozzi a, A.Caproni a e, R.Cirami e,P.Di Marcantonio e,D.W.Fugate d, S.Harrington.

Slides:



Advertisements
Similar presentations
Oct, 26 th, 2010 OGF 30, NSI-WG: Network Service Interface working group Web Services Overview Web Services for NSI protocol implementation
Advertisements

SPIE 2006 – Application d evelopment using the ALMA Common Software G.Chiozzi a, A.Caproni a e, R.Cirami e,P.Di Marcantonio e, D.W.Fugate d, S.Harrington.
Spring, Hibernate and Web Services 13 th September 2014.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
NRAO/ESO videocon, Feb.12, 2004 ACS ALMA Common software G.Chiozzi and the ACS team.
CORBA Controls Workshop, Grenoble 9-11 October, 2002 ACS CORBA-based Common Software for ALMA and other projects G.Chiozzi*, B.Gustafsson*, B.Jeram*, P.Sivera*
Towards a Generic Platform for Developing CSCL Applications Using Grid Infrastructure by Santi Caballé Open University of Catalonia Barcelona, Spain with.
ProActive Task Manager Component for SEGL Parameter Sweeping Natalia Currle-Linde and Wasseim Alzouabi High Performance Computing Center Stuttgart (HLRS),
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
JSLEE. What is JSLEE ? is an event oriented application middleware. Its main job is to receive events from external resources and deliver these events.
The middleware that makes real time integration a reality.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
–Streamline / organize Improve readability of code Decrease code volume/line count Simplify mechanisms Improve maintainability & clarity Decrease development.
ACS Logging System Concepts and Example H.Sommer (Restructured, based on slides from previous years) UTFSM Valparaiso, Chile, Nov ACS Logging System.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
ADASS XI Sept30-Oct3, 2001 The ALMA Common Software (ACS) as a basis for a distributed software development G.Raffi, G.Chiozzi (ESO), B.Glendenning (NRAO)
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
The ALMA Common Software: a developer friendly CORBA-based framework G.Chiozzi d, B.Jeram a, H.Sommer a, A.Caproni e, M.Pesko bc, M.Sekoranja b, K.Zagar.
An Introduction to Software Architecture
ALMA Common Software Basic Track Introduction to the ACS Framework.
6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.
50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching.
Integrating the CERN laser alarm system with the ALMA common Software SPIE, Orlando, May 2006 Integrating the CERN LASER Alarm System with the ALMA Common.
第十四章 J2EE 入门 Introduction What is J2EE ?
The Role of Cosylab and the J. Stefan Institute in ACS Presented at 1st ACS Workshop, March 3rd, 2004 by Mark Pleško.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Data Distribution Service as an alternative to CORBA Notification Service for the Alma Common Software Jorge A. Avarias Alfaro (ALMA UTFSM group/NRAO)
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Developing the control system for the 40m OAN radiotelescope with ACS Observatorio Astronómico Nacional P. de Vicente, Rubén Bolaño, Laura Barbas January.
ICALEPCS Archamp 08 – 09 October, 2005 ACS Alarm system prototype Alessandro Caproni.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
ICALEPCS 2001 Nov , 2001 ACS Common Software for the ALMA Project G.Chiozzi, B.Gustafsson, B.Jeram, P.Sivera – ESO M.Plesko, M.Sekiranja, G.Tkacik,
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
ALMA Common Software Basic Track A walk through ACS functionality.
Computing Division Requests The following is a list of tasks about to be officially submitted to the Computing Division for requested support. D0 personnel.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Developing the control system for the 40m OAN radiotelescope with ACS Observatorio Astronómico Nacional P. de VicenteOctober 2005.
What is Eclipse? Official Definition: Eclipse Evolution
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
5-Oct-051 Tango collaboration status ICALEPCS 2005 Geneva (October 2005)
Mantid Stakeholder Review Nick Draper 01/11/2007.
Medicina, 07/10/ NURAGHE/ESCS: Telescope driving subsystem Andrea Orlati.
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
A middleware-neutral common services software infrastructure Steve Wampler National Solar Observatory ICALEPCS’2005.
OpenCCM: Status and Work plan Dr. Philippe Merle LIFL - INRIA ObjectWeb Architecture Meeting, Grenoble, 21 – 22.
Garching - 15th - 19th January, 2007 ACS: status and latest development The ACS Team.
Real-Time Operating System Design
August 20, 2002 Applying RT-Policies in CORBA Component Model Nanbor Wang Department of Computer Science Washington University in St. Louis
1st ACS Workshop UTFSM, Valparaiso, Chile ACS Course The Big Picture of ACS H. Sommer, G.Chiozzi.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop ACS Container/Component Model.
ESO - G.Chiozzi ESO Instrumentation Software Workshop VLT Control Software …and beyond.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
Online Software November 10, 2009 Infrastructure Overview Luciano Orsini, Roland Moser Invited Talk at SuperB ETD-Online Status Review.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Hierarchical Architecture
An Introduction to Software Architecture
Chapter 4: Threads.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
From Use Cases to Implementation
Presentation transcript:

ICALEPCS WE2.4-6I ALMA Common Software Status and Development G.Chiozzi a, A.Caproni a e, R.Cirami e,P.Di Marcantonio e,D.W.Fugate d, S.Harrington b, B.Jeram a, M.Pesko c, M.Sekoranja c, H.Sommer a, K.Zagar c a ESO b NRAO c Cosylab d U.Calgary e INAF-AOT

2 ICALEPCS WE2.4-6I ALMA Common Software Status Contents What is ACS? Where are we? Main features Platforms Highlights of the last two years Projects and community Conclusion Component/Container model Event Handling and Notification Channel Threading support Real time Bulk Data Simulation Alarm System Task and parameters GUIs Benchmarking

3 ICALEPCS WE2.4-6I ALMA Common Software Status What is ACS? ACS is a software infrastructure for the development of distributed systems based on the Component/Container paradigm common application framework and design patterns, not just libraries well tested software that avoids duplication make upgrades and maintenance reasonable common development environment and tools

4 ICALEPCS WE2.4-6I ALMA Common Software Status Where are we? Developed for ALMA and used by several other projects. ACS is based on a kernel of software contributed by cosylab and developed for ANKA. Our collaboration started in Trieste at ICALEPCS ½ of allocated development effort spent until now Total allocated ~25 man years + additional external contribution (~10). 9 th release Extensively used in the field: –ALMA Test Interferometer and labs –ALMA software integrations –Other projects

5 ICALEPCS WE2.4-6I ALMA Common Software Status Main Features ACS provides the basic services needed for object oriented distributed computing. Among these: –Transparent remote object invocation –Object deployment and location based on a container/component model –Distributed error and alarm handling –Distributed logging –Distributed events The ACS framework is based on CORBA and built on top of free CORBA implementations.

6 ICALEPCS WE2.4-6I ALMA Common Software Status Supported Platforms Operating system: Linux, RH-E + other flavours Real-time: RTAI and VxWorks Languages: C++, JAVA, Python CORBA middleware: TAO (& ACE) (C++), JacORB (Java), Omniorb (Python), CORBA services. Embedded ACS Container: PC104, Debian, 300Mhz Geode, 256MB RAM, 256 MB flash (CosyLAB microIOC)

7 ICALEPCS WE2.4-6I ALMA Common Software Status Policy and License: LGPL The strategy to provide common features to our users is: –Use as much as possible open-source tools, instead of implementing things. Do not reinvent the wheel Do not pay for licenses –Identify the best way to perform a certain task among the many possibilities –Wrap with convenience and unify APIs ACS is distributed under LGPL license

8 ICALEPCS WE2.4-6I ALMA Common Software Status Highlights of the Last Two Years New in ACS for: developers to use in their code: libraries, convenience classes, utilities to improve the quality of the code test/integration/administrators, transparently from application code (i.e. in principle transparent to Component developers)

9 ICALEPCS WE2.4-6I ALMA Common Software Status Component Container Evolution/Cleanup Container Services –Full separation between Container and Container Services –Cleaner interfaces –Easier to replace Container implementation –The most important services provided now by the ContainerServices are… Component life cycle –Plain instantiation of Components not sufficient –Standard lifecycle state machine introduced for the Container to manage Components lifecycle interface: init() cleanUp() container Comp functional interface: observe() container service interface getComponent(“CompB”); Logger getLogger();

10 ICALEPCS WE2.4-6I ALMA Common Software Status Master Component ALMA subsystems interact with the Executive. Executive treat all in the same way.  Lifecycle for subsystems, not only components Fits smoothly into acs concept: -each subsystem needs a mastercomponent -it is a component with a specific interface -ACS defines the underlying state machine Implementation: -a generator (using open-architectureware) maps UML to state machines -generator creates convenience base classes -state machine has been refined in a couple of design iterations The introduction of the Master Component has been very effective. Cost of prototype generator not higher than cost of developing the MasterComponent in code

11 ICALEPCS WE2.4-6I ALMA Common Software Status Event Handling and Notification Channel Events are widely used in ALMA for synchronization and asynchronous, *-to-* communication. Decoupling of Consumers and Suppliers Very easy interface: –Supplier classes –Consumer classes Contract based on IDL data structures. Strong naming conventions and checking tools Administrative interface Quality of service

12 ICALEPCS WE2.4-6I ALMA Common Software Status Threading Support Many Components have a multi-threaded structure Management of threads was a source of problems Developed easy-to-use threading classes: –Override a run() method –Use the thread manager Based on ACE Threads in C++, concurrent library in Java

13 ICALEPCS WE2.4-6I ALMA Common Software Status A change in paradigm! Real-time Support VxWorks → TICS Entire LCU in real-time OS ACS provides complete Container/Component in real- time environment Support will probably remain for other projects (VLT) RTAI → ALMA RT Kernel inside Linux Component not real-time ↔ small time-critical functions in Kernel. Less code in real-time, but more complex to debug ACS provides easy: –Communication with kernel modules –Logging from kernel modules –Kernel module management

14 ICALEPCS WE2.4-6I ALMA Common Software Status Bulk Data Transfer Requirements from the correlator: –64 MB (megabyte)/sec Based on CORBA A/V streaming service TAO C++ implementation Very easy interface, based on our use cases No CORBA A/V visible See poster: PO Achieved Performance Gigabit P2P Ethernet BD throughput around 800 Mbits/s (~100 MB/s) requirements fulfilled CORBA throughput around then 500 Mbit/s (~ 55 MB/s) Estimated gain in the throughput around 30%

15 ICALEPCS WE2.4-6I ALMA Common Software Status Simulation Why simulation? –Distributed development –Features or entire subsystems not yet available –Test a subsystem in isolation Simulation of Components from IDL interface spec. Dumb default or “intelligent” simulation See presentation: WE4A.2-5O

ICALEPCS WE2.4-6I ALMA Common Software Status CERN Laser ACS Alarm System: Laser Feasibility prototype to re-use CERN Laser Alarm System (TH2.3-7O) Keep the same API Reuse the Laser Alarm Console ACS Component/Container replaces J2EE acsjms implements jms for ACS on top of Notification Channel IDL interfaces replace EJB interfaces Reimplementatio n of Laser interfaces The challenge: reuse a complete subsystem/service in a very different software infrastructure

17 ICALEPCS WE2.4-6I ALMA Common Software Status Tasks and Parameters ACS is used in ALMA also as data reduction infrastructure framework Requirement: data reduction to be started as a stand-alone process. A program which starts-up, performs processing and shuts down. Implementation: –Stand alone executable –Static container –Works with and without ACS suite Input parameters are complex data sets: –Parameter set definition (xml) –Parameter set instantiation (xml) –Validation –Parsing

18 ICALEPCS WE2.4-6I ALMA Common Software Status GUIs A LabView prototype has been implemented ACS Supports ABeans development with an Eclipse plug-in Some projects are using Qt Different projects and different subsystems have different requirements!

19 ICALEPCS WE2.4-6I ALMA Common Software Status Performance and Benchmarking ACS has performance requirements to satisfy Changes to code and upgrade of external libraries can affect performance Created performance measurements and reporting framework Performance of Component to Component communication, notification channel, logging system…

20 ICALEPCS WE2.4-6I ALMA Common Software Status ACS installations and projects

21 ICALEPCS WE2.4-6I ALMA Common Software Status The ACS community HPT Hexapod Telescope (Germany → Chile) Sardinian Radio Telescope (Italy) OAN 30m (Spain) ALMA (Chile) ANKA (Germany) APEX (Chile)

22 ICALEPCS WE2.4-6I ALMA Common Software Status ICALEPCS - 2 nd ACS Workshop

23 ICALEPCS WE2.4-6I ALMA Common Software Status Conclusion Core concepts very stable In use in ALMA and other projects: we have been getting a lot of useful feedback A lot of work to do: –Most packages available, but features incomplete –In particular scalability and performance issues. We know what to do. –Make easier the life of developers: abstract concepts, code generation (ACS code generation developed by community). Having a user’s base in addition to our main project has provided important feedback, cross-fertilization of concepts and ideas and contributed to software quality

24 ICALEPCS WE2.4-6I ALMA Common Software Status Questions (& Answers) MO2.2-1IThe ALMA Computing Project – Update and Management Approach WE2.4-6IThe ALMA Common Software ACS Status and Developments WE3A.3-6OThe ALMA Telescope Control System WE4A.2-5OA generic software interface simulator for ALMA common software PO Transmitting huge amounts of data design implementation and performance of the bulk data transfer mechanism in ALMA ACS PO Migration from ACS 1.1 to ACS 4 at ANKA PO ALMA Correlator Real-Time Data Processor TH2.3-7OFirst Operational experience with Laser (K.Sigerud, CERN) ICALEPCS Papers

25 ICALEPCS WE2.4-6I ALMA Common Software Status Reserve slides

26 ICALEPCS WE2.4-6I ALMA Common Software Status Performance Average C++ throughput: 1500 event/s (100 bytes) Average C++ throughput: 3500 event/s (100 bytes)