JMX Administrator Result Repository inspection

Shows record of all algorithm runs up to now, as they are stored on the remote server. For each algorithm run, the timestamp and the task name are recorded (main table) as well as a short annotation by the user. By selecting an entry and clicking Details, the Administrator shows initial and final states of the remote task (table in the bottom right corner). These are recorded automatically by the framework and include all attributes of your task. Complex structures, like TFMonteCarloConstraints are displayed in detail when the user moves mouse over them, as shown in tool-text tip. By clicking on the Resources tab, the user can inspect input and output files, used by the algorithm, and can transfer the files to a local machine.

It is also possible, by using filters (lower left), to restrict the total number of entries displayed in the table.

From JMX Administrator GUI it is possible to delete entries on the remote repository (Delete button), save modified entries (Save button) or even transfer complete entries from remote machine to a repository running locally (To Local >> button). Local repository can be explored using Local tab in the main pane, see screenshot.

A special feature is the Instantiate >> button, which recreates the complete remote task on the remote server from the data stored in the result repository. After you recreate the task, you can use it just as if it has just completed its computation after the first run.


JMX Administrator Logging inspection

Shows a record of all log entries on the server. Log entries are collected from all running remote tasks and the server itself (gray background). White-background entries are produced on the client. Entries in red signal warning or exceptional states. In case of exceptions, by clicking on the log message, the exception detail window with full stack trace will appear. 

The log history exists on the server. Therefore, even when the client is closed and reopened, all old log events are reread from the server and entered into the table, so that the running history is always available for inspection. 

JMX Administrator Executor inspection

Shows all running remote tasks in the list on the left. The first four are so-called framework remote tasks (sentinel, executor, log collector and result repository), which run on every JCosyne server. Other tasks (can be more than one) are user-written. In our case, we are running the factorization task - it is shown in red, because it is currently executing. The percentage of completion is shown in parenthesis. 

The panel on the right displays arbitrary attribute of the task selected on the left. We are showing attribute "Factors" of the factorization task, which is of type long[]. Notice how the array gets rendered into text. The display is automatically updated, because the task produces notifications when the new factors are found - it is trivial for a user task to do this. There are nice text renditions for simple values, 1D and 2D arrays and structure-like classes available. The user can monitor only a single array element or structure member by using @ resolution operator: by entering "Factors@0" we would monitor only the zeroth element of the array. Similarly, with "Point@x" we could monitor only field x in attribute called Point, if we declared such an attribute. We can monitor as many attributes simultaneously as we want.

Stop, Kill, Suspend and Resume buttons allow us to modify the running tasks on the fly. By invoking them on the selected task the running task display will change the colors to clearly show the modification in task status.

A special To Local >> button makes it possible to clone a task running on a remote machine into a local JMX server. This great feature means that while the task is actually calculating something, you can duplicate it on your laptop, leave the computation running on the server - undisturbed, while you can start playing on your client with intermediate results