Stone and Wire is a layer that sits between the application and the file system. It is required and installed with Creative Finishing applications, except Lustre. It handles local management of media and the transfer of media between workstations. Wire enables the transfer of uncompressed video, film and audio between workstations over networks.
Five processes that must be running for Stone and Wire to work: sw_serverd, sw_probed, sw_dbd, sw_bwmgr, ifffsWiretapServer. This process is started by the sw_wiretapd script.
All Stone and Wire processes should start when the system is restarted. If they are not running, check that they are configured to run and then restart Stone and Wire. To start Stone and Wire processes, edit /etc/sysconfig/stone+wire and ensure that it contains the following:
Restart Stone and Wire with /usr/discreet/sw/sw_restart.
Every Stone and Wire process has a log file at /usr/discreet/sw/log.
The current log file is named <process>.log, where <process> is the name of the Stone and Wire process or daemon. The next time Stone and Wire creates a log file for the process, it renames the previous log file by adding a number to the file name. For example, the sw_served process log file is named sw_served.log. The next time the process is launched, the first log file is renamed to sw_served.log.1. Each time Stone and Wire creates a new log file, the old log file is renamed by incrementing the number that appears at the end of the filename.
Use the terminal to list the most recent version of the log files: ls -altr
Use swr_set_debug to enable verbose reporting of Stone and Wire driver errors. When error reporting is on, Stone and Wire outputs error messages to /var/log/messages and the console window.
Disable verbose error reporting to save on storage. Run: /usr/discreet/sw/tools/swr_set_debug <level> where <level> is the verbosity of the report: 0 is off, 1 is default, and 2 logs all operations and errors.
The configuration file is /usr/discreet/sw/cfg/stone+wire.cfg. In the case of software upgrades, if stone+wire.cfg exists, then it is not overwritten. However a new stone+wire.cfg.sample file is written which includes any new functionality added in that release, including for example support for new file formats.
/usr/discreet/sw/cfg/sw_framestore_map is only available after the installation of the Autodesk product. It is configured when the application is installed. Normally, it should not be necessary to edit this file.
It has two sections
By default, disk space for video files is allocated on-the-fly as the files are rendered or written. Concurrent I/O operations from multiple clients or background processes can generate frames with poor locality of reference, which leads to clip fragmentation and decreases playback performance.
To prevent this problem, Stone and Wire provides media file pre-allocation mechanisms that reserve the necessary space on the disk before the actual writing of the media files takes place. Pre-allocation reserves as many available contiguous disk sectors as needed for the file sequence to be written.
There are two media pre-allocation methods:
By default, pre-allocation is turned off in Stone and Wire (the method is set to NONE). To enable it, modify a parameter in stone+wire.cfg. This is not a global setting. Pre-allocation must be individually enabled for each partition. On an XFS system on which unwritten extent flagging was disabled when creating the filesystem, the RESERVE pre-allocation method is not available for it.
To enable media pre-allocation for a partition edit the Preallocation parameter in /usr/discreet/sw/cfg/stone+wire.cfg Save the configuration file and restart Stone and Wire..
Stone and Wire comes with a command line tool to measure filesystem performance called sw_io_perf_tool. This tool simulates I/O requests (audio and/or video) that would be issued by the Creative Finishing application, and reports the throughput and maximum latency of all the requested I/O operations. Use sw_io_perf_tool to measure read and write performance of a volume declared and mounted by Stone and Wire. Several options are available to simulate many file formats and writing/reading patterns. Launching the command will display a list of available options.
To list all options available for sw_io_perf_tool, open a terminal and type /usr/discreet/sw/tools/sw_io_perf_tool -h .
To test a standard filesystem partition's performance for a specific resolution, Run /usr/discreet/sw/tools/sw_io_perf_tool <-p #> <options> where <-p #> specifies a partition ID (0 to 7), and<options> can be a combination of several media format attributes.
sw_io_perf_tool with custom resolutions may be used. For example, to test read performances for frames with a width of 1600 pixels and a height of 900 pixels: Max Latency: 335.284 ms
The command can be run while other operations are ongoing to simulate how the application will behave under these conditions. The media used by sw_io_perf_tool is allocated and freed automatically. sw_io_perf_tool will not reserve any bandwidth on the storage device. Partitions/volumes must be properly configured in the Stone and Wire configuration file.
Imports compressed media into Stone and Wire partitions. Controls the transactions between the Stone and Wire server and remote applications. Its configuration file is: /usr/discreet/wiretapgateway/cfg/wiretapgateway.cfg.
Uses a self-discovery mechanism to locate all other Wire hosts and their framestores on the Wire network. Stores the configuration required for communication between two hosts in memory. Its configuration file is: /usr/discreet/sw/cfg/sw_probed.cfg. To enable multicasting:
The Wire server daemon. Controls the transactions between the Stone and Wire filesystem and remote applications. Its configuration file is: /usr/discreet/sw/cfg/sw_framestore_map.
Responsible for mapping frame IDs from the entries in the swdb database to the location of the media on disk. Database entries are created for all managed media and soft-imported media. One Standard FS media database file exists for each Standard FS partition. Its configuration file is: /usr/discreet/sw/cfg/sw_dbd.cfg. Logs are located in: /usr/discreet/sw/log/
Configure the Stone and Wire database to automatically shut off when there is too little free space:
Reserves storage bandwidth for Autodesk applications and tools based on its configuration file /usr/discreet/sw/cfg/sw_bwmgr.cfg. Documentation is in /usr/discreet/sw/cfg/sw_bwmgr.cfg.sample.
The Stone and Wire bandwidth reservation mechanism tries dynamically to improve bandwidth distribution to Autodesk applications connecting to a workstation’s storage. It cannot protect the storage from I/O requests from non-Autodesk applications and tools, since it doesn't handle them.
In low bandwidth situations, instead of reducing all reservations proportionally towards zero, it first reduces the bandwidth of each process towards the low-bandwidth value specified for that process. If the bandwidth continues to degrade, it starts reducing bandwidth proportionally towards zero.
Additional standard filesystem mount points (such as mount points to SAN volumes or to any other standard filesystem volume that is not present in /usr/discreet/sw/cfg/stone+wire.cfg) can be managed by the Bandwidth Manager. Each partition managed by the Bandwidth Manager must have a [Device] section associated to it in /usr/discreet/sw/cfg/sw_bwmgr.cfg. To add a new device to the Bandwidth Manager:
Bandwidth reservation can be done by groups of applications.
<group_name>=<application_name> <application_name> where:
For more information see the comments inside the configuration file.
Stone and Wire has a database inconsistency detection mechanism. If the framestore ID of a Stone filesystem or standard filesystem partition in the system is changed without reformatting the Stone and Wire database, the inconsistency check mechanism detects invalid frame references in the database, and prevents the Stone and Wire database server sw_dbd from starting.
To remove invalid frame references from the Stone and Wire database:
To see if the filesystem is full, run /usr/discreet/sw/sw_df. If the filesystem is full or almost full, consider deleting or archiving older material from clip libraries to free disk space. VTR archiving in Creative Finishing applications requires free space on the framestore to generate slates, test patterns, headers, and audio encoding.
Clear the Undo Buffer to free up space. Clearing the Undo Buffer cancels any undoable operation, so use carefully. This is available in the Preferences menu, Undo section.
All hosts on the Wire network must have a unique framestore ID. By default the ID is generated from the IP address. It is possible that there could be an ID conflict, where an ID is not unique. In this case Flame will not run, because the Wiretap server shuts down after detecting the conflict. The log file /usr/discreet/log/ifffsWiretapServer.log will contain an error.
Each partition must have a different partition ID. To solve a Partition ID conflict: