Difference between revisions of "ViSUS configuration file"

From
Jump to: navigation, search
(Network Access and Caching)
(Network Access and Caching)
Line 34: Line 34:
  
 
An important feature of the ViSUS framework is the ''caching''. Data streamed from the server can be cached on disk for later faster access.
 
An important feature of the ViSUS framework is the ''caching''. Data streamed from the server can be cached on disk for later faster access.
To enable this feature for a specific dataset we can define a dataset in the configuration file as following:
+
To enable this feature for a specific dataset we can define a multiple layer access as following:
  
 
<pre>
 
<pre>
Line 49: Line 49:
 
At the same time any data requested to the network layer will be cached on disk (at the specified URL).
 
At the same time any data requested to the network layer will be cached on disk (at the specified URL).
  
'''Note''': when frequent and fast access is required for specific dataset, enabling the ''caching'' is highly recommended.
+
'''Note''': when frequent and fast access is strictly required, enabling the ''caching'' is highly recommended.
  
 
'''Faster network access'''
 
'''Faster network access'''

Revision as of 20:26, 18 August 2017

A ViSUS configuration file contains a set of application configuration parameters and a list of datasets that also represent your bookmarks in ViSUS Viewer.

Configuration File Location

Every ViSUS application, on load, uses the following strategy to find the configuration file:

  1. location specified by --visus-config command line parameter
  2. current working directory
  3. visus user directory (note: itunes-accessible documents directory on ios)
  4. resources directory (e.g. osx/ios bundle, same as cwd on other platforms)
  5. hardcoded path provided at compile time (e.g. for mod_visus default)
  6. executable directory (very unusual deployment, but it doesn't hurt anything)

Your Datasets (Bookmarks)

The bookmarks can refer to datasets on disk, remote or also to custom scenes that you saved from ViSUS Viewer.

Here is an example of a visus.config file of these three kind of datasets.

<visus>
    <!-- Local dataset --> 
    <dataset name="my_dataset" url="file:///Users/username/data/my_dataset.idx" permissions="public"/>

    <!-- Remote dataset -->
    <dataset name="2kbit1" url="http://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1" permissions="public">

    <!-- Saved scene -->
    <scene name="my_scene" url="file:///Users/username/data/my_scene.xml" permissions="public"/>
</visus>

Network Access and Caching

ViSUS can access the same data from both the network or a local cache on your disk. The cache allows faster (and offline) access to the data that already navigated using the viewer. Please notice that ViSUS only saves the timesteps and fields that you explored, not the entire dataset.

An important feature of the ViSUS framework is the caching. Data streamed from the server can be cached on disk for later faster access. To enable this feature for a specific dataset we can define a multiple layer access as following:

  <dataset name="2kbit1" url="http://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1" permissions="public">
     <access name="Multiplex" type="multiplex">
       <access name="cache"  type="disk" chmod="rw" url="$(VisusCacheDirectory)/2kbit1/visus.idx" />
       <access name="source" type="network" chmod="r" compression="zip" />
     </access> 
  </dataset> 

With these lines of code we created two layers of data access the first from the disk (e.g. the cache) and the other from the network. This will allow the application to search first on the disk for the requested data and in case of miss the request will be forwarded to the network. At the same time any data requested to the network layer will be cached on disk (at the specified URL).

Note: when frequent and fast access is strictly required, enabling the caching is highly recommended.

Faster network access

In order to speed up your network performance it is possible to use some special options in your access configurations:

  • nconnections: enable parallel requests
  • num_queries_per_request: gather multiple block requests in a single query
  • compression: compress the data for transfer

Here is an example:

<access name="source" type="network" chmod="r" compression="zip" nconnections="4" num_queries_per_request="32"/>