Difference between revisions of "ERSAP"

From epsciwiki
Jump to navigation Jump to search
 
(49 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
<br><hr><br>
 
<br><hr><br>
<div class="orbitron"><font size="+1">System Overview:</font></div>''ERSAP is a reactive actor/micro-service based data-stream processing framework,  a hardware/software system that is capable of processing unbounded streams of continuous data at scale over distributed heterogeneous resources in real-time. The goal of ERSAP is to design a framework that will provide a flexible environment to design and, most importantly, allow future evolution of the data processing applications. An environment that will encourage implementation of new ideas and new technologies while preserving integrity of existing data processing pipelines. ERSAP encourages to perform functional decomposition of the overall data processing application into small, mono-functional artifacts/actors. Artifacts that are easy to understand, develop, deploy and debug. The fact that these artifacts/actors are programmatically independent, they can be scaled and optimized independently, which is impossible to do for components of the monolithic application. One of the important advantages is the ERSAP fault tolerance, where independent actors can come and go on the stream without forcing entire application to crash, and it is easy to locate the faulty actor in the chain. Due the fact that the actors are loosely coupled, and that the message (the only coupling between actors) carries the context, they can run on heterogenous environments with different memory and/or processing power requirements. The active actors can be physically separated from each other, so the deployment of a new set of actors does not put the whole system on hold, and the updates are less intrusive. The development of the actors and actor engines handling specific areas of the system can be performed by independent development teams, with their own release cycles and with it’s own pace.  
+
<div class="orbitron"><font size="+1">System Overview:</font></div>'' ERSAP is a reactive actor/micro-service based data-stream processing framework,  a hardware/software system that is capable of processing unbounded streams of continuous data at scale over distributed heterogeneous resources in real-time. The goal of ERSAP is to design a framework that will provide a flexible environment to design and, most importantly, allow the future evolution of data processing applications. An environment that will encourage the implementation of new ideas and new technologies while preserving the integrity of existing data processing pipelines. ERSAP encourages to perform functional decomposition of the overall data processing application into small, mono-functional artifacts/actors. Artifacts that are easy to understand, develop, deploy, and debug. Fact that these artifacts/actors are programmatically independent, they can be scaled and optimized independently, which is impossible to do for components of the monolithic application. One of the important advantages is the ERSAP fault tolerance, where independent actors can come and go on the stream without forcing the entire application to crash, and it is easy to locate the faulty actor in the chain. Due to the fact that the actors are loosely coupled and that the message (the only coupling between actors) carries the context, they can run on heterogenous environments with different memory and/or processing power requirements. The active actors can be physically separated from each other, so the deployment of a new set of actors does not put the whole system on hold, and the updates are less intrusive. The development of the actors and actor engines handling specific areas of the system can be performed by independent development teams, with their own release cycles, and at their own pace. The ERSAP is not a ground-up design. It is based on our experience of micro-service-based, off-line data processing applications that are running for more than a decade in CLAS12, and CODA distributed, triggered-based DAQ that is running for more than a quarter of a century at the JLAB. Also, it will be utilizing the JANA framework to develop high-performance data processing engines.  
The ERSAP is not a ground up design. It is is based on our experience of micro-service based, off-line data processing applications that are running more than a decade in CLAS12, and CODA distributed, triggered based DAQ that is running more than quarter of a century at the JLAB. Also it will be utilizing JANA framework to develop high performance data processing engines.  
+
<br><hr><br>
 +
<div class="orbitron"><font size="+0">Genealogy:</font></div>
 +
[https://userweb.jlab.org/~gurjyan/presentations/ersap/ERSAP_genealogy.pdf History and computing mode]
 +
<br><hr><br>
 +
<div class="orbitron"><font size="+0">Roadmap:</font></div>
 +
[https://userweb.jlab.org/~gurjyan/presentations/ERSAPv2.0.pdf ERSAP v2.0]
 +
<br><hr><br>
 
<table align="left" cellpadding="3" width="100%">
 
<table align="left" cellpadding="3" width="100%">
 
   <tr bgcolor="#d0e0d0">
 
   <tr bgcolor="#d0e0d0">
Line 14: Line 20:
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
       <li>[https://github.com/JeffersonLab/JANA2 JANA2]
+
       <li>[https://github.com/JeffersonLab/ersap-java.git ERSAP Java]
       <li>[https://coda.jlab.org/drupal/ CODA]
+
       <li>[https://github.com/JeffersonLab/ersap-cpp.git ERSAP C++]
       <li>[https://claraweb.jlab.org/clara/ CLARA]
+
      <li>[https://github.com/JeffersonLab/ersap-vtp.git ERSAP CODA engines]
      <li>DataLake
+
      <li>[https://github.com/JeffersonLab/ersap-jana.git ERSAP JANA engines]
       <li>[[SAMPA SRO]]
+
       <li>[https://github.com/JeffersonLab/ersap-sampa.git ERSAP SAMPA SRO engines]
 +
      <li>[https://github.com/JeffersonLab/ersap-actor ERSAP actors]
 +
    <li>ERSAP DataLake
 +
       <li>[[SAMPA SRO]] INDRA-ASTRA project instructions
 
       </ul>
 
       </ul>
 
     </td>
 
     </td>
Line 25: Line 34:
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
 +
      <li>[[SRO Meetings]]
 
       <li>[[TriDAS-ERSAP Collaboration Meetings]]
 
       <li>[[TriDAS-ERSAP Collaboration Meetings]]
 
       </ul>
 
       </ul>
Line 30: Line 40:
 
      
 
      
 
</table>
 
</table>
<br>
+
<br><hr><br>
 +
<div class="orbitron"><font size="+1">Presentations/Papers:</font></div>
 +
 
 +
{| class="wikitable"
 +
|-
 +
!Date
 +
!Presenter
 +
!Event
 +
!Link
 +
|-
 +
|2023-11-28
 +
|Vardan Gyurjyan
 +
| [https://indico.bnl.gov/event/20010/ SRO-X1 Workshop]
 +
| [https://indico.bnl.gov/event/20010/timetable/#20231128.detailed pdf]
 +
|-
 +
|2023-06-17
 +
|Vardan Gyurjyan
 +
| ERSAP: Towards Better NP Data-Stream Analytics with Flow-Based Programming. IEEE Transactions on Nuclear Science, June 2023, Volume: 70, Issue: 6, Pages: 966-970, Print ISSN: 0018-9499, Online ISSN: 1558-1578 
 +
| Digital Object Identifier:[https://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=10.1109%2FTNS.2023.3242548  10.1109/TNS.2023.3242548]
 +
|-
 +
|2023-04-08
 +
|Vardan Gyurjyan
 +
| [https://indico.jlab.org/event/459/contributions/11397/ 26TH International Conference on Computing in High Energy & Nuclear Phusics]
 +
| [https://indico.jlab.org/event/459/contributions/11397/ pptx]
 +
|-
 +
 
 +
|-
 +
|2022-08-04
 +
|Vardan Gyurjyan
 +
| [https://indico.cern.ch/event/1109460/ 23rd IEEE Real Time Conference]
 +
| [https://indico.cern.ch/event/1109460/contributions/4893265/attachments/2489038/4274259/ersap_rt2022.pdf pdf]
 +
|-
 +
|-
 +
|2021-12-08
 +
|Vardan Gyurjyan
 +
| [https://indico.phy.ornl.gov/event/112/ EIC Workshop IX on Streaming Readout]
 +
| [https://indico.phy.ornl.gov/event/112/contributions/476/attachments/493/1343/sro-IX.pptx pptx]
 +
|-
 +
|2021-04-30
 +
|Vardan Gyurjyan
 +
| [https://indico.mit.edu/event/1/ EIC Workshop VIII on Streaming Readout]
 +
| [https://indico.mit.edu/event/1/contributions/80/attachments/37/61/gyurjyan_sro_VIII.pptx pptx]
 +
|-
 +
|2020-11-8
 +
|Vardan Gyurjyan
 +
| [https://indico.bnl.gov/event/9458/ EIC SRO Workshop VII]
 +
| [https://indico.bnl.gov/event/9458/contributions/43291/attachments/31389/49551/sro_workshop_VII.pptx pptx]
 +
|-
 +
|2020-10-12
 +
|Vardan Gyurjyan
 +
| [https://indico.cern.ch/event/737461/ 22nd IEEE Real Time Conference]
 +
| [https://indico.cern.ch/event/737461/contributions/3725113/attachments/2105289/3568916/RT2020_gyurjyan_33.pdf poster]
 +
|-
 +
|2020-03-12
 +
|Vardan Gyurjyan
 +
| ERSAP Design Requirements
 +
| [https://jeffersonlab.sharepoint.com/:w:/s/SciComp/EQxPpI6h8VRFtlSKLHeLWusBYCOQUySVpEBKCIlR09u5wA?email=davidl%40jlab.org&e=NCC22f docx]
 +
|-
 +
|2020-01-01
 +
|Graham Heyes
 +
| JLAB SRO paper
 +
|[https://jeffersonlab.sharepoint.com/:b:/r/sites/SciComp/Shared%20Documents/EPSCI/SRO/Streaming/20191217%20Streaming%20Paper/20200302%20JLab%20Streaming%20Readout.pdf?csf=1&e=kDX7yr pdf]
 +
|}

Latest revision as of 14:34, 4 December 2023

Welcome to the ERSAP Wiki

(Environment for Real-time Streaming, Acquisition and Processing)



System Overview:

ERSAP is a reactive actor/micro-service based data-stream processing framework, a hardware/software system that is capable of processing unbounded streams of continuous data at scale over distributed heterogeneous resources in real-time. The goal of ERSAP is to design a framework that will provide a flexible environment to design and, most importantly, allow the future evolution of data processing applications. An environment that will encourage the implementation of new ideas and new technologies while preserving the integrity of existing data processing pipelines. ERSAP encourages to perform functional decomposition of the overall data processing application into small, mono-functional artifacts/actors. Artifacts that are easy to understand, develop, deploy, and debug. Fact that these artifacts/actors are programmatically independent, they can be scaled and optimized independently, which is impossible to do for components of the monolithic application. One of the important advantages is the ERSAP fault tolerance, where independent actors can come and go on the stream without forcing the entire application to crash, and it is easy to locate the faulty actor in the chain. Due to the fact that the actors are loosely coupled and that the message (the only coupling between actors) carries the context, they can run on heterogenous environments with different memory and/or processing power requirements. The active actors can be physically separated from each other, so the deployment of a new set of actors does not put the whole system on hold, and the updates are less intrusive. The development of the actors and actor engines handling specific areas of the system can be performed by independent development teams, with their own release cycles, and at their own pace. The ERSAP is not a ground-up design. It is based on our experience of micro-service-based, off-line data processing applications that are running for more than a decade in CLAS12, and CODA distributed, triggered-based DAQ that is running for more than a quarter of a century at the JLAB. Also, it will be utilizing the JANA framework to develop high-performance data processing engines.



Genealogy:

History and computing mode




Roadmap:

ERSAP v2.0




Projects Meetings




Presentations/Papers:
Date Presenter Event Link
2023-11-28 Vardan Gyurjyan SRO-X1 Workshop pdf
2023-06-17 Vardan Gyurjyan ERSAP: Towards Better NP Data-Stream Analytics with Flow-Based Programming. IEEE Transactions on Nuclear Science, June 2023, Volume: 70, Issue: 6, Pages: 966-970, Print ISSN: 0018-9499, Online ISSN: 1558-1578 Digital Object Identifier:10.1109/TNS.2023.3242548
2023-04-08 Vardan Gyurjyan 26TH International Conference on Computing in High Energy & Nuclear Phusics pptx
2022-08-04 Vardan Gyurjyan 23rd IEEE Real Time Conference pdf
2021-12-08 Vardan Gyurjyan EIC Workshop IX on Streaming Readout pptx
2021-04-30 Vardan Gyurjyan EIC Workshop VIII on Streaming Readout pptx
2020-11-8 Vardan Gyurjyan EIC SRO Workshop VII pptx
2020-10-12 Vardan Gyurjyan 22nd IEEE Real Time Conference poster
2020-03-12 Vardan Gyurjyan ERSAP Design Requirements docx
2020-01-01 Graham Heyes JLAB SRO paper pdf