Cargando…
Distributed Transactions in CERN’s Accelerator Control System
Devices in CERN’s accelerator complex are controlled through individual requests, which change settings atomically on single Devices. Individual Devices are therefore controlled transactionally. Operators often need to apply a set of changes which affect multiple devices. This is achieved by sending...
Autores principales: | , , , , |
---|---|
Lenguaje: | eng |
Publicado: |
2022
|
Materias: | |
Acceso en línea: | https://dx.doi.org/10.18429/JACoW-ICALEPCS2021-TUPV033 http://cds.cern.ch/record/2809572 |
_version_ | 1780973161842475008 |
---|---|
author | Hoguin, Frederic Deghaye, Stephane Gorbonosov, Roman Lauener, Joel Mantion, Pierre |
author_facet | Hoguin, Frederic Deghaye, Stephane Gorbonosov, Roman Lauener, Joel Mantion, Pierre |
author_sort | Hoguin, Frederic |
collection | CERN |
description | Devices in CERN’s accelerator complex are controlled through individual requests, which change settings atomically on single Devices. Individual Devices are therefore controlled transactionally. Operators often need to apply a set of changes which affect multiple devices. This is achieved by sending requests in parallel, in a minimum amount of time. However, if a request fails, the Control system ends up in an undefined state, and recovering is a time-consuming task. Furthermore, the lack of synchronisation in the application of new settings may lead to the degradation of the beam characteristics, because of settings being partially applied. To address these issues, a protocol was developed to support distributed transactions and commit synchronisation in the CERN Control system, which was then implemented in CERN’s real-time frameworks. We describe what this protocol intends to solve and its limitations. We also delve into the real-time framework implementation and how developers can benefit from the 2-phase commit to leverage hardware features such as double buffering, and from the commit synchronisation allowing settings to be changed safely while the accelerator is operational. |
id | cern-2809572 |
institution | Organización Europea para la Investigación Nuclear |
language | eng |
publishDate | 2022 |
record_format | invenio |
spelling | cern-28095722022-08-10T13:11:14Zdoi:10.18429/JACoW-ICALEPCS2021-TUPV033http://cds.cern.ch/record/2809572engHoguin, FredericDeghaye, StephaneGorbonosov, RomanLauener, JoelMantion, PierreDistributed Transactions in CERN’s Accelerator Control SystemAccelerators and Storage RingsDevices in CERN’s accelerator complex are controlled through individual requests, which change settings atomically on single Devices. Individual Devices are therefore controlled transactionally. Operators often need to apply a set of changes which affect multiple devices. This is achieved by sending requests in parallel, in a minimum amount of time. However, if a request fails, the Control system ends up in an undefined state, and recovering is a time-consuming task. Furthermore, the lack of synchronisation in the application of new settings may lead to the degradation of the beam characteristics, because of settings being partially applied. To address these issues, a protocol was developed to support distributed transactions and commit synchronisation in the CERN Control system, which was then implemented in CERN’s real-time frameworks. We describe what this protocol intends to solve and its limitations. We also delve into the real-time framework implementation and how developers can benefit from the 2-phase commit to leverage hardware features such as double buffering, and from the commit synchronisation allowing settings to be changed safely while the accelerator is operational.oai:cds.cern.ch:28095722022 |
spellingShingle | Accelerators and Storage Rings Hoguin, Frederic Deghaye, Stephane Gorbonosov, Roman Lauener, Joel Mantion, Pierre Distributed Transactions in CERN’s Accelerator Control System |
title | Distributed Transactions in CERN’s Accelerator Control System |
title_full | Distributed Transactions in CERN’s Accelerator Control System |
title_fullStr | Distributed Transactions in CERN’s Accelerator Control System |
title_full_unstemmed | Distributed Transactions in CERN’s Accelerator Control System |
title_short | Distributed Transactions in CERN’s Accelerator Control System |
title_sort | distributed transactions in cern’s accelerator control system |
topic | Accelerators and Storage Rings |
url | https://dx.doi.org/10.18429/JACoW-ICALEPCS2021-TUPV033 http://cds.cern.ch/record/2809572 |
work_keys_str_mv | AT hoguinfrederic distributedtransactionsincernsacceleratorcontrolsystem AT deghayestephane distributedtransactionsincernsacceleratorcontrolsystem AT gorbonosovroman distributedtransactionsincernsacceleratorcontrolsystem AT lauenerjoel distributedtransactionsincernsacceleratorcontrolsystem AT mantionpierre distributedtransactionsincernsacceleratorcontrolsystem |