Primary take-away points from this week:
Updated timeline of the project:
Please find the updated timeline of the project here. Our update is based on priority of sinks and, refined and easy to quantify list of features at the end of each evaluations. The current structure also focuses on continuous performance evaluation of the project. With live simulation on one system, the performance of the server to display results on the same system, on the network and on the Internet will be evaluated (Week 4).
Finalized the mechanism of starting the bokeh server and application:
The examples is available on this link1. The reason for choosing this approach was simple. We did not want to start a seperate process for Bokeh server and then running the simulation file to get the outputs at a given session-id. The given approach requires only the file to be run. The server process and simulations, both starts almost together and stops at Keyboard Interrupt (CTRL+C). The performance evaluation of this approach will be carried out once we have at least one working sink.
Finalizing the structure and dataflow of a sink in the module:
We concluded on having a C++ class with a queue of fixed size, functions to store and get the data from queue and a function to process the data. Basically, most of the processing intensive tasks will be carried out in C++. The C++ functions will be independent of the Bokeh processes, hence, allowing undisturbed flow of simulations.
On the other hand, a Python wrapper will act as an actual sink. It will handle all Bokeh and display related functions. The work() function of Python class will call store function from corresponding C++ class. The Bokeh server will call update function from Python at every loop using add_next_tick_callback(). The update function asks the data from C++ queue using get method.
To-Do List of next week:
- Start working on time_sink_f.py and time_sink_f_impl.cc
Note on working days next week:
I will be travelling for visa process in next week on Tuesday and Wednesday. Hence, I won’t be able to work during those days. I will compansate my working hours during next weekend.
Link may not be available after the project ↩