Setup of Coral8

Setup of Coral8

We used Coral8 Studio to run our experiments applying the following steps:

Step 1. Create a new project using Coral8 Studio.

Step 2. Download the input file of the desired experiment. Copy-paste the content of the query file of the desired experiment into the project, set the directory of the input file(s) (csv files), and compile the project. Input and ouput streams will be created under the project. 

Step 3. Run the project, right-click on the input and the output stream, and choose "View Stream" to see the input and the result, respectively.

An important detail about Coral8's setup is how to configure the tuple batches in the presence of simultaneous tuples in the input. Based on a blog post from Coral8 team, we know that Coral8 can support batch-driven execution. We observed that, by default (i.e., if we simply feed the input from a csv file), each tuple is treated to be in a separate batch, which makes Coral8 behave as a tuple-driven engine. However, one can configure the input to divide simultaneous tuples into explicit batches, in which case, Coral8 behaves as batch-driven engine (or time-driven, if all simulatenous tuples are in the same batch). One practical way of configuring the batches is to use the "atomic bundling" mechanism provided in Coral8. CCL Reference defines atomic bundles as follows: "atomic bundles represent a consistent set of rows that were produced together and now will be processed together". Thus, in our experiments that involve batch-driven processing in Coral8, we first created atomic bundles using additional join queries as suggested in the CCL Reference, before running the actual windowed queries.