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