The Asynchronous Task Processing Paradigm

  • SEQUOIA was built around the concept of Asynchronous Data Processing.
  • The Viewports and User Interface remain responsive at every point in time even while loading or meshing point data.
  • You can work in the same Document or in a completely different Document while your requested Tasks are being processed in the background.

The Task Manager

  • The Task Manager panel is the central User Interface component representing the Asynchronous Processing of Pending Tasks.
  • Each request for a data operation, including point and mesh data loading, meshing, point and mesh saving and point conversion creates an independent Pending Task which is queued and displayed in the Task Manager.
    • A Pending Task is displayed as a main progress bar in a dimmer shade of the Document’s color, with the name of the object and the type of process displayed over it.
    • Each Task exposes a [Cancel] button for manual cancellation.
    • Some Groups of Tasks, like for example the “Hacksaw Meshing” feature, will also create a [Cancel] button to affect all Tasks in the Group with one click.
    • Additional blue progress bars can be displayed underneath the main progress bar for the actual processing.
    • The Task can also be cancelled automatically if a new Task is issued to update the same object with new settings.
    • Pending Tasks will handle object dependencies and will wait for required data to be calculated by other Tasks before continuing.
    • Pending Tasks can have different Priority Levels to allow faster or more important Tasks to be performed before slower or less important Tasks.
  • Should a task fail, its progress bar will turn red to signal an error, and buttons to display error Details or dismiss the message will appear next to it.
  • Some operations that require very little processing time like saving a Document or a Viewport Image to disk will not create Pending Tasks and will be performed immediately without using the Asynchronous capabilities of Sequoia.
../../_images/taskmanager_3docs_6threads.png

Multi-Core Support

  • The Task Manager can process multiple independent Tasks in parallel.
[B] For example, multiple Hacksaw Meshing or Point Cloud Conversion tasks can be processed in parallel.
  • The number of Tasks that can be processed in parallel depends on the number of Cores installed in the machine, and on a control setting in Sequoia which limits the maximum number of parallel tasks of each Task type.
  • Each Task in the Task Manager can in turn use multiple Cores to process data in parallel.
[B] For example, the Meshing of point clouds, the loading and saving of XMesh files etc. are multi-threaded and will use multiple cores for the same Task.
  • While these explicit Tasks are being processed, all other operations of SEQUOIA can still be performed, as the User Interface and Viewports use their own threads and are independent from each-other and from the Task Manager processing.

Processing On The Network

  • Some SEQUOIA Tasks including Point Data Conversion and the export of Point and Mesh data from SEQUOIA Objects to disk files can also be processed on a local network (render farm) or on the Cloud under the control of Thinkbox’ DEADLINE Render Manager.
  • SEQUOIA integrates tightly with DEADLINE and can submit Tasks, monitor their progress, and even cancel Tasks running on network machines directly from the SEQUOIA Task Manager.
  • A dedicated DEADLINE plugin ships with the SEQUOIA installation.
    • Currently it requires the manual copying of the relevant folder from the SEQUOIA installation to the DEADLINE Repository.

Command Line Processing

  • SEQUOIA can also be launched in command-line (headless) mode without creating a user interface to perform time-consuming operations like data conversion, data export and point meshing in the background.
  • The Command Line capabilities of SEQUOIA are the basis of its integration with DEADLINE, and could be used to integrate with other pipeline tools.