Techila Getting Started Guide

Transcription

Techila Getting Started Guide
TECHILA GETTING STARTED
END-USER GUIDE
24 NOVEMBER 2015
TECHILA GETTING STARTED
2/34
24 NOVEMBER 2015
Disclaimer
Techila Technologies Ltd. disclaims any and all warranties, express, implied or statutory regarding
this document or the use of thereof by you to the full extent permitted by law. Without limiting the
generality of the foregoing, this document provided by Techila Technologies Ltd. in connection
therewith are provided “as-is” and without warranties of any kind, including, without limitation, any
warranties of performance or implied warranties of merchantability, fitness for a particular purpose,
title and noninfringement. Further, Techila Technologies Ltd. does not make, and has not made, any
presentation or warranty that the document is accurate, complete, reliable, current, error-free, or
free from harmful information.
Limitation of Liability
In no event shall Techila Technologies Ltd. or any of its respective directors, officers, employees, or
agents, be liable to you or any other person or entity, under any theory, including without limitation
negligence, for damages of any kind arising from or related to the application of this document or
any information, content, or materials in or accessible through this document, including, but not
limited to, direct, indirect, actual, incidental, punitive, special or consequential damages, lost
income, revenue or profits, lost or damaged data, or other commercial or economic loss, that result
from your use of, or inability to use, this document, even if any of those persons or entities have
been advised of the possibility of such damages or such damages are foreseeable.
Use of this document and copyright
No part of this document may be used, reproduced, modified, or transmitted in any form or means
without the prior written permission of Techila Technologies. This document and the product it
describes are considered protected by copyrights and other intellectual property rights according
to the applicable laws.
Techila, Techila Grid, and the Techila logo are either registered trademarks or trademarks of Techila
Technologies Ltd in the European Union, in the United States and/or other countries. All other
trademarks are the property of their respective owners.
Copyright Techila Technologies Ltd 2010-2015. All rights reserved.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
3/34
24 NOVEMBER 2015
Table of contents
1. Introduction ...............................................................................................................................5
1.1.
Preparation .......................................................................................................................5
2. Techila SDK Installation Procedure ............................................................................................6
2.1.
Downloading the Techila SDK from the Techila Extranet ................................................6
2.2.
Extracting the Techila SDK on Your Computer .................................................................8
2.3.
Configuration & Testing....................................................................................................9
2.3.1. Configuring the techila_settings.ini File with the Configuration Wizard ............................. 9
2.3.2. Configuring the techila_settings.ini File with a Text Editor ............................................... 14
3. Appendix 1: Description of techila_settings.ini File Parameters .............................................17
3.1.
Macros ............................................................................................................................17
3.2.
Server Config ..................................................................................................................17
3.2.1. hostname............................................................................................................................ 17
3.2.2. port ..................................................................................................................................... 18
3.3.
User Config .....................................................................................................................18
3.3.1. alias..................................................................................................................................... 18
3.3.2. keystore .............................................................................................................................. 19
3.3.3. passworddialog .................................................................................................................. 20
3.3.4. storepassword .................................................................................................................... 21
3.3.5. password ............................................................................................................................ 21
3.4.
Status Window Config ....................................................................................................21
3.4.1. Statuswindow ..................................................................................................................... 22
3.4.2. statuswindow.nocloseonerror ........................................................................................... 22
3.4.3. statuswindow.fontsize ....................................................................................................... 22
3.5.
Temporary Directory Config ...........................................................................................23
3.6.
Logging Config ................................................................................................................23
3.6.1. logdir................................................................................................................................... 23
3.6.2. logfiles ................................................................................................................................ 24
3.6.3. maxlogsize .......................................................................................................................... 24
3.6.4. maxlogfiles ......................................................................................................................... 24
3.7.
Logging Level Config .......................................................................................................25
3.7.1. fileloglevel .......................................................................................................................... 26
3.7.2. consoleloglevel ................................................................................................................... 26
3.8.
Error Logging Config .......................................................................................................27
3.8.1. errorfile............................................................................................................................... 27
3.8.2. errordir ............................................................................................................................... 27
3.8.3. stderr .................................................................................................................................. 28
3.9.
Standard Output Config..................................................................................................28
3.9.1. stdoutfile ............................................................................................................................ 29
3.9.2. stdoutdir ............................................................................................................................. 29
3.10.
Standard Error Config .....................................................................................................29
3.10.1. stderrfile ............................................................................................................................. 30
3.10.2. stderrdir.............................................................................................................................. 30
3.11.
Fine Tuning Config ..........................................................................................................31
3.11.1. polltime .............................................................................................................................. 31
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
4/34
24 NOVEMBER 2015
3.11.2. dlretrytime ......................................................................................................................... 31
3.11.3. transfermode...................................................................................................................... 32
3.11.4. execmaxretrycount ............................................................................................................ 32
3.11.5. execretrydelay .................................................................................................................... 33
3.11.6. maxresultsinstream ............................................................................................................ 33
4. Glossary ....................................................................................................................................34
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
5/34
24 NOVEMBER 2015
1. Introduction
This document is intended for End-Users and contains instructions for:


Downloading and configuring the Techila SDK
Testing the configuration settings
This document also contains a comprehensive list of available configuration parameters in the
'techila_settings.ini' settings file. More information on programming language specific configuration
steps and example material can be found in applicable documents located in the 'doc' folder in the
Techila SDK.
The appearance of screenshots and dialogs presented in this document may vary depending on
which operating system and web browser you are using.
1.1. Preparation
Before proceeding, please ensure that you have Java installed on your computer. Java Platform,
Standard Edition 6 (or newer) Java Development Kit (JDK) or Java Runtime Environment (JRE) are
supported.
To find out which version of Java is currently installed on your system from the command line, open
a Command Prompt. Command Prompt is illustrated below in Figure 1.
Figure 1. A Command Prompt.
In the Command Prompt, enter the following command to determine your Java version:
java –version
Figure 2. Determining the Java version.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
6/34
24 NOVEMBER 2015
2. Techila SDK Installation Procedure
The installation procedure is divided into three steps:
1. Downloading the Techila SDK from the Techila Extranet
2. Extracting the Techila SDK on your computer
3. Configuration and testing
2.1. Downloading the Techila SDK from the Techila Extranet
Please follow the instructions below to download the Techila SDK.
1. Navigate to the Techila Extranet and login using your credentials
http://www.techilatechnologies.com/extranet/
Figure 3. Logging in to the Techila Extranet
If you do not have a Techila Extranet account, please create an account using the 'Register' link on
the page.
2. After logging in, click on "Latest Techila SDK Download" on the right hand side menu.
Figure 4. Click the highlighted link.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
7/34
24 NOVEMBER 2015
3. After reading the EULA, click the "Agree and Download" button to download the Techila SDK. Save
the file to your computer.
Figure 5. After agreeing to the EULA, the Techila SDK download will start.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
8/34
24 NOVEMBER 2015
2.2. Extracting the Techila SDK on Your Computer
After downloading the TechilaSDK.zip file from the Techila Extranet, extract the contents of the zip
file to your local hard disk in a directory that does not require administrative permissions for file
operations.
Extracting the ZIP file will create directory structure illustrated below in Figure 6.
techila
doc
examples
lib
logs
Figure 6. Techila SDK directory structure
Directory
doc
Description of Contents
Guides for various programming languages as well as instructions on
how to use the Techila Command Line Interface (CLI).
examples
Example applications implemented in various programming languages,
including MATLAB, R, Python, C and C#. Walkthroughs of the example
material can be found in the programming language specific guides in
the 'doc' folder.
lib
All functions and applications relevant to the operation of the Techila
SDK. The contents of this folder should not be modified unless
otherwise instructed.
logs
Will contain log information generated during past and current
computational Projects
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
9/34
24 NOVEMBER 2015
2.3. Configuration & Testing
Before continuing, please make sure you have your keystore file (e.g. keystore.jks) available. Note
that your keystore file might be named differently. The keystore file contains your personal Techila
Key, which will be required when establishing a connection with the Techila Server. If you do not
have a keystore file, please contact your local Techila Administrator for assistance.
Always place the keystore file in a safe location. If you create your keystore file yourself, please use
a strong password to protect it. Remember that your keystore file contains your personal user
credentials, and the file should not be shared with anyone in any circumstances.The keystore can
be thought as a personal credit card and should be handled with equal care.
There are two possible methods for configuration, which are described in the following Chapters:


2.3.1.
Configuring the techila_settings.ini File with the Configuration Wizard
Configuring the techila_settings.ini File with a Text Editor
Configuring the techila_settings.ini File with the Configuration Wizard
This Chapter contains instructions on how you can configure the 'techila_settings.ini' settings file by
using the configuration wizard. Please follow the steps below to configure your techila_setting.ini
settings file.
1. Navigate to the 'lib' directory in the Techila SDK.
2. Launch the configuration wizard by double-clicking the 'techilaconfig.jar' icon or from the command
line using command: 'java -jar techilaconfig.jar'.
3. After launching the application, the Techila Configuration Utility window will be displayed. Click on
the BROWSE for Settings file button.
Figure 7. The main window will be displayed after launching the configuration wizard. Internal
help can be displayed by clicking the help button on the bottom right of the window.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
10/34
24 NOVEMBER 2015
4. A new window will be displayed prompting for the location of the 'techila_settings.ini.template' file.
Select the 'techila_settings.ini.template' file in the 'techila' directory and click the Open button.
Figure 8. Selecting the 'techila_settings.ini.template' file from the 'techila' directory.
5. After opening the file, a new window will be displayed that can be used to configure the location of
the Keystore file, Username (alias), Techila Server address and Techila Server port
Figure 9. Erroneous values will be highlighted in red. In this screenshot, the 'Keystore
Location' field is highlighted.
6. Click the Browse button and select your keystore file. In the example below, a keystore file called
'demouser.jks' has been selected. Please note that your keystore file will probably have a different
name.
Figure 10. Select the keystore file you received from your Techila Administrator.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
11/34
24 NOVEMBER 2015
7. Click the Open button. The 'Keystore Location' and 'Username (Alias)' fields will change according
to the keystore you selected.
Figure 11. After selecting the keystore file, the 'Keystore Location' field will no longer be
highlighted in red. The 'Username (Alias)' field will be updated automatically.
8. Modify the values of the 'Server Address' and 'Server Port' according to the information you received
from your Techila Administrator.
Figure 12. The 'Server Address' and 'Server Port' details will be provided by your Techila
Administrator.
9. Click the Validate button to verify that the settings are correct. This will initialize a test session on
the Techila Server.
10. When prompted, enter the keystore password and click the OK button.
Figure 13. The password dialog will be displayed after clicking the Validate button.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
12/34
24 NOVEMBER 2015
11. The view will change back to the configuration window. The text field at the bottom of the window
should contain the text. "Configuration validated successfully."
Figure 14. After a successful validation, the 'Next' button will be enabled.
12. Click the Next button to proceed. A new window will be displayed, which contains information on the
parameters that will be written to the settings file.
Figure 15. If you wish to modify any of the values, click the Previous button to return to the
previous view.
13. After you have verified that all the values, click the Write Configuration into File button. A new
window will be displayed.
Figure 16. Save the 'techila_settings.ini' file to the 'techila' directory in the Techila SDK.
14. Click the Save button in the file dialogue to save the file in the 'techila' directory. A notification
message will be displayed indicating that the configuration is complete.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
13/34
24 NOVEMBER 2015
Figure 17. After saving the file, a notification message will be displayed indicating that the
configuration was successful.
You have now successfully configured and tested your settings file.
Please continue by performing any programming language specific configuration steps defined in
the applicable documents in the doc folder. After you have performed all necessary configuration
steps, you can continue by running example applications located in the examples folder. It is also
advisable that you familiarize yourself with the document Techila Fundamentals, which provides
information on how the Techila system operates.
You can also examine the additional configuration parameters in the settings file, which are
presented in the Appendix in Chapter 3.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
2.3.2.
14/34
24 NOVEMBER 2015
Configuring the techila_settings.ini File with a Text Editor
This Chapter contains instructions on how you can configure the 'techila_settings.ini' settings file
by using a text editor. Instructions are also provided for testing the configuration by using the
command line interpreter of your operating system.
Steps for configuration and testing are listed below.
1. Navigate to the 'techila' folder and locate the 'techila_settings.ini.template' file. Copy or rename this
file to 'techila_settings.ini'. This step is necessary to ensure that new versions of the Techila SDK do
not overwrite your previous configuration settings.
2. Open the 'techila_settings.ini' file with a text editor and edit the following lines according to the
information you have received from your Techila administrator:
hostname=techila.example.com
keystore={user.home}\{user.name}.jks
Note! If your Techila Administrator informs you that you are not using the default port (25001),
remove the comment mark from the line '#port=25001' and enter the correct port.
3. It is also recommended to edit the line defining the location of the temporary directory so it points to
a folder located on a local hard disk.
tempdir={inidir}\temp
If the temporary directory is located on a network drive, the performance of your system can suffer
when creating computational projects.
4. Save the changes you made to the 'techila_settings.ini' file and close the text editor.
The following steps contain instructions on how you can test your configuration.
5. Open a Command Prompt
Figure 18. Command Prompt.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
15/34
24 NOVEMBER 2015
6. Change your working directory to the 'techila' folder. The installation path may be different on your
computer than in the figure below.
Figure 19. Changing the current working directory to the 'techila' folder.
7. Initialize a session on the Techila Server using command:
java -jar ./lib/techila.jar init
Figure 20. Initializing a session on the Techila Server with the 'init' command.
If everything works, you should receive see the Graphical Password Dialog prompting you for your
password.
Figure 21. The Graphical Password Dialog. In this screenshot, the dialog is prompting for the
'demouser.jks' keystore password.
If you receive any error messages after entering the command, make sure that the
'techila_settings.ini' file was correctly configured according to the instructions in step 2.
8. Enter your password. If everything works, the command will be executed without any output.
Optional step: If you wish to see a more verbose output, you can also execute the
'testsession' command after executing the 'init' command. To execute the command, use
the syntax shown below:
java -jar ./lib/techila.jar testsession
After executing the command, you should see the following messages:
testSession returned 0
OK
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
16/34
24 NOVEMBER 2015
9. When you have finished testing, remove the session you created using command
java -jar ./lib/techila.jar unload
Figure 22.Removing the session with the unload command.
You have now successfully configured your techila_settings.ini file.
Please continue by performing any programming language specific configuration steps defined in the
applicable documents in the doc folder. After you have performed all necessary configuration steps,
you can continue by running example applications located in the examples folder. It is also advisable
that you familiarize yourself with the document Techila Fundamentals, which provides information on
how the Techila system operates.
You can also examine the additional configuration parameters in the settings file, which are
presented in the Appendix in Chapter 3.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
17/34
24 NOVEMBER 2015
3. Appendix 1: Description of techila_settings.ini File Parameters
The 'techila_settings.ini' file is a settings file, which contains multiple parameters controlling the
functionalities of your Techila environment. Apart from the parameters described in Chapter 2.3,
any modifications to the default values are not required. In certain situations, e.g. when analysing
errors resulting from a Worker Code or the Management Interface, adjusting some of the
parameters can be beneficial.
This Chapter introduces the parameters available in the 'techila_settings.ini' file and macros. A
macro is a single computer instruction that results in a series of instructions. Macros can be used to
refer to existing parameters in the techila_settings.ini file. The parameters will be introduced in a
similar order as they appear in the 'techila_settings.ini' file.
3.1. Macros
Macros written in curly braces (e.g. {user.home}) can be used to refer to the value of a Java
property or an environment variable. Macros can also be used to refer to a parameter, which is
defined in the 'techila_settings.ini' file. Macros can be thought as a convenient way to refer to a
long path name or to an existing environment variable.
In addition, two Techila -specific macros are available:


{temp} refers to a temporary directory, which is the same temporary directory referred with
{java.io.tmpdir}
{inidir} refers to the directory where the 'techila_settings.ini' file is located
3.2. Server Config
The Server Config section contains parameters that define the network address and port of the
Techila Server
3.2.1.
hostname
The hostname parameter defines the address of the Techila Server. The address can be defined
either as an IP address or using the Techila Server’s (DNS) name. The address of the Techila Server
is specified by the Techila Administrator.
Example:
hostname=techila.example.com
The syntax shown above defines that a Techila Server, which can be found in the address
techila.example.com, will be used when performing Techila related activities, such as creating a
computational Project.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
3.2.2.
18/34
24 NOVEMBER 2015
port
The port parameter defines the port on the Techila Server that should be used when connecting to
the Techila Server. The port number of the Techila Server is specified by the Techila Administrator.
Example:
port=25001
The syntax shown above defines that the End-User’s computer establishes a connection to port
25001 on the Techila Server.
3.3. User Config
User Config section contains parameters that define how the identity of the End-User will be
verified. These parameters define:



The password dialog, which will be used when prompting for the End-User’s password
The location of the keystore file
The alias of the End-User’s Techila Key
3.3.1.
alias
The alias parameter distinguishes, which Techila Key in the keystore file will be used when
communicating with the Techila Server.
Example:
alias=johndoe
The syntax shown above defines that the Techila Key linked to alias johndoe will be used from the
keystore file.
The Techila Administrator will provide the alias associated with the End-Users Techila Key at the
same time when providing the keystore file.
Please note that the alias parameter can also be commented out. This is because the Techila
system will automatically use the correct key when the keystore only contains one End-User Key.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
3.3.2.
19/34
24 NOVEMBER 2015
keystore
The keystore parameter defines the location of the keystore file.
Example:
keystore=C:\techila\johndoe.jks
The syntax shown above defines that a keystore file named 'johndoe.jks' located in the directory
C:\techila\ will be used.
The keystore containing the End-User Key is protected with a password, which can be entered using
three different methods. These methods are the Graphical Password Dialog, Console Password
Dialog or by storing the password in the 'techila_settings.ini' file using the 'password' parameter.
For instructions on using either the Graphical or Console Password Dialogues, see Chapter 3.3.3. For
instructions on storing the password in the 'techila_settings.ini' file, see Chapter 3.3.5.
CHANGING THE KEYSTORE PASSWORD
The keystore password can be changed by using the keytool.jar application, which is located in the
'lib' folder in the 'techila' directory. To change the keystore password, please follow the steps listed
below:
1. Open a command prompt and change the current working directory to the 'lib' folder, which is
located under the 'techila' folder.
Figure 23. A Command Prompt with the current working directory set to the 'lib' folder.
2. Execute the keytool.jar application with the syntax shown below:
java -jar keytool.jar passwd --keystore <keystore> --alias <alias>
Change the values of <keystore> and <alias> notations to correspond to your settings.
Figure 24 illustrates the syntax for changing the password protecting a keystore file named
'demouser.jks' that is located in the 'C:\techila'folder.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
20/34
24 NOVEMBER 2015
Figure 24. Executing the command used for changing the password of the keystore file. After
executing the command, the application will prompt for the existing password
3. After executing the command, you will be prompted to enter your existing password. Enter your
existing password.
4. After you have entered your old password, you will be prompted to enter the new password twice.
After entering the new password twice, the application will exit. The password for your keystore has
now been changed.
Figure 25. After successfully changing the keystore password, the keytool application will exit.
If errors were encountered during the process, corresponding error messages will be
displayed.
3.3.3.
passworddialog
The passworddialog parameter defines, which password dialog will be used. Techila SDK offers
two alternative dialogs: the Graphical Password Dialog and the Console Password Dialog.
The Graphical Password Dialog will create a separate graphical window prompting for the EndUser’s password for the specified keystore file. Following line will enable the Graphical Password
Dialog:
passworddialog=fi.techila.grid.management.oma.client.GraphicalPasswordDialog
The Console Password Dialog will prompt for the End-Users password directly in the console.
Following line will enable the Console Password Dialog:
passworddialog=fi.techila.grid.management.oma.client.ConsolePasswordDialog
With older versions of Java, the password might not be hidden when it is entered when using the
Console Password Dialog. Upgrading to the latest version of Java will ensure that the password will
not be displayed.
Note that only one password dialog can be enabled at a time.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
3.3.4.
21/34
24 NOVEMBER 2015
storepassword
The storepassword parameter enables the End-User to store the password in memory for future
use. If the password is stored, it will remain stored within the same Java instance. For example in
MATLAB, this means that several Projects can be created and the password will need to be entered
only when creating the first Project. Re-entering the password will not be required during
subsequent Projects created during the same MATLAB session.
The password will be stored as cleartext. Because of this, this option should be used carefully. Use
this option only in situations, where nobody else can gain access to your computer.
To store the password in memory, use the following command:
storepassword=true
3.3.5.
password
The password parameter enables password to be stored as cleartext in the 'techila_settings.ini'
file. When a value for the password parameter is defined, the value will be automatically used when
accessing the keystore file.
Example:
password=mypasswd1
The syntax shown above defines the string 'mypasswd1' will be used as the password when
accessing the keystore file.
NOTE: It is HIGHLY recommended not to write password in the 'techila_settings.ini' file, but
instead use a password dialog for entering the password!
3.4. Status Window Config
The Status Window is a graphical window, which displays information of Projects that are currently
being processed in the Techila environment. The Status Window can also be used to stop Projects
and to access information regarding any errors occurred during a Project. A screenshot of the Status
Window is presented below in Figure 26.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
22/34
24 NOVEMBER 2015
Figure 26. The Status Window. The Status Window in this figure shows the status of one Project. The
Project ID number of the selected Project will always be highlighted with red.
3.4.1.
Statuswindow
The statuswindow parameter defines whether a Graphical Status Window should be displayed
when creating a Project.
Example:
statuswindow=fi.techila.grid.management.oma.client.GraphicalStatusWindow
The above syntax displays the default Status Window. Note that displaying the Status Window
requires a method for displaying graphics. If a method is not available, the Status Window will not
be displayed.
If a method for displaying graphics is not available, the Status Window can be disabled by
commenting the line containing the statuswindow parameter
3.4.2.
statuswindow.nocloseonerror
The statuswindow.noclose parameter defines whether the Status Window will be closed when
errors occur in a Project. If the value of the parameter is set to false, the Status Window will close
after all Projects are completed even if errors have occurred in the Projects.
To keep the Status Window open in a situation where errors occurred during a Project, use the
following command:
statuswindow.nocloseonerror=true
3.4.3.
statuswindow.fontsize
The size of the text displayed in the Graphical Status Window can be adjusted using the
statuswindow.fontsize parameter. Increasing the value of the parameter will increase the font
size of the text.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
23/34
24 NOVEMBER 2015
Example:
statuswindow.fontsize=4
Reasonable values of the statuswindow.fontsize parameter are in the range of 0-50, where 0 corresponds to
the default font size.
3.5. Temporary Directory Config
The tempdir parameter defines the location of the temporary directory, which will be used to store
temporary data related to Projects. This data includes:


Bundles created when creating a Project. For more information on Bundles, please refer to the
document Techila Fundamentals.
Job result files downloaded from the Techila Server.
Example:
tempdir={inidir}\temp
With the syntax shown above, temporary data files will be stored in a directory called 'temp',
which will be created in the directory containing the 'techila_settings.ini' file.
3.6. Logging Config
The Logging Config section contains parameters that control where the log files will be stored, what
information will be stored in the log files and what information will be printed to the console.
These log files will primarily contain messages related to communication to the Techila Server. Note
that messages generated on Workers will not be logged in the files described in this section. For
instructions on how to log messages generated on Workers, see sections 3.8, 3.9 and 3.10.
3.6.1.
logdir
The logdir parameter defines the location of the directory where log files will be stored on the
End-User’s computer.
Example:
logdir={inidir}\logs\
With the syntax shown above, log files will be stored in a folder called 'logs' in the path defined
in the {inidir} macro. By default the syntax shown above will create the 'logs' folder under the
'techila' folder.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
3.6.2.
24/34
24 NOVEMBER 2015
logfiles
The logfiles parameter defines the names of the log files that will be created to store the log
information. Names of the log files need to be unique, meaning that no two files can have the same
name. Unique names can be defined using %u and %g parameters. These parameters are explained
below:
%u = A unique number to resolve conflicts
%g = A generation number to distinguish rotated logs
Example:
logfile=techila_%u_%g.log
With the syntax shown above, the first log file will be named to techila_0_0.log, the second log
file will be named to techila_0_1.log and so forth. The value of the %u parameter will be used to
differentiate log files generated during simultaneous sessions.
For example, an End-User has two instances of MATLAB running, which are both used to create a
Techila Project. Names of the log files created during these Projects will be differentiated by the %u
parameter. The names of the log files containing the latest log information will be techila_0_0.log
for the first MATLAB instance and techila_1_0.log for the second MATLAB instance.
3.6.3.
maxlogsize
Log information is appended to log files, meaning that the size of the log files increases as they are
used to store more log information. The maxlogsize parameter defines the maximum size of one
log file. The size of maximum allowed file size is defined in bytes.
Example:
maxlogsize=1000000
With the above syntax, the maximum allowed file size will be set to 1000000 bytes (one
megabyte).
3.6.4.
maxlogfiles
The maxlogfiles parameter defines the maximum number of active log files that will be created
per session.
Example:
maxlogfiles=10
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
25/34
24 NOVEMBER 2015
With the syntax shown above, the maximum allowed number of log files will be set to ten per
session.
3.7. Logging Level Config
Logging level is used to control, which messages will be stored in log files or printed to the console.
Available Logging levels are listed below in descending order:







SEVERE
WARNING
INFO
CONFIG
FINE
FINER
FINEST
Messages corresponding to the logging levels are listed below.
LOGGING LEVEL
MESSAGES
SEVERE
Messages indicating a serious failure
WARNING
Messages indicating a potential problem
INFO
Informational messages
CONFIG
Configuration messages
FINE
Messages containing tracing information
FINER
Messages containing moderately detailed tracing
Information
FINEST
Messages containing highly detailed tracing
information
ALL
Indicates that all messages should be logged
OFF
Indicates that no messages should be logged
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
26/34
24 NOVEMBER 2015
For example:



ALL logs all messages
SEVERE logs only error messages indicating a severe failure
FINE logs error messages rated as SEVERE,WARNING,INFO,CONFIG or FINE
3.7.1.
fileloglevel
The fileloglevel parameter defines, what messages will be stored in the log files. It is advisable
to use the ALL Logging level, as log files provide useful information when trying to locate the reason
for errors that occurred during computations.
Example:
fileloglevel=ALL
With the syntax shown above, all messages will be stored in log files.
3.7.2.
consoleloglevel
The consoleloglevel parameter defines what messages will print to the console. Printing
messages to the console means that they will be displayed in the program used for creating the
Project.
For example, when a Project is created with MATLAB, messages will be printed to the MATLAB
Command Window. Typically it is useful to only print the most severe error messages on the console
and store detailed information in log files.
Example:
consoleloglevel=SEVERE
With the syntax shown above, only severe error messages will be printed to the console.
Figure 27 contains a screenshot of the messages that will be printed to the command prompt when
a session with the Techila Server is initialized. The consoleloglevel in this example is set to INFO.
Figure 27. Messages printed to the console. The level of the messages printed to the console in this
example is INFO.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
27/34
24 NOVEMBER 2015
3.8. Error Logging Config
This section contains information on logging error messages that are generated during a Project.
These error messages can also be viewed from the Status Bar or by using the Techila Web Interface.
For instructions on how to access the error messages from the Techila Web Interface, please refer
to the document Techila Web Interface.
3.8.1.
errorfile
The errorfile parameter defines the name and location of the file, which will be used to store
error messages generated during Projects.
Example:
errorfile={logdir}\errorfeed
With the syntax shown above, a file called 'errorfeed' will be created (if it does not already exist)
and any possible error messages generated during Projects will be appended to it.
This file is useful when trying to locate the reason for errors that during a Project. The error
messages will be stored as cleartext, meaning the file can be manipulated and searched normally
with a text editor.
Note that the maximum size of the file is not limited and is not cleaned up automatically. If the size
of the file grows too large to be handled conveniently, consider renaming the file or deleting the
error file. This will automatically cause new error messages to be appended to a new file.
3.8.2.
errordir
The errordir parameter defines an error directory, which will be used to store files containing error
messages generated during a Project. One error file will be created for each Project containing
errors. The name of the error file will be of the form 'project<Project ID Number>'.
For example, if a Project with a Project ID number of 1234 generates errors, a file named
'project1234' will be created to store the error messages. The error messages are stored in
cleartext, and the file can be opened using any text editor.
Example:
errordir ={logdir}\project_errors
With the syntax shown above, error files for Project errors will be created in a directory called
'project_errors' located under directory containing the log files.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
28/34
24 NOVEMBER 2015
Note that the number of error files or the size of individual error files is not limited. The folder
containing the error messages is not cleaned automatically, meaning that obsolete files should be
manually deleted when necessary.
3.8.3.
stderr
The stderr parameter defines whether Project errors will be printed to the Standard Error (STDERR)
stream. This means that, for example, if a Project is created with MATLAB, error messages would be
displayed in the MATLAB Command Window.
Errors generated during a computational Project can be printed to the console with the following
command:
stderr=true
3.9. Standard Output Config
The Standard Output (STDOUT) stream is an output channel between a computer program and its
environment and is used to display messages. The Standard Output Config section contains
parameters that control where the STDOUT streams from the Workers will be directed. Storing the
STDOUT stream generated by Workers can be useful when more information regarding the current
state of the computations is required.
Figure 28. Messages are printed to the console by using the STDOUT stream. These streams can be
redirected to files, which will be stored on the End-Users computer.
To direct the STDOUT stream generated on Workers during a Project, the following Project
parameter needs to be defined in the Local Control Code. More information about the Local Control
Code concept can be found in the document Techila Fundamentals.
Parameter
Boolean Value
techila_stream_stdout
true
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
29/34
24 NOVEMBER 2015
The STDOUT stream will be appended to the files every time the End-Users program polls the Techila
Server for the Project status. Instructions on how to modify the polling interval can be found in
section 3.11.1.
3.9.1.
stdoutfile
The stdoutfile parameter defines the name and location of the file, which will be used to store
the STDOUT streams. The STDOUT stream from all Workers will be appended to the file, meaning
the size of the file can grow quickly in cases where large amounts of information is directed to the
STDOUT stream on the Workers.
Example:
stdoutfile={logdir}\techilaout.log
The syntax shown above will direct the STDOUT stream to a file called 'techilaout.log', which
will be stored in the location defined with the macro {logdir}.
3.9.2.
stdoutdir
The stdoutdir parameter defines the directory where the STDOUT streams from Workers will be
stored.
Example:
stdoutdir={logdir}\workerout
The syntax shown above will direct all the STDOUT messages generated during a Project to a
subdirectory located under a directory called 'workerout'.
A separate subdirectory will be created for each Project and each subdirectory will be named
according to the Project ID of the project for which it was created for.
For example, if the Project ID number of a Project is 1234, a folder named '1234' will be created
under the workerout folder. The subdirectories will contain a separate log file for each Job in the
Project that generated messages to STDOUT.
3.10. Standard Error Config
The Standard Error stream is an output channel between a computer program and its environment
and is used to display error messages. The Standard Error Config section contains parameters that
control where the STDERR streams from the Workers will be directed. Storing the STDERR stream
generated by Workers is useful for when the error messages need to be analysed in more detail.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
30/34
24 NOVEMBER 2015
Figure 29. Errors are printed to the console by using the STDERR stream. These streams can be
redirected to files, which will be stored on the End-Users computer.
To direct the STDERR stream generated on Workers during a Project, the following Project
parameter needs to be defined in the Local Control Code. More information about the Local Control
Code concept can be found in the document Techila Fundamentals.
Parameter
Boolean Value
techila_stream_stderr
true
The STDERR stream will be appended to the error files every time the End-Users program polls the
Techila Server for the Project status. Instructions on how to modify the polling interval can be found
in section 3.11.1.
3.10.1.
stderrfile
The stderrfile parameter defines the name and location of the file, which will be used to store
the STDERR streams generated on the Workers. The STDERR stream from all Workers will be
appended to the file.
Example:
stderrfile={logdir}\techilaerr.log
The syntax shown above will direct the STDERR stream to a file called 'techilaerr.log', which
will be stored in the location defined with the macro {logdir}.
3.10.2.
stderrdir
The stderrdir parameter defines the directory where the STDERR streams from the Workers will
be stored.
stderrdir={logdir}\workererr
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
31/34
24 NOVEMBER 2015
A separate subdirectory will be created for each Project and each subdirectory will be named
according to the Project ID of the project for which it was created for.
For example, if the Project ID number of a Project is 1234, a folder named ' 1234' will be created
under the workererr directory. The subdirectories will contain a separate log file for each Job in
the Project that generated messages to STDERR.
3.11. Fine Tuning Config
The Fine Tuning Config section contains parameters that can be used to fine tune the performance
of the Techila system on the End-Users computer.
3.11.1.
polltime
The polltime parameter defines how often the End-User’s computer will poll the Techila Server for
the status of Projects. When the End-Users computer polls the Techila Server, the following actions
will occur:




The number of waiting, working and ready Jobs in a Project will be updated to the Status Window
New error messages will be updated to the Status Window
New Job result files will be transferred to the End-User’s computer, assuming that the transfer mode
has been set to Streaming. For instructions on how to enable Streaming, see section 3.11.3. More
information on the Streaming feature can be found in the document Techila Fundamentals.
STDOUT and STDERR streams generated on Workers will be appended to files on the End-Users
computer
Example:
polltime=5000
With the syntax shown above, the End-Users computer will poll the status of Projects at five second
intervals.
3.11.2.
dlretrytime
The dlretrytime parameter defines how often download requests for Project results will be
performed.
The first download request will be performed when all the Jobs in a Project have been completed.
If the result package is not ready on the Techila Server, a new download request will be performed
after the interval defined in the dlretrytime parameter. Download requests will be performed
until the result package has been downloaded successfully or until the download request fails.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
32/34
24 NOVEMBER 2015
Example:
dlretrytime=10000
With the syntax shown above, download requests will be performed at ten second intervals.
3.11.3.
transfermode
The transfermode parameter defines, which transfer method should be used to transfer Job result
files from the Techila Server. The Job result files can either be transferred using the Streaming
feature or the Job result files can be transferred in a single package. More information on the
Streaming feature can be found in the document Techila Fundamentals.
When Streaming is used, Job result files will be transferred from the Techila Server to the End-User’s
computer as soon as they are available. If the Streaming feature is not being used, the Job result
files will be transferred in a single compressed package as soon as all Jobs in the Project have been
completed.
Transferred Job result files will be temporarily stored in the location specified with the tempdir
parameter. For instructions on how to configure the location of the directory used to store
temporary Project related data, see section 3.5.
Streaming can be enabled using following syntax:
transfermode=stream
Streaming can be disabled using following syntax:
#transfermode=stream # Commented line, disables Streaming
3.11.4.
execmaxretrycount
The execmaxretrycount parameter defines the maximum number of times a command that
communicates with the Techila Server will be executed. A command will only be retried in the case
the command does not receive a response from the Techila Server. Commands that executed
correctly will not be retried.
For example, if a connection with the Techila Server cannot be established when initializing a session
during the first attempt, the initialization will be retried if the value of the execmaxretrycount
parameter is set to two (2) or more. Minimum value of this parameter is one (1), which indicates
that no retries will be performed. Increasing the number of retry attempts can be beneficial in
situations where the network connection is not reliable.
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
33/34
24 NOVEMBER 2015
The delay between retry attempts is defined with the execretrydelay parameter. For instructions
on how to configure the delay between retry attempts, see section 3.11.5.
Example:
execmaxretrycount=5
With the above syntax, the maximum number a command will be executed will be set to five.
3.11.5.
execretrydelay
The execretrydelay parameter defines the interval, how often a command that communicates
with the Techila Server will be retried in case the Techila Server did not respond to the command.
For example, if a connection with the Techila Server cannot be established when initializing a
session, another initialization attempt will be performed after the delay specified with the
execretrydelay parameter.
The number of attempts is controlled with the execmaxretrycount parameter. For instructions on
how to configure the number of attempts, see section 3.11.4.
Example:
execretrydelay=10000
With the syntax shown above, the delay between command retries will be set to ten seconds.
3.11.6.
maxresultsinstream
The maxresultsinstream parameter defines the maximum number of result files that can be
transferred from the Techila Server a single package when streaming results.
For example, the following syntax would set the maximum number of results per package to 100.
maxresultsinstream=100
WWW.TECHILATECHNOLOGIES.COM
TECHILA GETTING STARTED
34/34
24 NOVEMBER 2015
4. Glossary
TERM
DESCRIPTION
Bundle
Common data that is required on every Worker compressed in a Java Archive. Includes
input data, computational code and common prerequisites, libraries, command
interpreters, etc.
End-User
A person who has an End-User Techila Key and End-User privileges to the Techila
environment
Job
Smallest unit in a computational Project. Jobs are executed on Workers and partial
results are transferred back to the Techila Server.
Project
A computational problem. A Project is created by the End-User and it is split into Jobs on
the Techila Server.
Project ID
The Project Identification number. Every Project is given a unique Project Identification
Number when the Project is created.
Standard Error Stream
An output channel between a program and its environment (e.g. a text terminal or
MATLAB Command Window). Typically used to display errors.
Standard Output Stream
An output channel between a program and its environment (e.g. a text terminal or
MATLAB Command Window). Typically used to display messages.
Techila Administrator
A person who has a Techila Administrator key and administrative rights to the Techila
system.
Techila Key
An End-User is provided an End-User Techila Key, which is used to sign the code that is
transferred to the distributed computing environment. Signed code can be traced back
to the End-User by the Techila Administrators.
Techila Server
The server manages the distributed computing environment and communicates with the
End-Users program and the Workers. The Server also splits the Projects into Jobs, assigns
the Jobs to Workers, handles the results and delivers the results back to the End-Users
program.
Worker
A Worker is a computer that is connected to the Techila Server. Workers provide the
computational power of the distributed computing environment. By default, a single Job
is assigned to a single core on the Workers CPU.
WWW.TECHILATECHNOLOGIES.COM