Comments (6)
OK I found the example "plotPulseEnergy". So for each analysis function that wants to send data we send a separate ZMQ message?
If so, it would be nice to coordinate this to reduce the number of dropped messages on the GUI...
#!python
Data
|
LCLSTranslator
\
EventTranslator
/
LCLSTranslator
|
ipc.set_current_event --> broadcast.set_current_event
|
conf.onEvent
\
analysis.function
/
conf.onEvent
\
analysis.function --> ipc.set_data --> broadcast.set_data --> GUI
/
...
Original comment by: andyofmelbourne
from hummingbird.
The GUI is actually configured in a way that it only receives signals from ZMQ, if you subscribe to a specific data source. So if you don't ask for data, the GUI does not see any messages.
Original comment by: Benedikt Daurer
from hummingbird.
Sure, that was not question however:)
I was wondering at what point we envisage sending ZMQ messages from the backend. So far it appears that this will be done by an analysis function to be executed by each rank and at every event.
Original comment by: andyofmelbourne
from hummingbird.
If we really wanted we could aggregate them at zmqserver.py, but at the moment this does not seem to be an issue. I don't think the extra messages give any measurable overhead.
Original comment by: Filipe Maia
from hummingbird.
I'll close this as "premature optimization is the root of all evil" :)
Original comment by: Filipe Maia
from hummingbird.
Ha, good call.
I really need to understand ZMQ messaging a bit better. That is, under what conditions will messages get dropped and so on...
Original comment by: andyofmelbourne
from hummingbird.
Related Issues (20)
- FLASH backend without MPI
- New LCLS detector logic inefficiencies HOT 2
- h5writer inconsistency
- Integrate timestamps into XFEL backend
- Integrate AGPID geometry
- Make it possible to define the data source (address and port) for the XFEL backend using the state variable
- Remove beamline-specific code/scripts
- Create development guidelines
- Add error bars to histograms
- Fix histogram in Image plot so it doesn't go crazy
- Allow changing the UI replot rate
- Make it possible to stream EuXFEL data on disk HOT 2
- Failed connection to SSH tunnel backend gives no indication of failiure
- Default max_train_age when reading old data
- Make it easier to work with raw sources HOT 1
- iteritems still used in several places
- Error when showing plotMeanMap with Python 3 HOT 3
- cannot set logging level with -v or -d HOT 1
- Cannot "Remove PlotData which is no longer in the conf" with python 3
- Images with NaN HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hummingbird.