1. Introduction

This document is intended for IT system architects when evaluating the Techila Distributed Computing Engine (TDCE), the interactive big compute solution.

The focus of this document is to provide a very high level technical description of TDCE. More detailed information on related topics can be found in documents, which have been referred to by this document.

If you are unfamiliar with TDCE, please refer to Introduction to Techila Distributed Computing Engine

2. Techila Distributed Computing Engine Overview

This Chapter contains a high level overview of the Techila Distributed Computing Engine (TDCE) architecture and introduces the main components related to the functionality.

2.1. Architecture

TDCE is a patented distributed computing middleware and management solution developed by Techila Technologies Ltd. It is an autonomic, big compute solution, which brings interactivity to computing. It is designed to save the time of business users and IT experts, to solve challenges related to parallel application development and deployment, and to speed up the idea-to-deployment cycle.

TDCE is built around a patented autonomic computing technology, which creates a self-managing and scalable computing service and execution environment. This technology enables customers to

  • manage the computing power available in their current and future computing servers and clusters single-site or multi-site, and even to

  • integrates compute resources from the company’s trusted cloud providers to integrate hybrid IT and cloud bursting, or

  • to benefit of high-performance computing (HPC) environment in a full cloud scenario.

Business users of TDCE can deliver faster and better-quality results when solving even the most challenging and complex business-critical problems. TDCE integrates directly with the customer’s favorite computational tools in Windows and Linux operating systems, with no need to redesign applications and codes. It comes with productized support for MATLAB®, Python, C/C++, C#, R, and a range of other popular environments.

TDCE is a multi-tenant solution with a priority and policy-based framework. Built-in security features enable the establishment of a single platform to serve multiple business lines and applications, from research and development functions to users of deployed desktop applications and all the way to applications run as a web service in an SOA environment.

TDCE’s architecture consists of three logical main components: Techila Server, Techila Worker(s), Techila Software Development Kit (SDK) (for End-Users). The Techila SDK provides integration of applications. Computing power is provided by computers, which are running the Techila Worker software (Techila Worker computers). The Techila Server manages the computing environment. TDCE offers built-in security between all system components (TLS, PKI). For more information about TDCE’s solution security, please refer to Techila Distributed Computing Engine Security Statement.

image006
Figure 1. Techila Distributed Computing Engine environment overview.

The system design of TDCE is built around a highly modular service-oriented architecture (SOA) with module lifecycle management. The solution has a Techila Worker-centric solution architecture with autonomic management to support scalability and fault tolerance in loosely coupled distributed operating environments. For more information about TDCE’s architecture, please contact us using the contact details on Techila Technologies website.

image007
Figure 2. Techila Distributed Computing Engine system design.

2.2. Functionality

This Chapter contains a high level overview of the main components. For more information about the architecture of these components, please contact us using the contact details on Techila Technologies website.

2.2.1. Techila Server

A Java-based Techila Server software runs the whole process from distributing tasks to networked Techila Worker computers to managing the platform.

Techila Server benchmarks Techila Workers and assigns work to the highest performing Techila Worker computers.

2.2.2. Techila Worker

A Java-based Techila Worker software component runs on Techila Worker computers. The process has lowest possible priority on the Techila Worker OS.

Separate computing modules handle the actual computing operations.

2.2.3. Techila SDK

A Java-based Techila SDK Library provides integration of applications on the End-Users computer to TDCE. End-Users will be able to connect to the Techila Server by using the Techila SDK.

3. Integrating Applications with Techila Distributed Computing Engine

Developers can integrate Techila Distributed Computing Engine (TDCE) services in their applications using Application Programming Interfaces (API) included in the Techila SDK. Independent Software Vendors (ISV) and Systems Integrators can include Techila SDK APIs in their products to enable them to benefit of TDCE.

Please see the Techila SDK End-User License Agreement (EULA) for details.

APIs included in the standard product support following languages and environments:

  • MATLAB

  • R

  • C/ C++

  • C#/ .NET

  • Java

  • Perl

  • Python

  • Fortran

  • Shell / Command Prompt

apistack
Figure 3. Techila Distributed Computing Engine API layers.

4. Techila Distributed Computing Engine in Enterprise IT

4.1. User Management

Techila Distributed Computing Engine (TDCE) supports local user management, which can be integrated with the user organization’s Active Directory. For more information about TDCE’s user management, please refer to Techila Distributed Computing Engine IT System Architecture.

4.2. Monitoring

TDCE supports monitoring the status of the Techila Server and Techila Workers. The Techila Server can be configured to notify the local IT management about events, which require a system administrator’s attention. The notifications can be configured based on various triggers. For more information about monitoring, please refer to Techila Distributed Computing Engine IT System Architecture.

4.3. Reporting

TDCE supports reporting, which can be integrated to the user organization’s enterprise IT. Typical reports include usage statistics and license reporting. For more information about TDCE’s reporting features, please refer to Techila Distributed Computing Engine Reporting Guide.

5. Minimum Technical Operating Environment

5.1. Network

Techila Distributed Computing Engine (TDCE) requires an Internet Protocol (IP) network, which allows establishment of connections from the Techila Worker software to the Techila Server software, and from the Techila SDK Library installed on the End-User’s computer to the Techila Server software, and enables communication between these components. Unless separately agreed in Techila License Agreement, the network should also allow establishment of connection from the Techila Server to an Internet based Techila License Server.

For more information about required port connections, please refer to Techila Distributed Computing Engine IT System Architecture

5.2. Techila Server

5.2.1. Supported Platforms

Techila Server software can be run in one of following environments:

  • Virtualized VMWare environment

  • Amazon Web Services (Amazon EC2)

  • Google Cloud Platform (Google Compute Engine)

  • Microsoft Azure cloud platform (Platform as a Service)

Techila Server for VMWare host will be delivered as a virtual appliance, which includes operating system. Because of this, Techila Server for VMWare does not set any requirements for the operating system.

Techila Server for Amazon Web Services, Google Cloud Platform, and Microsoft Azure will be deployed using automated deployment tools. Because of this, Techila Server for these cloud platforms does not set any requirements for the operating system.

In Google Cloud Platform, TDCE (including Techila Server) can also be deployed by using the Google Cloud Platform Marketplace

For more information about the Techila Server’s architecture, please refer to Techila Distributed Computing Engine IT System Architecture.

Other requirements for the minimum technical operating environment for the Techila Server software are:

  • Implements a Supported Techila Server Platform

  • Has installation of Techila Server software enabled

  • Has access to a network, which meets the requirements presented in Network , and has a static IP address or static name, which the environment can resolve to the IP address, which the Techila Worker software installations and Techila SDK Library installations can use when connecting the Techila Server.

  • Is able to listen and communicate through ports selected for TDCE connections.

  • Unless separately agreed in the Techila License Agreement, has access to Internet based Techila License Server. The Techila License Server address will be delivered together with the Techila License file.

5.2.2. Minimum Configuration

The table below contains the recommended minimum configuration for running the Techila Server software.

Table 1. Techila Server configuration.
Environment Instance Type CPUs Memory / GB Storage / GB Bandwidth Operating System

VMWare environment (host)

NA1

4

16

2000

1 GB/s

NA

Techila Virtual Server (guest)

NA1

2

8

10402

1 GB/s

Debian

Amazon EC2

m3.xlarge3

4

15

5004

NA

Debian

Google Compute Engine

n1-standard-43,5

4

15

5004

NA

Debian

Microsoft Azure

Large (A3)3

4

14

5004

NA

Microsoft Windows Server 2008 R2

1 Instance type only applicable for public cloud environments.
2 Techila Virtual Server will (by default) use a maximum of 1040 GB of disk space. Increasing size of the data disk will also increase amount of required storage space.
3 Instance type automatically set by the Techila Deployment Tool.
4 Persistent 500 GB virtual storage device automatically created by the Techila Deployment Tool.
5 Instance type can be selected when using Techila Distributed Computing Engine in Google Cloud Platform Marketplace

5.3. Techila Worker

5.3.1. Supported Platforms

Techila Distributed Computing Engine (TDCE) is designed for heterogeneous computing infrastructure environments. Techila Worker supports different kinds of x86-64 hardware and virtualized hardware platforms and operating system platforms from desktop computers to high-performance cluster environments, and to cloud datacenters.

Supported Techila Worker infrastructure platform for running Techila Worker software can consist of following types of resources:

  • Desktop computer

  • Laptop

  • Workstation

  • Server

  • Cluster

  • Virtualized hardware

  • Microsoft Azure cloud platform (Microsoft Azure Platform as a Service)

  • Google cloud platform (Google Compute Engine)

  • Amazon Web Services (Amazon EC2)

Supported operating systems for running Techila Worker software are:

  • Microsoft Windows

  • Linux

Please refer to Techila Worker software release notes for supported operating system platform version details.

Other requirements for the minimum technical operating environment for the Techila Worker software are:

  • Installation and configuration of running Techila Worker software as a service under a dedicated user account enabled

  • Techila Worker software access to dedicated Techila Worker installation folder on local disk enabled

  • Establishment of connection from Techila Worker software to Techila Server software and communication between these enabled. For more information about port connections, please refer to Techila Distributed Computing Engine IT System Architecture.

5.3.2. Minimum Configuration

The table below contains the recommended minimum configuration for running the Techila Worker software.

Table 2. Techila Worker configuration.
Environment Instance Type CPUs Memory / GB Storage / GB Bandwidth Operating System

On-Premises Hardware

NA1

4

4

103

100 MB/s

NA4

Amazon EC2

m1.small2

1

1.7

160

NA

Amazon Linux,Microsoft Windows 2012 RTM

Google Compute Engine

n1-standard-12

1

3.75

10

NA

Debian, Microsoft Windows Server 2012 R2

Microsoft Azure

Small (A1)2

1

1.75

40

NA

Microsoft Windows Server 2012 R2

1 Instance type only applicable for public cloud environments.
2 Listed instance types represent smallest instance that can be deployed using the supported deployment methods (Techila Deployment Tool, Techila Worker Starter Tool or Techila Configuration Wizard).
3 Amount of storage required depends on the amount of data used by computational applications executed on Techila Workers.
4 Please see Techila Worker release notes for information about supported platforms.

5.4. Techila SDK

5.4.1. Supported Platforms

Requirements for the minimum technical operating environment for the Techila SDK software are:

  • Microsoft Windows or Linux operating system with Java version 1.6 or newer.

  • Installation and configuration of Techila SDK Library enabled.

  • Has access to a network, which meets the requirements presented in Network.

5.4.2. Minimum Configuration

Techila SDK does not set minimum configuration requirements for the computer running the Techila SDK software except storage.

Installation of Techila SDK requires following minimum configuration:

  • Storage: 100 MB

6. Appendix A - Glossary

Term

Description

HPC

High-performance computing

IP

Internet Protocol

PKI

Public key infrastructure

SDK

Software development kit

TLS

Transport layer security

TDCE

Techila Distributed Computing Engine