SN DBS e

Download as pdf or txt
Download as pdf or txt
You are on page 1of 56

User Guide to

SN-DBS (Distributed Build


System)

SN Systems Limited
Version 2.0.49
May 11, 2009
Copyright © Sony Computer Entertainment Inc. / SN Systems Ltd, 2003-2009.
"ProDG" is a registered trademark and the SN logo is a trademark of SN Systems Ltd.
"Microsoft", "Visual Studio", "Win32" and "Windows" are registered trademarks of
Microsoft Corporation. "Vista" is a trademark of Microsoft. Other product and
company names mentioned herein may be the trademarks of their respective
owners.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 3
Contents

Contents
1: Introduction 6
Document version history 6
Overview of SN-DBS 6
Building with VSI or makefiles 7
Role of agents 7
Role of the broker 7
Fallback named broker 8
Automatic detection of ProDG tools 8
The SN-DBS build process 8
Multi-processor and multi-core systems 8
Optimizing the use of SN-DBS 9
Object caching 9
Extending SN-DBS 10
SN-DBS user interface 10
Updating the SN-DBS software 10
Versions of SN-DBS 10
Contents of release 10
System requirements 11
Hardware requirements 11
Software requirements 11
Licensing 11
Compatibility 11
Updates and technical support 11

2: Installation and getting started 13


Installing SN-DBS 13
File locations 14
Getting started with SN-DBS 15

3: Building with SN-DBS 16


Launching the SN-DBS network view 16
Launching the user interface from Start menu 16
Notification area icon 16
SN-DBS shortcut menu 16
Exiting SN-DBS 17
SN-DBS menu options 17
File menu 18
View menu 18
Help menu 19
Viewing members information 19
Excluding agents from a build 20
Accessing log files 21
Named broker tasks 21
Viewing available build tools 22
Filtering the display of members 23
Initiating a remote build 23
Building on the command line 23
Building with makefiles 24
Command line options for DbsBuild 25
Command line options for DbsRun 26
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 4
Contents

Potential problems using SN-DBS and makefiles 26


Building with script files 27
Monitoring the build 27
Status bar 28
Viewing build progress 28
Viewing build activity 29
Viewing project progress 30
Viewing build history 30
Error handling 31

4: SN-DBS configuration and administration 32


Configuring agents 32
General tab 32
Network tab 33
CPUs tab 34
Cache Control tab 35
Busy Detection tab 36
Colors tab 37
Remote configuration 37
Excluding processes from 'host busy' 39
Specifying the working directory 40
Specifying the number of CPUs used 40
Recalculating an agent's performance rating 40
Named broker configuration 41
Advanced configuration 43
Controlling the caching mechanism 43
Cache Control 43
Reduce cache now 44
User Interface reporting 44
The caching algorithm 45
Automatically updating the SN-DBS software 45
SN-DBS utility 46

5: Data builds 48
Introduction 48
Requirements for data builds 48
Simple Data Tools 48
Invoking different tools 49

6: Templates 50
Introduction to templates 50
Template format 50
Tool section 50
Files section 51
Includes section 52
Examples and help 52

7: FAQs 53
Introduction 53
Why do I sometimes see timeouts in my SN-DBS build logs? 53
How does SN-DBS know what tool to use? 53
Can I get SN-DBS to prefer a set of dedicated build PCs over those
of my colleagues? 53
How can I run Seti@home or Folding@home without SN-DBS
thinking the PC is always busy? 54
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 5
Contents

I've got a really small, lightweight project. It can build locally faster
than SN-DBS can distribute it. Can I build it locally when
performing a distributed build of the entire solution? 54

8: Index 55
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 6
Introduction

1: Introduction

Document version history


Ver. Date Changes

2.0.49 Apr. 2009 Numerous updates.

2.0.47 Oct. 2008 Updated 'Command line options for DbsRun'. Numerous
minor amendments.

2.0.25 Nov. 2007 Removed 'Agent Discovery Timeout' and 'Max Job Size' from
General tab tab of Configuration dialog.

2.0.19 Oct. 2007 Updated 'Building on the command line'. Changed "VSI.NET"
to "VSI".

2.0.16 Sep. 2007 User guide updated to reflect fact that SN-DBS is now an
unlicensed product.

2.0.0 July 2007 Major revision.

Sep. 2007 Added 'Colors tab' to Configuration dialog. Added DLL


detection to 'General tab'. Amended 'Command line options
for DbsBuild'. Added 'Command line options for DbsRun'.
Amended SN-DBS utility. Added 'Simple Data Tools'.

Overview of SN-DBS
SN Distributed Build System (SN-DBS) is a software product to improve compile times
for large console development projects.
Under carefully controlled conditions the compilation of C/C++ source files is shared
amongst a series of PCs on a local network (referred to as an SN-DBS network). This
utilizes otherwise unused processing capacity, thereby considerably reducing
compilation times for program builds, as shown in the graph below.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 7
Introduction

The time you save can be used to write more code resulting in increased
productivity.
Please note that only compilation tasks are distributed by SN-DBS. Other build tasks,
e.g. linking, will continue to be carried out on your local PC.

Building with VSI or makefiles


This guide assumes that the distributed build was started with the Visual Studio
integration (VSI). A build can be performed with a makefile but there are some
important differences which are explained in "Building with makefiles" on page 24.

Role of agents
Each PC running on the SN-DBS network contains an instance of the SN-DBS
software, known as an agent.
„ The agent runs in the background and is transparent to the user, with minimal
impact on the normal performance of your PC.
Agents liaise with each other to initiate and distribute builds within the SN-DBS
network.
Each agent can initiate builds as well as offering its own processing power for use by
other agents in the SN-DBS network.
The SN-DBS agent runs as a Windows service. This means it is started when the
system starts up, and runs in the background whether a user is logged-in or not.

Role of the broker


There can be many agents in the SN-DBS network but only one will be elected as the
broker for the network. The broker co-ordinates all the other agents in the SN-DBS
network, keeping track of them and the tools they have installed and overseeing
their participation in distributed builds.

Note: We recommend the use of named broker mode for best results.

A broker will be elected automatically by all the agents within the SN-DBS network
but you can override this election if required by specifying a particular PC to be the
broker. This is known as the named broker mode. All other agents in the SN-DBS
network must then be configured with the address of the named broker. See "Named
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 8
Introduction

broker configuration" on page 41 for details about how to configure a named


broker.
A notification area balloon will appear for an agent if it loses contact with the broker
during a build.

The broker can also use the Withdraw and Restart options to force a remote agent
to withdraw from the SN-DBS network or to restart. This option is available (only to
the broker) on a menu that is accessed by right-clicking the relevant agent in the
Members view.

Fallback named broker


An additional configuration option will be available to the agent that is selected to
be the named broker, whereby the hostname or IP address of another agent to be
given as the fallback broker can be specified. This setting is then sent by the named
broker to all other agents within the SN-DBS network. If the named broker should
ever fail or be switched off, the remaining agents will use the configured fallback
broker. See "Named broker configuration" on page 41.

Automatic detection of ProDG tools


The primary goal of SN-DBS is to produce the same result for a distributed build as it
would for a local build.
Therefore, when sending a build request from the initiating agent to a remote agent,
it is vital that the remote agent uses exactly the same tool to perform the build as
the initiating PC would have done. To facilitate this, the initiating PC sends the
requisite executables and support files to the remote agent along with the other
source files.
SN-DBS contains definitions for its supported tools (the ProDG compilers for
example), so that when a tool is invoked it can determine all the supporting files
that need to be shipped as well. For example, the pspsnc.exe executable is not
enough on its own to perform a build. When this tool is used, SN-DBS looks up the
definition for it and determines that pspcfe.exe, pspcor.exe, pspcq.exe, pspipa.exe
and pspas.exe also need to be sent. The environment variables for the initiating PC
are also sent along with the build. This means any required variables, such as
SN_PSP_PATH in this case, will also be available.

The SN-DBS build process


When a distributed build is initiated, all the source files are scanned to determine
the set of headers required for the build. The compete list of source files, header
files, and files needed for the compiler is sent to all allocated servers. Each server
requests any missing files from its file cache. Once a server's file cache is up-to-date,
the client starts scheduling tasks to it. Once the remote agent has successfully
compiled the source file, the resulting object module is shipped back to the
originating agent and placed into the file system in the expected location. Linking
then proceeds as normal on the initiating PC, with no intervention from SN-DBS.

Multi-processor and multi-core systems


When deciding which remote agent(s) to distribute a build to, SN-DBS takes a
number of things into consideration, such as:
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 9
Introduction

„ How busy the agent's host PC is


„ The processor speed and memory size
„ How many jobs are already queued to that agent
SN-DBS treats multi-core and multi-processor (SMP) systems differently from
uniprocessor and hyper-threading (SMT) systems. Each available core in an SMP
system is given a rating of its own and is treated as if it were a distinct agent
instance. A dual-CPU machine is treated as though it were effectively capable of
handling twice the workload as a uniprocessor machine of the same speed and
memory capacity.

Optimizing the use of SN-DBS


When a distributed build is performed the broker will allocate a given number of
agents to the initiating client. The default value is 10 but this can be changed if
required via the Number of agents to allocate to each client option on the
Network tab of the Configuration dialog. Please note that this option is only
available if you are using named broker mode. See “Network tab” on page 33.
Adding more agents obviously allows for more compilations to be performed
concurrently, but increases the amount of time spent synchronizing source files.
Some experimentation may be required to find the optimal server count for your
project.
Building projects with a large number of included files will also increase the time
taken to determine the list of dependencies and synchronize the file systems. This
explains the delay typically seen at the start of a build before any results are
received.

Object caching
Object caching is a mechanism whereby the results of a compilation can be stored in
order to improve the speed of subsequent builds. It works by maintaining a copy of
all derived objects (typically .o files) as they are built and calculating when it is
possible to re use those cached copies during subsequent builds, rather than re
generating them.
To guarantee the integrity of a build, a number of factors are included into the
unique key that identifies each derived object in the cache. These include the
command-line arguments, the name and location of the source file and the contents
of the source file and its dependencies. This is advantageous because the net effect
of all the source file's dependencies are factored into the key, so changes to any of
its dependencies will result in the cached object becoming invalid, which will
therefore require the derived object to be rebuilt. However, the disadvantage is that
every dependency must be determined and examined before it is possible to
determine if the derived object can be retrieved from the cache.
The cache can be placed on a local disk, or on a network share. Keeping the cache
on a local disk means that it is as fast as possible for the local user, but no-one else
in the team can take advantage of the cache contents. Keeping it on a network share
means that users working on the same project can take advantage of each others'
recent builds, but each cache access takes place over the network, which is
somewhat slower than local disk access, even on a Gigabit network. For more
information on how to configure use of the cache, see "Cache Control tab" on page
35.

Note: The cache storing algorithm takes into account the current working directory
and file paths. This means that you can only use shared cache writes if you have the
same directory structure.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 10
Introduction

Note: When building a project from a local cache, the overall load on the network,
and on other agents, is greatly reduced. This frees up those resources for other
users, hence providing an improvement for the team as a whole.

Extending SN-DBS
By default SN-DBS only supports tools from SN Systems and SCEI. You can however,
extend the use of SN-DBS so that it distributes the work of third-party command-line
tasks. See "Data builds" on page 48 for more information.

SN-DBS user interface


The SN-DBS user interface provides information about the status of each agent in the
SN-DBS network.
It is started when you select SN-DBS from the Start Menu.
See "Launching the SN-DBS network view" on page 16.

Updating the SN-DBS software


You can automatically update all the currently connected agents in the SN-DBS
network from the broker PC. See “Automatically updating the SN-DBS software” on
page 45.

Note: This automatic update facility can only be initiated from the broker PC and will
not work from any other agent.

Versions of SN-DBS
SN-DBS identifies the current version of each agent in the SN-DBS network and
rejects those that are running an incompatible version. If an agent attempts to
communicate with a broker with a more recent version, the broker will push out an
update if one is available. See "Automatically updating the SN-DBS software" on page
45. If there is no update available and the agent is incompatible with the broker, it
will not be able to join the network. You must then upgrade the SN-DBS software to
at least the minimum compatible version required by the broker.

Contents of release
This release contains the following tools:
„ SN-DBS Network View (user interface) (dbsview.exe)
„ SN-DBS agent (dbsagent.exe)
„ SN-DBS build client (dbsbuild.exe)
„ SN-DBS make wrapper (dbsrun.exe) for use with makefile-based projects
„ SN-DBS utility tool (dbsutil.exe)
„ SN-DBS service controller (dbssrvctrl.exe)
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 11
Introduction

System requirements

Hardware requirements
„ Intel Pentium 4 (or equivalent) or higher processor
„ Network adapter
„ 512 MB of RAM
„ At least 30 MB of hard disk space for the initial install. The amount of space
used by the file cache will depend on the size of your projects.

Software requirements
„ Windows XP Pro (32-bit and 64-bit) and Windows Vista Business, Enterprise or
Ultimate (32-bit and 64-bit)
„ .NET 2.0 runtime
„ Visual Studio Integration v1.7.5 or higher
„ ProDG or SCEI build tools

Licensing
For each PC whose agent is either initiating or taking part in distributed builds, a
suitable license will be required for the appropriate build tools.

Compatibility
SN-DBS is compatible with:
„ ProDG for PlayStation®2 v3.2 containing ps2cc v1.2.4.9 or greater
„ SNC Compiler for PlayStation®2 containing ps2snc build 793 or greater
„ ProDG for PSP v1.1 patch 1 or greater
„ SNC PPU Toolchain for PLAYSTATION®3 v1.0.15 or greater
„ PLAYSTATION®3 Programmer Tool Toolchain (Windows) v4.0.2 or greater

Updates and technical support


Product support, file downloads and technical articles are provided via the Support
area of the SN Systems website:
https://www.snsys.com/support/.
To view these pages you must login with your user name and password.
Product downloads, updates and betas:
https://www.snsys.com/Support/index.asp
Technical library documentation and FAQs:
https://www.snsys.com/Support/Library/index.asp
Submit and view your support calls:
https://www.snsys.com/Support/Calls/
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 12
Introduction

Product licensing (includes reissue of dedicated and floating license files):


http://www.snsys.com/Licensing/
Forgotten user name or password:
http://www.snsys.com/Errors/Password/searcher.asp
If you have any problems with the website please contact: webmaster@snsys.com.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 13
Installation and getting started

2: Installation and getting


started

Installing SN-DBS
Please note that SN-DBS version 2.x can be installed alongside version 1.x. This
allows you to try out version 2.x without having to update all machines at once.
1. Before installing SN-DBS you must have the Microsoft .NET framework version
2.0 installed. This is available from Microsoft or through Windows Update.
2. Install a suitable version of VSI for SN-DBS if you intend to initiate builds from
this PC. See "Software requirements" on page 11 for details.
3. Download and run the installer executable for SN-DBS. The installer will set up
the following environment variables:
SN_COMMON_PATH to point to the folder containing the SN-DBS files, e.g.
SN_COMMON_PATH=C:\Program Files\SN Systems\Common.
PATH will have the %SN_COMMON_PATH%\bin directory added.

4. Click Next.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 14
Installation and getting started

5. Click Install to begin the installation. When the installation is complete the
following dialog will be displayed.

The two options will be checked by default.

File locations
The main executable and support files for SN-DBS are installed into
%SN_COMMON_PATH%\bin.
The help files are installed into %SN_COMMON_PATH%\help.
The following folder will also be created:
%SN_COMMON_PATH%\SN-DBS
This contains the SN-DBS settings and log files. The tool templates are also installed
here.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 15
Installation and getting started

Getting started with SN-DBS


If you are using the default automatic discovery mode with SN-DBS, no further
configuration is required. However, we recommend setting up a Named Broker as
this is more robust. See "Named broker configuration" on page 41.
If you do not wish your PC to participate in distributed builds, select File >
Configure from the main menu, select the General tab and set the Provide Build
Services option to No. See “SN-DBS menu options” on page 17.

Note: This still permits builds to be initiated from your PC.

If your PC has multiple network adapters with valid IP addresses, you must specify
the interface for SN-DBS to use. Select File > Configure from the main menu, select
the Network tab and set the Network Adapter option to the correct network
interface. Consult your system administrator if necessary.
We do not recommend that you change the Port Number because this is the number
that allows all the agents to locate each other and the broker. If you do change it
your agent will be removed from the main SN-DBS network. See “Advanced
configuration” on page 43.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 16
Building with SN-DBS

3: Building with SN-DBS

Launching the SN-DBS network view


The SN-DBS network view can be run on any agent in the SN-DBS network. It will
connect to the broker and query it for statistics on the PCs in the SN-DBS network,
and allow you to graphically monitor your builds and see the performance gains in
using the distributed build mechanism.

Launching the user interface from Start menu


If you have shut down the SN-DBS user interface you can restart it via the shortcut in
the Start menu, i.e. select All Programs > SN Systems > SN-DBS v2 > SN-DBS
Network View.
If the agent service is not running, it will be started by the user interface at this
point. Normally however, the agent service will have been started at system startup
time.

Notification area icon


When the SN-DBS Network View application is running, an icon is displayed in the
Windows notification area.
When the agent is not connected to the SN-DBS network, the icon shows one red dot
in the upper right plus 3 light gray dots.

Once connected, it shows one blue dot in the upper right plus 3 gray dots.

When the user has initiated a build, the blue dot moves around the four corners
clockwise.
When the local agent is building on behalf of someone else, the colors are reversed,
and the single gray dot moves around the four corners anti clockwise.

You can open the SN-DBS user interface and view the status of the SN-DBS network
by double-clicking the SN-DBS icon.
The SN-DBS main window initially shows information on the agents present in your
SN-DBS network, in a Members tab. See "Viewing members information" on page 19.
If you subsequently initiate a build from this PC, three further tabs are shown: Build
Activity, Build Progress and Project Progress. See "Monitoring the build" on page
27.

SN-DBS shortcut menu


You can right-click on the SN-DBS icon to obtain a shortcut menu that provides more
functionality:
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 17
Building with SN-DBS

Open Opens the SN-DBS main window.

About Displays SN-DBS product version information.

Configure Enables you to configure SN-DBS options such as making the local
machine a preferred broker. See “SN-DBS configuration and
administration” on page 32.

Update Local Forces a re-scan of the system for the locally installed tools.
Tools

Local Tools Displays the tools that have been detected on your PC. See "Viewing
available build tools" on page 22.

Apply Update Enables you to apply an update for which notification has already
been received.

Stop Service Stops the SN-DBS agent service and then quits the SN-DBS user
interface.

Exit Quits the SN-DBS user interface.

Exiting SN-DBS
If you wish to stop the SN-DBS user interface you must select Exit from the
notification area icon shortcut menu.

Note: Clicking on the title bar close button of an open SN-DBS window will only
cause the program to be minimized back to the notification area. Exiting the user
interface leaves the agent service running and you can still initiate and serve builds.

If it is necessary to stop the agent service as well, you must select Stop Service from
the shortcut menu.
See "SN-DBS shortcut menu" on page 16.

SN-DBS menu options


The SN-DBS main window contains menu options labeled File, View and Help and
they are described in this section.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 18
Building with SN-DBS

File menu

Configure Enables you to configure SN-DBS options such as making the local
machine a preferred broker. See “SN-DBS configuration and
administration” on page 32.

Update Local Forces the agent to check for local tools and report the findings to
Tools other agents on the SN-DBS network. This is done automatically at
regular intervals but this option allows you to instigate the action
on demand, e.g. when you have just installed a new tool.

Local Tools Displays the tools that have been detected on your PC. See "Viewing
available build tools" on page 22.

Apply Update Enables you to apply an update for which notification has already
been received.

Send Update This menu previously provided a way to push out updates through
the broker but this mechanism has now changed. Please see
"Automatically updating the SN-DBS software" on page 45. The
entry has been left in to provide information about the change.

Send Log File Send log file of agent's activity to SN Systems support.

Close Close SN-DBS main window. Note that this only causes the program
to be minimized back to the notification area. The agent service will
still be running and you can still initiate and serve builds.

View menu

Build Progress If checked, the Build Progress tab is visible.

Build Activity If checked, the Build Activity tab is visible.

Build History If checked, the Build History tab is visible.

Project Progress If checked, the Project Progress tab is visible.

Show User Name If checked (and available), the agent names displayed will be those
of the users currently logged in. This applies to the Members,
Activity and Progress views.

Highlight If checked, dedicated servers will be displayed in bold. This applies


Dedicated to the Members, Activity and Progress views.
Servers
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 19
Building with SN-DBS

Help menu

SN-DBS Help Opens the help file for SN-DBS.

About Displays SN-DBS product version information.

Viewing members information


The Members tab displays information about each PC currently running on the SN-
DBS network. When you initially install the SN-DBS software your networked PC will
automatically become a member of the SN-DBS network whose members share the
same port number.

The local agent details are displayed in blue. If the member details are grayed out
then the agent is unable to provide build services; this may be because the user has
chosen not to participate in builds or they do not have the required tool installed.
The name of the SN-DBS network broker appears in a panel in the status bar at the
bottom of the window.

Agent When SN-DBS is first installed, displays the host name of the PC running as
an agent. You can change this as required by editing the Name property on
the General tab. See "General tab" on page 32.

Status The current status of the server:


Ready - available for building.
Working for <agent> – performing a build on behalf of another agent.
Host Busy - busy doing something other than SN-DBS work, for example
building a Win32 project, or encoding video, or anything else that
consumes significant system resources.
Not Available - user has chosen to set Provide Build Services to No for
the SN-DBS agent on that PC.
Building - Initiated a build via SN-DBS.
No Installed Tools - the agent on that PC has not been able to detect any
tools.
Synchronizing with <agent> - synchronizing local files with the remote
agent's file cache.
Excluded from build - the agent has been excluded from, or cannot
perform, builds for the tool specified in the Filter by tool option.

Time in Shows how long the agent has been (un)available, busy, building, or
this state working for someone else.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 20
Building with SN-DBS

CPU PC's processor type.

OS Indicates if the agent's host OS is 32 or 64 bit.

Total The amount of memory available (in MB).


RAM

Rating Current suitability rating of this PC to be given a file to compile. The


greater the number the more suitable is the PC.

Address IP address of the agent.

Version SN-DBS product version.

Label Agent label.

Clicking the Minimize button minimizes the SN-DBS window to the task bar. Clicking
the Close button closes the SN-DBS window, but leaves the program running in the
notification area.

Excluding agents from a build


Right-clicking on any agent in the Members view brings up a menu that allows you
to view the tools available for that agent (View Tools option).

Using the Exclude from all builds menu option you can exclude that agent from all
of your builds. This can be useful if, for example, that agent's PC has expired ProDG
licenses, or is suffering some other temporary condition that is affecting your
builds. If an agent has been excluded from all builds, it will be shown as Excluded
from build in the Members window:

The menu option Include in all builds allows you to include that agent in all your
builds. This is necessary if you have previously excluded an agent from builds due
to some transient condition, but later want to make use of their PC when the
condition has been resolved.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 21
Building with SN-DBS

Note that this is a local setting for your PC only; it has no effect on the remote
agent, but rather stops your local agent from sending build jobs to that remote
agent. The include/exclude settings are persisted, so will remain in effect until you
apply further changes via the Members tab right-click menu.

Using the normal selection methods you can also select more than one agent to
Exclude from or Include in all builds. You can also use the Exclude for and Include
for options to either exclude selected agents from builds or include agents in
builds, using the specified tools.

Accessing log files


The Get Log File option allows you to retrieve the remote log file from any agent.
There are options to fetch today's log file or yesterday's. To retrieve older log files
please see "SN-DBS utility" on page 46.

Named broker tasks


The Named Broker Tasks sub-menu is only available to the Named Broker. Note
that a Named Broker must be manually configured (See "Named broker
configuration" on page 41 for details). These options are not available to a broker
elected via automatic broker detection.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 22
Building with SN-DBS

The Withdraw and Restart menu options are only available to the broker. They are
used to force remote agents to withdraw from the SN-DBS network or to restart.
The Configure... option allows the Named Broker to configure agents remotely.
Please see "Remote configuration" on page 37 for more details.

Viewing available build tools


Each agent in the SN-DBS network automatically detects the tools that comprise its
own installations for the relevant platforms and reports the list to all other agents in
the SN-DBS network.
1. To view the tools that the SN-DBS software has detected on your own PC, either
select Local Tools from the notification area icon shortcut menu or select
Files > Local Tools from the main menu.
2. A list of the available tools that were detected in your local file system will be
displayed.

3. To view the available tools from another agent, on the SN-DBS main window,
double-click the agent whose tools you wish to view.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 23
Building with SN-DBS

Filtering the display of members


The Auto Filter option will be checked by default. This means that the SN-DBS main
window will display agents having the tools used to carry out the most recent build,
enabling you to see how many agents could have been used for that build. The
'Filter By Tool' selection will automatically show the tool(s) used for this job.
You can also filter the display of agents in the SN-DBS network so that the SN-DBS
main window will only highlight agents with specified tools.
⇨ To filter the display of members:
1. At the SN-DBS main window, uncheck the Auto Filter option and select the
required tool from the Filter by Tool drop-down list.

2. Information about agents with the specified tool will be displayed on the SN-DBS
main window. Non-matching agents will be grayed out. If the selected template
is for a 64-bit executable, then all agents running on 32-bit systems will be
grayed out and their status will be set to "64-bit tools not supported".

Initiating a remote build


You can initiate a project or solution build with SN-DBS from the Visual Studio
integration (VSI).
To build a project or solution you can click the appropriate button from the VSI
toolbar.

Build project with SN-DBS.

Build solution with SN-DBS.

Alternatively, you can select Build Project using SN-DBS or Build Solution using
SN-DBS from the Visual Studio Build menu. Note there are Build and Rebuild
options for both projects and solutions.

Building on the command line


To build your solution from the command line using SN-DBS simply add the /sn-dbs
flag to the list of arguments to VsiBuild.
For example:
vsibuild Game.sln "Release|PS3" /rebuild /sn-dbs

The build ouput will be piped back to the command line shell and <Ctrl+C> will exit
the build as normal.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 24
Building with SN-DBS

Building with makefiles


SN-DBS can be used with projects based around makefiles, using SN Systems' own
build of GNU make. This version is shipped with the ProDG Visual Studio integration
(VSI) and is named vsimake.exe. Other versions of make may work but are not
supported by SN-DBS.
A distributed build of a makefile-based project relies on the -j command line
argument. Using -j tells make to run a number of independent operations in parallel,
which allows SN-DBS to run build jobs on a number of remote machines in parallel.
The simplest way to build a makefile-based project with SN-DBS is to use the
dbsrun.exe wrapper to invoke the normal make operation with the required
parameters. The compiler definition (typically the make variable CC in standard
makefiles) must be over ridden to prefix the compiler invocation with a call to
dbsbuild, the SN-DBS compiler wrapper.
For example, assume the project is a PlayStation 2 project using SN Systems ProDG
PlayStation 2 compiler (i.e. CC=ps2cc), which is normally built by simply invoking
VsiMake, as follows:
vsimake -f MyProject.mak

To build it with SN-DBS the command line would need to be:


dbsrun vsimake -f MyProject.mak CC="dbsbuild ps2cc" -j 20

The CC="dbsbuild ps2cc" argument changes the definition of CC in the makefile, so


it runs the dbsbuild tool to invoke the compiler ps2cc. The –j flag tells make to run
20 jobs at once. The optimal number of jobs to run concurrently will be dependent
on your SN-DBS and project setups. We recommend 20 as a reasonable default.
SN-DBS uses a number of different mechanisms to determine the set of
dependencies for any given source-file and will try to use the most efficient
mechanism whenever possible but will fall back to a slower mechanism (using the
compiler to pre-process the source file), if it cannot determine the correct set of
dependencies for a file. Note however that no warnings will be issued when it does
this and that it occurs most frequently with #include statements that reference pre-
processor symbols rather than explicit filenames.
However, there are some extra dbsrun command-line switches that can be applied to
SN-DBS in various combinations, to help determine when the alternative mechanisms
are being invoked. These can also be specified on the VSI Project Properties page via
Configuration Properties > SN-DBS > Additional Options for SN-DBS.

Option Action
-aa Always use alternative dependency tracking for problematic files. This is
useful when a macro-based include statement resolves differently when
included in different source files.
-na Disables the alternative fallback mechanisms entirely, relying only on
scanning the source-files to determine dependencies; this mode should
be used for the fastest build time, but will most likely cause builds to
fail if SN-DBS cannot determine dependencies.
-wa Issues warnings to stderr when falling back to either of the alternative
dependency-scanning mechanisms
-wi Issues warnings to stderr when it encounters any #include MACRONAME
constructs.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 25
Building with SN-DBS

Command line options for DbsBuild


The program dbsbuild.exe is a compiler wrapper that passes the input source files
to the SN-DBS service for distributed compilation.

Option Action
-aa Always use alternative dependency tracking for problematic files.
This is useful when a macro-based include statement resolves
differently when included in different source files.
-ch Causes cache hits to show the text "DBSBUILD: CACHE HIT:
<filename>" on stdout.
-chx Show cache hits but also prints the job hash.
-di Prints out the discovered dependency tree.
-gt Allows generic tools. See "Simple Data Tools" on page 48 for
details.
--help Prints the usage information.
-k Keep going on errors.

-l Schedules the job locally.

-m <marker> If the default command-line marker character '$' conflicts with


your build system, it is possible to change it using the -m option.
For example, if you gave the option '-m @' then the markers
would be recognised by the presence of the '@' character. In this
case, the input-file marker would be recognised as '@@I:' rather
than '$$I:'. See "Data builds" on page 48. This setting is intended
for use with a makefile based build, and not for VSI.
-n <name> The name of the job. This will appear in the Completed File
column of the Build Progress view. If unspecified it defaults to the
first input file found.This setting is intended for use with a
makefile based build, and not for VSI.
-na Disables the alternative fallback mechanisms entirely, relying only
on scanning the source-files to determine dependencies; this
mode should be used for the fastest build time, but will most
likely cause builds to fail if SN-DBS cannot determine
dependencies.
-p <name> The name of the project this job or script belongs to.
-s <script_file> Specifies the name of the script file which contains the list of jobs
to distribute. See "Building with script files" on page 27.
-t <timeout> Timeout of job in minutes (overrides default setting for tool).
-v Verbose warnings will be shown when the agent cannot be found
and the job has to be done locally.

--version Print version information and exit.


-wa Issues warnings to stderr when falling back to either of the
alternative dependency-scanning mechanisms
-wi Issues warnings to stderr when it encounters any #include
MACRONAME constructs.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 26
Building with SN-DBS

These options can also be set in a DBSBUILD_OPTS environment variable. At startup,


DbsBuild reads the parameters out of DBSBUILD_OPTS and then adds on the
command line parameters.

Command line options for DbsRun


These parameters to DbsRun are passed on to all instances of DbsBuild.

Option Action
-aa Always use alternative dependency tracking for problematic files. This
is useful when a macro-based include statement resolves differently
when included in different source files.
-ch Causes cache hits to show the text "DBSBUILD: CACHE HIT: <filename>"
on stdout.
-chx Shows cache hits but also prints the job hash.
-gt Allows generic tools. See "Simple Data Tools" on page 48 for details.
--help Prints the usage information.
-log Writes log events for this build to the given log file (otherwise uses the
<logfile> standard log file).
-na Disables the alternative fallback mechanisms entirely, relying only on
scanning the source-files to determine dependencies; this mode should
be used for the fastest build time, but will most likely cause builds to
fail if SN-DBS cannot determine dependencies.
-timeout How long the build will be allowed to run before exiting.
<mins>

--version Print version information and exit.


-wa Issues warnings to stderr when falling back to either of the alternative
dependency-scanning mechanisms
-wi Issues warnings to stderr when it encounters any #include
MACRONAME constructs.

Potential problems using SN-DBS and makefiles


There are many different ways to use makefiles, and depending on exactly how your
makefile project is set up, it may not be able to achieve the parallelism necessary to
get the best results out of SN-DBS.
The best results (in terms of reduced build times) are usually achieved with flat,
wide project structures. Deeply-nested recursive projects that change into sub-
directories, build a small number of files in that directory and then change out of it,
do not tend to allow sufficient parallelism to achieve significant build-time
improvements. Projects that build a large number of independent source files from
the same root directory will see greater improvements when using SN-DBS.
Projects composed of many small libraries will not benefit so much from SN-DBS as
those that build a large number of source files into a single library or executable.
When using recursive make invocations, it is necessary that the child invocations of
make are issued with the correct CC and -j arguments. That way, each individual
makefile is processed with the maximum available parallelism and the speed-ups
that SN-DBS brings. However, recursive invocations of make should not be prefixed
with DbsRun and there should be only one instance of DbsRun, at the root of the
whole distributed build.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 27
Building with SN-DBS

Due to the flexibility and variety of makefile-based projects, it is impossible to give


concrete statements about the viability of using SN-DBS with any one particular
project. However, if you would like to talk to someone at SN Systems about the
applicability of SN-DBS to your particular project, please contact support@snsys.com
describing your build configuration and including your makefile(s), to ascertain
whether SN-DBS can be used with your particular build configuration.

Building with script files


You can issue multiple jobs to SN-DBS at once using a script file. Create a file which
contains one job per line, like a batch file. Then call:
dbsbuild -p <project_name> -s <script_file>

The project name is optional but useful when looking at the SN-DBS UI. The jobs in
the script do not need to be prefixed with 'dbsbuild' as they do when issuing them
on the command line. You should be able to give the script a .bat extension and run
it locally like a batch file. The instance of dbsbuild will return when it has received a
build result for each job in the script. This is how VSI issues jobs to SN-DBS, using
one script file per project.
For simple makefiles you can create a script with a just a few lines. The following
lines are provided as an example only. The variables CC, CFLAGS, INCLUDES, OBJS,
LD, LDFLAGS, LIBPATHS, and LIBS should be familiar to someone used to working
with makefiles.
BUILD_SCRIPT = MyScript.dbs
DBSBUILD = DbsBuild
all: $(TARGET).elf
$(BUILD_SCRIPT):
@for %%f in ($(patsubst %.o,%,$(OBJS))) do \
echo $(CC) $(CFLAGS) $(INCLUDES) -c %%f.c -o %%f.o
>>$(BUILD_SCRIPT)
$(TARGET).elf: $(BUILD_SCRIPT)
$(DBSBUILD) -p MyProject -s $(BUILD_SCRIPT)
$(LD) $(LIBPATHS) -o $@ $(OBJS) $(LIBS) $(LDFLAGS)

The command line would then simply be:


DbsRun make -f Makefile

Alternatively, you could call DbsRun inside the makefile by prefixing it on the call to
DbsBuild. Specifying it on the command line though allows you to have multiple
calls to DbsBuild without needing to invoke DbsRun each time. You can also use
make with the -j flag to issue multiple scripts to SN-DBS in parallel. Note that the
script extension of .dbs has no significance other than for identification. SN-DBS
does not have any registered file extensions.

Monitoring the build


Four extra tabs on the SN-DBS main window are used to monitor a build: Build
Progress, Build Activity, Build History and Project Progress. Build Progress, Build
Activity and Project Progress will be opened automatically when you initiate a build
if they are not open already. All four tabs can be opened and closed on demand via
the View menu.(see "View menu" on page 18).
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 28
Building with SN-DBS

Status bar
Once the SN-DBS network has been discovered, the status bar of the Network View
will show information about the network, namely the number of agents and the
current broker.

When a build is initiated, the status bar will change to show statistics for the build.
These show the time taken, the number of files processed, and the number of
agents used. The latter two values will be 0, whilst the files are being synchronized
on the remote file caches. This action is indicated in the status bar.

Once the caches are synchronized, the details are updated with the number of
agents being used, and the number of files built versus the total number of files.

Once the build is complete, the final statistics are presented.

Viewing build progress


The Build Progress tab provides information about each file that is processed
during the build.

As each file is compiled the following information is displayed (for that file):

Completed File Compiled filename.

Project The project this file belonged to

Agent Used Agent used to compile this file.

End Time End time of the compilation.

Time Taken Duration of the compilation.

Results Whether the compilation was successful.

The list will automatically scroll downwards as more results are added. This behavior
will stop if you scroll up to another part of the list. Scrolling back down to the
bottom of the list will cause the list to automatically scroll again.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 29
Building with SN-DBS

The statistics at the bottom indicate the duration of the compiled build, the number
of files that have been processed and the number of agents that were used to
compile the build.
At the end of the build, if you click the Results column header all the warning and
error results and failures will be placed together.

The following image shows the progress of some rescheduled builds.

Viewing build activity


The Build Activity tab graphically represents an overall picture of the agents being
used during the current build.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 30
Building with SN-DBS

For each agent there are two or more bars. The top (gray) bar reports file
synchronizing. Below this is one bar for each CPU the remote agent is using. In the
above screenshot each agent is using 4 CPUs.

Viewing project progress


Each Visual Studio project is listed, along with the overall progress of that project.
When using a build mechanism other than Visual Studio (e.g. Make), you may
sometimes notice that the overall progress decreases. This is because SN-DBS starts
processing tasks as soon as they arrive, so the number of total files reported for a
project can increase as the build progresses. As this happens, the progress
percentage decreases.

Viewing build history


The Build History tab displays a summary of the most recent builds that used SN-
DBS.

The following information is displayed for each build:

Time Time of day that the build occurred.

Duration The number of minutes that the build took to complete.

Agents Number of SN-DBS agents used in the build.

Files Number of source files compiled.

Errors Number of errors in the build.


USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 31
Building with SN-DBS

Warnings Number of warnings from the build.

Error handling
If a compilation fails, error messages are returned in the same way as if the
compilation were being run locally. SN-DBS will relay textual output from the
compiler back to the initiating PC, where it is displayed in the VSI output window.
If a PC is switched off during compilation or an agent exits, SN-DBS will reschedule
the job. If this fails it will execute the compilation locally. In these circumstances a
build will always be performed but the overall performance may be impaired.
Build jobs that fail due to compiler license errors will be rescheduled to other
agents. When an agent fails a build due to a license error, it will stop reporting that
compiler as one of its available tools.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 32
SN-DBS configuration and administration

4: SN-DBS configuration and


administration

Configuring agents
If you wish to amend information about the agent and/or the way your PC works
within SN-DBS, select Configure from the notification area icon shortcut menu (see
"SN-DBS shortcut menu" on page 16) or the File menu (see "File menu" on page 18).
The Configuration dialog is divided into tabbed pages.
For each tab, amend the details as necessary and click Apply. Where relevant,
amendments will be displayed on the Members tab of the SN-DBS main window. See
”Viewing members information” on page 19.

General tab

Agent Settings

Name Name that appears in the Members tab of the main window.

Label The label for this agent, which is an arbitrary tag for easy
identification. It may help to mark all the machines in a particular
physical location, or to identify all the QuadCores, for example.
Multiple labels can be specified by using a semi-colon to separate
them, e.g. label1;label2;label3.

Dedicated Sets this agent to be a dedicated server (assumes no interactive user


Server so jobs can be run at a higher priority).

Provide Build Check this option and this PC will be used to provide build services
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 33
SN-DBS configuration and administration

Services and initiate builds. If unchecked it will only be used to initiate builds.

Prefer Allows you to choose whether or not dedicated servers are


Dedicated considered more favorably when selecting agents for remote builds.
Servers

Logging

Enabled Please leave at the default setting.

Max. Log Size Displays the maximum size the log file will grow to on disk.
(Mbytes)

Updates

Allow Silent Determines whether the agent will be notified about automatic
Updates updates or whether they will occur transparently.

DLL Detection

Excluded DLLs A list of regular expressions describing DLLs to be excluded from the
DLL detection for generic tools. See "Simple Data Tools" on page 48
for details.

Network tab

Addressing

Port Number The port number that will be used by the TCP/IP connection. This
will be set to 10003 by default. This value must be the same for all
PCs within the SN-DBS network.

Network Adapter If you have more than one active network adapter, specify the
preferred network interface.

IP Address IP address of this agent. If you have more than one IP address
bound to the network card, specify the preferred address.

Broker Discovery

Manual Discovery Determines how this agent will locate the broker. If unchecked the
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 34
SN-DBS configuration and administration

(recommended) broker will be selected automatically. If checked the named broker


will be used by this agent. See "Named broker configuration" on
page 41.

Address of When Is Named Broker is unchecked, enables you to specify the


Named Broker DNS name or IP address of the named broker. This option will only
be available when Manual Discovery is checked.

Set this PC to be Determines whether this agent will be the named broker. Note that
the Named Broker this option will only be available when Manual Discovery is
checked.

Broker Settings

Allow older This controls whether or not the broker will allow older agents to
agents to connect join the network. Agents that are too old to be compatible will still
(if compatible) be rejected.

Allow newer This controls whether or not the broker will allow newer agents to
agents to connect join the network. The newer agents will do their own checks to
make sure they are compatible with the current broker.

Push out updates If checked, agents with a different version will be sent the installer
for the current broker version.

Fallback Broker Address of fallback broker. See "Named broker configuration" on


page 41. This option will only be available if Set this PC to be the
Named Broker is checked.

Number of server This controls the maximum number of server cores that the broker
cores to allocate will allocate to each client that initiates a build.
to each agent This option will only be available if Set this PC to be the Named
Broker is checked.

Set Update Allows you to change the message that is sent out along with the
Message update.

CPUs tab

For Locally Specify the CPU usage when initiating a build. See "Specifying the
Initiated Builds number of CPUs used" on page 40.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 35
SN-DBS configuration and administration

Use local CPUs When there are insufficient remote agents to complete the build,
your local PC will be used for compilations as well as remote PCs.

For Remotely Specify the CPU usage when your PC is building on behalf of
Initiated Builds another agent.

HyperThreading If your PC is capable of hyperthreading, check this option and the


hyperthreaded CPUs will be shown in the SN-DBS network as 2
CPUs. By default, SN-DBS will treat the CPUs as one.

Rating Enables you to re-calculate your suitability rating within the SN-
DBS network. See "Recalculating an agent's performance rating" on
page 40.

Cache Control tab

Update Calculate and display the current size of the cache.

Enable cache Enables SN-DBS to read from the cache.


reads

Enable cache Enables SN-DBS to write results to the cache.


writes

Cache location Location of the cache.

Delete Enables you to delete either the oldest or the newest cache entries.
oldest/newest Note that if you change this option to oldest, the "entries before"
cache entries text in the Reduce Cache Now section, changes to "entries after".

Monitor cache If checked, SN-DBS periodically scans the cache to determine if it has
reached a preset limit, at which point it will be reduced to a specified
limit. See "Controlling the caching mechanism" on page 43.

Reduce cache Immediately reduces the size of the cache. You can either remove
now entries before a given date or reduce the whole cache to a given size.

Delete all cache Deletes all cache files.


files
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 36
SN-DBS configuration and administration

Busy Detection tab

This tab controls the thresholds that the SN-DBS agent uses to determine when its
host PC is busy, and thus unable to participate in distributed builds. If any of the
thresholds are exceeded then the busy condition will be triggered. Each threshold
can be set individually.

Note: On Windows Vista it may be necessary to set the Hard Disk Usage threshold to
100% because of the background hard disk usage of Windows Vista.

Hardware Detection

CPU Usage The CPU Usage slider determines how much of the available CPU
power can be given over to other tasks (aside from SN-DBS) before
the agent will decide that the host PC is busy. When CPU usage
exceeds this level, the agent will tell the broker it is busy, no further
jobs will be scheduled to this agent and the agent will abort any
jobs currently in progress.

Hard Disk The Hard Disk Usage slider determines how much of the available
Usage total disk I/O capacity of the host PC can be used for other tasks
before the agent will decide that the host PC is busy. When disk I/O
exceeds this level, the agent will tell the broker it is busy, no further
jobs will be scheduled to this agent and the agent will abort any
jobs currently in progress.

Free RAM The Free RAM slider determines the minimum amount of free RAM
that can be available before the SN-DBS agent will decide that the
host PC is busy. When free memory drops below this level, the agent
will tell the broker it is busy, no further jobs will be scheduled to
this agent, and the agent will abort any jobs currently in progress.

Free Hard Disk The Free Hard Disk Space slider determines the minimum amount
Space of free disk space that can be available before the SN-DBS agent will
decide that the host PC is busy. When available disk space drops
below this level, the agent will tell the broker it is busy, no further
jobs will be scheduled to this agent and the agent will abort any
jobs currently in progress.

Reset To Resets all the busy-detection thresholds to their default values.


USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 37
SN-DBS configuration and administration

Defaults

Excluded Processes

(browse button) Click to specify a list of processes that will be ignored when
determining if the host is busy. See "Excluding processes from 'host
busy'" on page 39.

Colors tab

This tab allows you to change the color scheme used by SN-DBS.

Remote configuration
The Named Broker is able to configure certain settings on remote agents. Settings
that only apply locally, such as the those on the Colors tab, are not available for
remote configuration.
1. On the Named Broker, right-click the agent to configure and select Named
Broker Tasks > Configure.... This will display the configuration dialog
populated with the settings for the remote agent.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 38
SN-DBS configuration and administration

2. Change settings as required. The new values will be sent to the remote agent.
Note that the name and IP address of the remote agent are displayed in the
title bar of the configuration form.
You can edit settings for multiple agents at once. Select the agents to configure,
right-click and select Named Broker Tasks > Configure.... The configuration
dialog will be shown, but with all settings initially disabled. To apply a setting,
select the checkbox for that setting and then modify the value.

When settings are applied, only the active settings are sent to the remote
agents. The text in the title bar shows that you are configuring remote agents.
You can double-check which agents are being configured as they will still be
selected in the Members View window.
Different PCs can obviously have a different number of processors. If you select
a dual-core and a quad-core, the settings will allow you to specify that both PCs
should use 4 CPUs when providing build services. When the dual-core machine
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 39
SN-DBS configuration and administration

receives this new setting, it will compare it against its own number of physical
CPUs, and reduce the setting to 2.

Excluding processes from 'host busy'


SN-DBS monitors the local host to determine whether or not it is busy. Some
programs are designed to run only when the system is idle and can take up a
significant amount of CPU time, e.g. Folding@home. These programs can mislead
SN-DBS into thinking that the host is busy all the time, and the host will therefore be
excluded from all build jobs.
SN-DBS allows you to specify a list of processes that will be ignored when
determining if the host is busy.
1. From the SN-DBS main window select File > Configure.
2. Select the Busy Detection tab.
3. Click Excluded Processes.
The following dialog will be displayed:

The text box contains the list of processes to ignore.


4. Click Browse for an executable to locate an executable file.
5. Click Running processes to view the list of running processes.
A dialog similar to the following will be displayed:

6. Select the processes you wish to exclude, using the checkboxes.


USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 40
SN-DBS configuration and administration

7. Click OK to add them to the Excluded Processes list.


8. Click OK to return to the Configuration dialog.
The Cancel and Apply buttons will be activated if any changes were made.

Specifying the working directory


By default SN-DBS uses a temporary working directory requested from the operating
system. However it can be useful to specify a fixed working directory so that it can
be excluded from system auditing software or virus scanners. This in turn would
help improve the speed of SN-DBS.
Specifying the working directory is an advanced setting and must be done by
manually editing the agent configuration file.
This is located in:
%SN_COMMON_PATH%\SN-DBS.
1. Ensure that the service is not running by selecting Stop Service from the
shortcut menu (see "SN-DBS shortcut menu" on page 16).
2. Open the DbsAgent.ini file and add the line:
ServerWorkArea=string:<folder>
under the LocalSettings section, where <folder> is the full path to the work area
you have designated. Note that this must be a folder visible to the service, not
just the currently logged in user (e.g. not a mapped drive). If the path given is
invalid or inaccessible then SN-DBS will revert to the default working directory.

Specifying the number of CPUs used


When more than one CPU is available to an agent, you can specify how many will be
used to supply build services to other agents as follows:
1. If your PC has more than one CPU, select Configure from the notification area
icon shortcut menu. Select the CPUs tab. See "CPUs tab" on page 34.
2. Select the appropriate option from the relevant drop-down list. Note that you
can specify any number of CPUs to be available for either locally or remotely
initiated builds, i.e. 1 up to the number of CPUs in the computer.
3. Check Use local CPU(s)... if you wish to speed up the build by using your own
PC to perform some of the jobs.
4. If available on your PC, check HyperThreading and each hyperthreaded CPU will
be shown as 2 CPUs in the SN-DBS network.
5. Click Apply.

Recalculating an agent's performance rating


You can recalculate your performance rating within SN-DBS as follows:
1. Select Configure from the notification area icon shortcut menu (see "SN-DBS
shortcut menu" on page 16) or the File menu (see "File menu" on page 18).
Select the CPUs tab. See "CPUs tab" on page 34.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 41
SN-DBS configuration and administration

Your existing rating will be displayed in the Per CPU Rating box.
2. Click the Recalculate button.

The Performance Rating dialog will appear. Ensure your PC is idle, i.e. it is not
building or running or performing any other CPU-intensive tasks, before clicking
the Calculate button. The cursor will change to the hourglass (wait cursor) for a
few seconds whilst the calculation takes place.
3. When the calculation has finished the new performance rating will be displayed:

4. Click Accept to update the Displayed Rating value on the CPUs tab of the
Configuration dialog.
5. Click OK to accept the new rating.

Named broker configuration


The SN-DBS network uses the automatic discovery mode by default. The named
broker mode however, allows one PC to be selected as the broker and if required, all
other agents can be manually configured with the IP address of the broker PC.
In addition, the broker can specify a second agent, known as the fallback broker,
that will act as the named broker in the event that the original named broker agent
fails or is otherwise disabled. The specified hostname or IP address for the fallback
broker is sent by the named broker to all other agents, and if the named broker
should at some future time fail or be switched off, the remaining agents will switch
over to using the configured fallback broker.
For the PC that is to be the named broker:
1. Select Configure from the "SN-DBS shortcut menu" on page 16 or the "File
menu" on page 18. Select the Network tab. See "Network tab" on page 33.
2. Set Broker Discovery to Manual Discovery (recommended).
3. Check the Set this PC to be the Named Broker option to show that the local PC
is the named broker for the SN-DBS network. You will be prompted to confirm
that you want to make this PC the named broker.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 42
SN-DBS configuration and administration

4. The address of the Fallback Broker can optionally be set to the hostname or IP
Address of another agent that will become the broker if the named broker fails.
For all other agents in the SN-DBS network:
1. Select Configure from the "SN-DBS shortcut menu" on page 16 or the "File
menu" on page 18. Select the Network tab. See "Network tab" on page 33.
2. Set Broker Discovery to Manual Discovery (recommended).
3. Set Address of Named Broker to the IP address of the named broker or the
host name.
4. Make sure that Set the PC to be the Named Broker is unchecked.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 43
SN-DBS configuration and administration

Advanced configuration
If required, you can set up alternative SN-DBS networks, where compilations would
only be shared between members of the relevant network. To do this, in the
Network tab, specify a different Port Number for each SN-DBS network, i.e. each
member of a particular network must have the same Port Number.

Controlling the caching mechanism


Note that version 2.x of SN-DBS uses a different caching mechanism to version 1.x,
and so cache entries created by version 1.x cannot be used by version 2.x.
Cache options are controlled from the Cache Control tab of the Configuration
dialog. This is accessed by selecting Configure from the "SN-DBS shortcut menu" on
page 16 or the "File menu" on page 18 and then clicking the Cache Control tab.
This is a typical view of the Cache Control tab:

The size of the cache is not calculated automatically. Click Update to calculate and
display the current size of the cache.

Cache Control
The Cache Control tab controls how the cache works in normal operation. You can
choose whether or not to read from the cache, write results to it and automatically
monitor it. The default settings are to take no action.
The cache can be located on a local disk or shared server. A local disk will result in
faster access times, but a remote server allows you to share cache results with other
users.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 44
SN-DBS configuration and administration

Note: The caching algorithm takes into account the current working directory and
file paths. This means that your users should each have the same project directory
structure to make best use of a shared object cache.

The Monitor cache facility instructs SN-DBS to periodically scan the cache and
determine if it has reached a preset limit. When this occurs the cache is reduced to
the limit specified. Files are deleted using a 'Least/Most Recently Accessed' list,
depending on the oldest/newest setting in the General Settings section of the Cache
Control tab.

The cache can be checked weekly, daily or hourly.

Reduce cache now


The Reduce cache now section is used to immediately reduce the cache size. You can
remove entries before a certain date or can reduce the whole cache to a given size.
The latter option uses the 'Least Recently Accessed' list to determine the order of file
deletion. These operations automatically update the size of the cache displayed at
the top of the dialog.

Note: Depending on the size of the cache these operations may take a few minutes.

User Interface reporting


Cache results are shown in a separate color and appear under the agent name
<cache>. Results with errors or warnings still show up in the original colors for easy
identification.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 45
SN-DBS configuration and administration

The caching algorithm


The details of the algorithm used for fetching previously built files from a cache are
presented below.
The file to be compiled is checked for dependencies (typically the collection of
header files) and the full set of input files determined (including the files for the
compiler). The contents of all the files are then hashed.
The hashes for the input files are combined along with the hashes of the job's
working directory and arguments. This hash is then appended with a $ followed by
the input file name. This is the job hash.
e.g. 5d41402abc4b2a76b9719d911017c592$main.c
A complete cache entry is made up of one or more files. These files are the output
files for the job and two text files containting the stdout and stderr from the job.
The file names are made up from the job hash followed by a $ and then the name of
the output file. In the case of the stderr and stdout files, these are appended with
stderr.txt and stdout.txt respectively. These files reside inside the cache bucket
named after the first 2 characters of the hash.
e.g.
C:\cache\5d\5d41402abc4b2a76b9719d911017c592$main.c$main.o
C:\cache\5d\5d41402abc4b2a76b9719d911017c592$main.c$stderr.txt
C:\cache\5d\5d41402abc4b2a76b9719d911017c592$main.c$stdout.txt
The hashing algorithm used is currently MD5.

Automatically updating the SN-DBS software


The broker PC can be configured to update all other agents in the SN-DBS network.
When a new version is installed, SN-DBS will detect this and ask if you want to push
out the new version to the other agents. This setting can be changed at a later time
via the Push out updates option on the Network tab (see "Network tab" on page
33).

Note: It is no longer necessary to select the Send Update... option to push an


update out through the broker but if you click this option a brief explanation of the
new procedure will be displayed. Note also that the update mechanism allows you to
downgrade the network to an earlier version, although this can only be done for
versions greater than 2.0.47.19.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 46
SN-DBS configuration and administration

SN-DBS utility
The program dbsutil.exe allows you to obtain SN-DBS network information and
make certain changes from the command line.
Usage:
dbsutil <options>

where available <options> are described in the following table:

Option Action
-check- Reports template information about the given tool. This allows
template<tool> you to see specifics about what files are sent over with the tool
as well as other relevant information. This will first look for a
side-by-side template (see "Templates" on page 50 and then
enumerate through the relevant templates in the SN-
DBS\Templates folder. If no matches are found a generic
template is consructed, as would be used when supplying the -
gt flag (see "Command line options for DbsBuild" on page 25
and "Command line options for DbsRun" on page 26). Evaluation
is done using the current set of environment variables. This
allows you to check which files are being sent out in your
current build environment, which may differ to your normal
system environment. You can specify the full path to the tool, or
just the exectable name and it will be found on the PATH
environment variable. e.g.
-check-template ppu-lv2-gcc
-check-template C:\usr\local\cell\host-win32\ppu\bin\ppu-lv2-
gcc.exe
-clear-fcache Clears the file-cache at the given agent if specified, or else at
[<ipaddr>]|<host>] every remote agent.
-cpu Detect and print CPU type.
-cr <on|off> Turn cache reads on/off.
-cw <on|off> Turn cache writes on/off.
-delete-cache Delete all files in the cache (not currently being accessed).
-get-log <agent> Retrieves a log file from an agent, where:
<day> <output> agent = <ipaddr> | <hostname>
day = -today | -yesterday | -date <YYYY-MM-DD>
output = -stdout | -o <filename>
Examples of use are:
-get-log 192.168.0.50 -today -o C:\temp\log.txt
-get-log build-pc2 -date 2009-02-27 -stdout

-l List all agents in SN-DBS network.


-L As above, but also lists each agent's tools.
-reduce-cache <MB> Reduce cache to <MB> size in megabytes.
-ult This Update Local Tools option can be used on demand to scan
the system for installed tools, using the environment variables
in force when Dbsutil is launched.
Thus it is possible to establish a specific environment (paths,
SCE_PS3_ROOT, etc), and call Dbsutil -ult to detect the tools
based on that environment. See "General tab" on page 32.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 47
SN-DBS configuration and administration

Note that the following three options require elevation when running on Windows Vista
with UAC turned on.
-restart-agent Restart the SN-DBS agent service.
-start-agent Starts the SN-DBS agent service (if it is not currently running).
-stop-agent Stops the SN-DBS agent service (if it is currently running).

Note: The option '-reduce-cache 0' is not the same as '-delete-cache' as the former
can leave behind zero-byte files.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 48
Data builds

5: Data builds

Introduction
By default SN-DBS only supports tools from SN Systems and SCEI. You can however
extend the use of SN-DBS so that it distributes the work of third-party command-line
tasks that meet certain requirements.
To achieve this you will need to create templates in the same format as those that
ship with SN-DBS. See "Templates" on page 50 for further details.
For very simple tools which consist of just a single executable, a tool template may
not be needed. See Simple Data Tools on page 48 for further details.

Requirements for data builds


The job will be executed silently on a remote machine. This means that the task
must run to completion in all cases, with no user interaction.
The only allowed inputs are:
„ Files read from disk which must also be specified on the command line (or
listed in the tool template)
„ Environment variables (the client's environment variables are automatically
transferred to the server and applied to the process performing the job)
„ Command line parameters
The only allowed outputs are:
„ Files written to disk. These do not have to be specified on the command line as
SN-DBS will automatically identify and return created files. Note that files
created under the system temporary directory (%TEMP% or %TMP%) will not be
returned.
„ The stdout and stderr
The tool that executes the task must return zero to indicate success and a non-zero
value to indicate failure. The result will be returned to the calling process (at the
initiating end) by dbsbuild.

Simple Data Tools


Some tools are very simple, consisting of just a single executable. SN-DBS can
handle such tools without the need for a tool template. By passing the -gt flag to
DbsRun or DbsBuild, SN-DBS will scan the executable's import table to determine if
any DLLs are required, and will sync all discovered files to the remote servers. A list
of DLLs to exclude from this process can be specifed on the General tab of the
Configuration dialog. See "Configuring agents" on page 32 for further details.
Should the tool start an external executable (e.g. by calling CreateProcess), or load a
DLL through a runtime mechanism (such as calling LoadLibrary), then a tool
template will be needed to describe these dependencies.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 49
Data builds

Invoking different tools


Additional tools must be invoked using dbsbuild on the command line. See "Building
with makefiles" on page 24 for more information on how to distribute a makefile
based build.
Output files are automatically identified and returned to the initiating client. Note
that files created under the system temporary directory (%TEMP% or %TMP%) will not
be returned. In previous versions special output file markers ($$O:) were required to
identify output files. These markers are no longer necessary but are still supported.
You do not need to remove these markers from any existing build systems you may
have.
Input files can be specified in two ways.
1. You can specify a known file extension in the template (see "Templates" on page
50). SN-DBS will parse the command line for arguments ending in this
extension. If the argument is found to be an existing file, it will be sent out as
part of the job.
2. You can explicitly identify the input file with the input file marker $$I:. e.g.
dbsbuild bmp2jpg $$I:car.bmp car.jpg

The input file marker will be stripped away when run on the remote agent.
These two methods are compatible with each other, allowing you to specify both an
extension in the template and an input file marker. This means new build systems
can be made simpler than previous setups, but the existing ones do not need to be
modified.
Previous versions supported the special comment marker $$C. This allowed you to
specify input and output file markers, whilst not having this information appear on
the command line. e.g.
bmp2jpg car.bmp $$C $$O:car.jpg

would indicate to SN-DBS that car.jpg was an output file, but the actual command
used is:
bmp2jpg car.bmp
This marker is still supported so you do not need to modify existing setups.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 50
Templates

6: Templates

Introduction to templates
Tool templates are used by SN-DBS to identify tools and their requirements. You can
create your own templates, expanding the list of tools SN-DBS can distribute jobs
for. This allows you to distribute tasks such as texture conversion, or sound
processing.
The tool templates for the currently supported tools are stored in the SN-
DBS\Templates folder.
This is located in:
%SN_COMMON_PATH%\SN-DBS\Templates
You can add new templates here and SN-DBS will display them in the UI. After adding
a new template you will probably need to select File >Update Local Tools from the
UI menu.
Alternatively, you can specify a template alongside the tool executable. This is called
a side-by-side template. This tool will not be shown in the UI, but has the advantage
that it can be automatically updated via source control. A side-by-side template must
have the same name as the executable and be appended with ".sn-dbs-tool.ini". e.g.
for tool.exe the template would be called tool.exe.sn-dbs-tool.ini.
For details about creating templates please see "Template format" on page 50.

Template format
The templates are used to describe a tool so that SN-DBS knows about the necessary
files. Templates also show up in the UI, allowing you to perform actions such as
excluding agents for a given tool. The template is a simple .ini file with 3 sections.

Tool section
This describes some basics about the tool. In most cases, just the search_path and
extension keys should be required. e.g.
[tool]
search_path=%mytools%\bin;C:\utils\bin
extensions=.abc

The full set of values are:


Name: freely_distributable
Value: Yes/No
Required: No (defaults to Yes)
Purpose: If set to No, a remote agent must also have this tool in order to service
builds. This is usually specified on tools that need a license.
Name: timeout
Value: The timeout value for the tool in seconds.
Required: No (default is 300, or 5 minutes)
Purpose: The timeout value is how long a job is allowed to run for on a remote
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 51
Templates

agent. This is to catch hangs or other related problems. The default timeout is
appropriate to compilation tasks, which may not be long enough for some custom
tools. This setting allows you to override the default 5 minute timeout to something
more appropriate.
Name: search_path
Value: The search path on which to look for the tool executable.
Required: Yes
Purpose: A semi-colon delimited list of folders. Environment variables can be used
between % signs. e.g. C:\psp\bin;%SN_PSP_PATH%\bin
Name: version
Value: The version number of the tool.
Required: No
Purpose: Allows you to specify the version number that the tool must be. This is
currently used to identify the different versions of the PS3 GCC compiler. Different
versions of this tool have the same main file, but different dependencies.
Name: extensions
Value: The set of extensions used by input files for this tool.
Required: No
Purpose: Allows SN-DBS to automatically identify input files from the command line
without the need for special input file markers (see "Invoking different tools" on
page 49). Multiple file extensions can be specified using a semi-colon as a
separator. e.g. .jpg;.bmp;.gif
Name: 64_bit
Value: Yes/No
Required: No (determined on demand)
Purpose: Allows you to override the automatic detection of whether or not a tool is
32 or 64-bit. This test is performed on the main file, but you may have a supporting
file which can only be used on 64-bit systems. The reason SN-DBS doesn’t test all
the files is to allow for tools which can have 32 or 64-bit support files. For example,
the PS3 PPU SNC compiler driver will run either the 32 or the 64-bit version of the
compiler, based on the host system detected. Checking all files in the template
would mean that SN-DBS would only schedule this tool to 64-bit machines.
Name: use_cache
Value: Yes/No
Required: No (defaults to No)
Purpose: If set to Yes, the build results cache may be used to accelerate builds
using this tool. If set to No, the build results cache is never used for this tool. Note:
Caching must be enabled globally for these settings to have effect. See the "Cache
Control tab" on page 35.

Files section
This section lists the files that are required for this tool. A template must specify a
main file, which is the tool invoked on the command line, and then 0 or more
supporting files. These are typically other executables or DLLs. The main file is
specified with a key called ‘main’, and the other files are specified with keys called
file01, file02, and so on. The files can be specified using absolute paths, or as paths
relative to the main file or a folder on the search path.
e.g.
[files]
main=mytool.exe
file01=toolhelper.exe
file02=..\util\subtask.exe
file03=C:\mydlls\libs.dll
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 52
Templates

Includes section
This section is optional, and in most cases will not be needed. It is used to specify
the location of files that must already exist on the remote agent for it to be able to
process a job for this tool. The keys in this section are the names of the files, and
their value is the search path for that file. This example is taken from the template
for ps2cc, which requires a license file in order to work:
[includes]
snl0000.txt=%SN_PATH%;%SN_PATH%\bin

Examples and help


The best way to learn about the templates is to have a look at the ones that ship
with SN-DBS. These can be found in %SN_COMMON_PATH%\SN-DBS\Templates.
There are additional samples which can be found in %SN_COMMON_PATH%\SN-
DBS\Samples. Using “dbsutil -check-template” will also help in checking that your
template is as desired. See "SN-DBS utility" on page 46 for details.
If you would like further help with creating templates, please contact
support@snsys.com.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 53
FAQs

7: FAQs

Introduction
The following FAQs are included in this section:
„ Why do I sometimes see timeouts in my SN-DBS build logs?
„ How does SN-DBS know what tool to use?
„ Can I leave the Windows Firewall running and just add exception rules to allow
SN-DBS to work through the firewall?
„ Can I get SN-DBS to prefer a set of dedicated build PCs over those of my
colleagues?
„ How can I run Seti@home or Folding@home without SN-DBS thinking the PC is
always busy?
„ I've got a really small, lightweight project. It can build locally faster than SN-DBS
can distribute it. Can I build it locally when performing a distributed build of the
entire solution?

Why do I sometimes see timeouts in my SN-DBS build


logs?
SN-DBS attempts to be intelligent when distributing jobs to remote agents and it will
try to avoid agents who are busy doing other SN-DBS tasks or whose host PC is busy
doing something else. However, it is always possible that an agent may change
status whilst a job is in transit or shortly after a job has arrived.
This is often why you see jobs being re-scheduled, because a PC becomes busy
shortly after an SN-DBS job arrives and the SN-DBS job does not complete before the
initiating agent times out and decides to send the job to a different agent. If a job
cannot be built on any available server, it will be built locally.

How does SN-DBS know what tool to use?


When dbsbuild is invoked it receives the name of the compiler as its first argument,
for example:-
dbsbuild ps2cc foo.c –o foo.o
SN-DBS then checks the list of tool templates to find one which has ps2cc as its main
file. Once a matching template is found, SN-DBS uses the template to determine
where to find the required files. These are then synchronized with the remote agents
in the same way as the other files in the build.

Can I get SN-DBS to prefer a set of dedicated build


PCs over those of my colleagues?
You can specify whether each agent is acting as a desktop PC or a dedicated server
via the General tab of the Configuration form. Change this setting on all your
dedicated servers. For your own agent, check the box marked Prefer Dedicated
Servers on the same tab.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 54
FAQs

How can I run Seti@home or Folding@home without


SN-DBS thinking the PC is always busy?
You can add the processes to a watch list. SN-DBS will then take these into account
when determining if the system is busy. See "Excluding processes from 'host busy'"
on page 39.

I've got a really small, lightweight project. It can


build locally faster than SN-DBS can distribute it. Can
I build it locally when performing a distributed build
of the entire solution?
You can exclude a project from using SN-DBS. Open the VSI project properties and
browse to Configuration Properties -> SN-DBS. Set Exclude use of SN-DBS to 'yes'.
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 55
Index

8: Index
Files section 52
A Filtering the display of members 23

Accessing log files 21


G
Advanced configuration 44
Automatic detection of ProDG tools 8 General tab 33
Automatically updating the SN-DBS software Getting started with SN-DBS 15
46
H
B
Hardware requirements 11
Building on the command line 24 Help menu 19
Building with makefiles 24 How can I run Seti@home or Folding@home
Building with script files 27 without SN-DBS thinking the PC is
Building with SN-DBS 16 always busy? 55
Building with VSI or makefiles 7 How does SN-DBS know what tool to use? 54
Busy Detection tab 37
I
C
Includes section 53
Cache Control 44 Initiating a remote build 23
Cache Control tab 36 Installation and getting started 13
Can I get SN-DBS to prefer a set of dedicated Installing SN-DBS 13
build PCs over those of my colleagues? Introduction 6, 49, 54
54 Introduction to templates 51
Colors tab 38 Invoking different tools 50
Command line options for DbsBuild 25 I've got a really small, lightweight project. It
Command line options for DbsRun 26 can build locally faster than SN-DBS can
Compatibility 11 distribute it. Can I build it locally when
Configuring agents 33 performing a distributed build of the
Contents of release 10 entire solution? 55
Controlling the caching mechanism 44
CPUs tab 35 L
Launching the SN-DBS network view 16
D
Launching the user interface from Start
Data builds 49 menu 16
Document version history 6 Licensing 11

E M
Error handling 31 Monitoring the build 28
Examples and help 53 Multi-processor and multi-core systems 8
Excluding agents from a build 20
Excluding processes from 'host busy' 40 N
Exiting SN-DBS 17
Extending SN-DBS 10 Named broker configuration 42
Named broker tasks 21
Network tab 34
F
Notification area icon 16
Fallback Named Broker 8
FAQs 54 O
File locations 14
File menu 18 Object caching 9
USER GUIDE TO SN-DBS (DISTRIBUTED BUILD SYSTEM) 56
Index

Optimizing the use of SN-DBS 9 T


Overview of SN-DBS 6
Template format 51
Templates 51
P The caching algorithm 46
Potential problems using SN-DBS and The SN-DBS build process 8
makefiles 27 Tool section 51

R U
Recalculating an agent's performance rating Updates and technical support 11
41 Updating the SN-DBS software 10
Reduce cache now 45 User Interface reporting 45
Remote configuration 38
Requirements for data builds 49 V
Role of agents 7
Role of the broker 7 Versions of SN-DBS 10
View menu 18
Viewing available build tools 22
S Viewing build activity 30
Simple Data Tools 49 Viewing build history 31
SN-DBS configuration and administration 33 Viewing build progress 28
SN-DBS menu options 17 Viewing members information 19
SN-DBS shortcut menu 16 Viewing Project Progress 30
SN-DBS user interface 10
SN-DBS Utility 47 W
Software requirements 11
Specifying the number of CPUs used 41 Why do I sometimes see timeouts in my SN-
Specifying the working directory 41 DBS build logs? 54
Status bar 28
System requirements 11

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy