Contents

Typographical Conventions
Installation Overview
Preparing for Installation
Know_the_Basics
GridServer System Requirements
Optimize GridServer Manager Architecture
About GridServer Manager
Redundancy
Grid Size
Component OS and Version Interoperability
Other Considerations
Configure Your Network
Name Service
Director-Broker Communication
Manager-Engine and Driver-Manager Communication
Configuring the Manager by Using NAT
Using a VPN
Resource Synchronization
Direct Data Transfer
SSL
Install the GridServer Components
GridServer Manager
GridServer Engine
GridServer Driver
SpeedLink
Database
Manager Installation
Installing DataSynapse GridServer
Task A: Copy Files Before Installation
Task B: Configure Server Settings
Task C: Start the Manager
Task D: Initialize Your Manager
Silent Installation
Configuration Options
Changing the HTTP Ports
A Sample UNIX rc.d Script
A Sample Systemd Unit File
Authentication of Grid Components
Windows Engine Installation
Installing Windows Engines
Command Line Unattended Install
Network Install
Engine JRE Synchronization
Engine Permissions
Configuring Permissions for Processor Utilization Mode
Configuring Run-As for Windows Engines
Engine Configuration and Management
UNIX Engine Installation
Installing_Unix_Engines
Engine JRE Synchronization
Configuring Run-As for UNIX Engines
Running the Engine
Engine Configuration and Management
Enabling Engine Daemon Authentication
Verify Installation
Submitting a Service Test
Monitoring a Service Test
Troubleshooting
Uninstalling GridServer
Uninstalling GridServer on Windows Systems
Uninstalling an Engine
Manual Uninstall
Uninstalling a Manager
Uninstalling GridServer on UNIX Systems
Upgrading GridServer
Requirements Changes
GridServer 7.1.0 Upgrade Checklist
Prior to Upgrade
After Stopping the Manager
During Installation
After Installation
Mixed-Version Deployments
Rolling Upgrades
Prerequisite Actions
Upgrading a Grid
Installing Hotfixes
Securing Passwords and Internal.script
Configuring SSL
About SSL
Communication Overview
Certificate Overview
Key and Certificate Location and Generation
Manager HTTPS Configuration
Configuring HTTPS
Driver HTTPS
Engines and Engine Daemon HTTPS
Broker and Director SSL
SSL On Large Grids
Configuring a Reporting Database
Reporting Database Requirements
Configuring the Reporting Database
Deploying With Openshift
Introduction
About OpenShift
About Kubernetes
About the GridServer Containerization
Deploying the GridServer Engine Dockerfile into OpenShift
Configuring Scheduler Instrumentation
Configuring Engine Instrumentation
GridServer Overview
Product Overview
Grid Services
GridServer Architecture
Operating Environment
GridServer Services
Services
Clients
Service Implementation
Service Session
Service benefits
Binary-level Integration
Managing Engines
Engine Routing and Balancing
Balancing and Service Discriminators
Engine Weight-Based Balancer
Home/Shared Balancer
Engine Balancer Configuration
Engine Upper and Lower Bounds
Failover Brokers
Example Use Cases
N+1 Failover with Weighting
Engine Localization with Sharing
Engine Configuration
Editing an Engine Configuration
Creating a New Engine Configuration
Copying an Engine Configuration
Setting the Engine Configuration Used by Engines
Setting the Director Used by Engines
Configuring Engines With Multiple Network Adapters
Configuring Engine Daemons to Use SNAT
Using the System Classloader on an Engine
Configuring a Global Shared Grid Library Directory
Configuring When Engines Run
Manual Mode
Auto Mode
Configuring How Many Engines Run
Running Engines in Multiplexed Mode
Communication and Task Scheduling
Configuration
Configuring 64-bit Engine Daemons to run 32-bit Services
Configuration
Specifying that a Service is win32
Routing 32-bit Tasks to 64-bit Engines
Configuring a Caching HTTP Proxy Server
Configuring an External Engine Daemon Admin Tool
Quarantine Brokers
Quarantine Broker Concepts
Quarantine Status on Engines
Requirements
Configuring a Quarantine Broker
Setting Quarantine Status on Engines
Quarantine Broker Constraints
Inside the GridServer Director
Director Roles
Routing
Authentication
Load Balancing
Configuration Management
Database Management
Resource Management
Inside the Broker
Broker Roles
Scheduling
Engine and Driver Management
Communication
Resource Management
Inside GridServer Topology
Redundancy
Volume
Topography
Direct Data Transfer
GridCache
Overview
General Capabilities
API
Modes
Cache Configuration and Access
Data Storage
Attributes
Consistency/Synchronization
Cache Loaders
Cache Loader Write-through and Bulk Operations
Notification
Disk/Memory Caching
Cache Region Scope
Data Conversion Matrix
Using The GridCache API
Fault Tolerance and GridCache
Inside the Client
Client Types
Installation and Configuration
Inside the GridServer Batch Processing Facility
Parts of a Batch
Batch Definitions
Batch Components
Scheduling Batch Definitions
Administering Batches
Typographical Conventions
Introduction
Before You Begin
The GridServer Administration Tool
Overview
Getting Started
Navigating the Administration Tool
User Accounts and Role-Based Access Control
Managing Users
About Authentication and Authorization
Types of Users
Role-Based Access Control
Using GridServer Built-In Authentication
Using GridServer Built-In Authorization
Creating User Accounts
Resetting User Accounts From the Command Line
Using LDAP Authentication and Authorization
Configuring GridServer for LDAP Authentication or Authorization
Authentication Schemes Supported in Comparison Mode
Security Notes
LDAP Configuration Example
Using Windows Authentication and Authorization
Configuring Windows Authentication
Configuring Windows Authorization
Using Pure Kerberos Authentication
Configuring Pure Kerberos Authentication
Configuring Pure Kerberos Authorization
Managing Multiple Brokers with Grid Single Sign-On (SSO)
Grid SSO Configuration
Constraints and Limitations
Client Routing
Routing Clients With Roles
Routing Clients On The Broker Routing Page
Routing Clients With The Driver API
Managing Services
Deploying Services
About Grid Libraries
Using Grid Libraries from a Service
Super Grid Libraries
Deployment
Disabling Resource Deployment
Bridges
JREs
Packaging Grid Libraries
Distributing Grid Libraries
Grid Library Filters
JAR Ordering File
Uploading and Deploying with the Admin API
Running Services
Registering a Service Type
Service Run-As
compressData
encryptionEnabled
Using Run-As
Scheduling
Reschedules and Retries
The Scheduler
Common Scheduler Features
Managing Engines
Engine Routing and Balancing
Balancing and Service Discriminators
Engine Weight-Based Balancer
Home/Shared Balancer
Engine Balancer Configuration
Engine Upper and Lower Bounds
Failover Brokers
Example Use Cases
N+1 Failover with Weighting
Engine Localization with Sharing
Engine Configuration
Editing an Engine Configuration
Creating a New Engine Configuration
Copying an Engine Configuration
Setting the Engine Configuration Used by Engines
Setting the Director Used by Engines
Configuring Engines With Multiple Network Adapters
Configuring Engine Daemons to Use SNAT
Using the System Classloader on an Engine
Configuring a Global Shared Grid Library Directory
Configuring When Engines Run
Manual Mode
Auto Mode
Configuring How Many Engines Run
Running Engines in Multiplexed Mode
Communication and Task Scheduling
Configuration
Configuring 64-bit Engine Daemons to run 32-bit Services
Configuration
Specifying that a Service is win32
Routing 32-bit Tasks to 64-bit Engines
Configuring a Caching HTTP Proxy Server
Configuring an External Engine Daemon Admin Tool
Quarantine Brokers
Quarantine Broker Concepts
Quarantine Status on Engines
Requirements
Configuring a Quarantine Broker
Setting Quarantine Status on Engines
Quarantine Broker Constraints
Grid Fault-Tolerance and Failover
The Fault-tolerant GridServer Deployment
Heartbeats and Failure Detection
Manager Stability Features
Engine Failure
Driver Timeout and Failure
Director Failure
Broker Failure
Failover Brokers
Task Fault Tolerance
Batch Fault-Tolerance
GridCache and PDriver Fault-Tolerance
Administration and Maintenance
Configuration Issues
Installation on Machines With Multiple Network Adapters
Using UNC Paths in a driver.properties File
Renaming a Broker
Moving a Manager
GridServer Manager Administration Procedures
Backup / Restore
Importing and Exporting Manager Configuration
Setting the SMTP Host
Configuring the Timeout Period for the Administration Tool
Reconfiguring Managers when Installing a Secondary Director
Reconfiguring the Engine Communication Port
Promoting a Secondary Director to Primary Director
Configuring SNMP
LogLogic Integration
Configuration
Logging Message Format
Output
Elasticsearch Integration
Configuration
Message Format
Database Maintenance
Database Types
Internal Database Reset
Internal Database Backup
Performing Reporting Database Maintenance
The Batch Scheduling Facility
Terminology
Editing Batch Definitions
Batch Components
Service Runners
Scheduling Batch Definitions
The Batch Schedule Page
Running Batches
Deploying Batch Resources
Batch Fault-Tolerance
Optimizing the Grid
Diagnosing Performance Issues
Tuning Data Movement
Diagnosing GridServer Issues
Troubleshooting Overview
Reporting an Issue
Obtaining Log Files
Manager Logs
Engine and Daemon Logs
Application Server Logs
Monitoring the Tomcat Application Server
Monitoring Engines Using JMX
Diagnosing Network Issues
Diagnosing Engine Issues
Diagnosing Driver Issues
Diagnosing Manager Issues
Manager Port Issues
Out of Memory Issues
Deployment Issues
GridCache Issues
Database Issues
Troubleshooting Tools
Task Admin Page
Task Queue Dump
Enabling Enhanced Task Instrumentation
Process Explorer
Dependency Walker
Event Streaming by Using Apache Kafka
Reporting Database Tables
Data Type Mapping
batches
brokers
broker_stats
driver_events
engine_events
engine_info
engine_stats
event_codes
jobs
job_status_codes
roles
tasks
task_status_codes
user_events
users
Scheduler Instrumentation Database Table
scheduler_info
Engine Instrumentation Database Table
engine_ins
Typographical Conventions
TIBCO GridServer® Application Development
TIBCO GridServer® Programming Options
Services
PDriver
Python
Resource Deployment
Logging and Debugging
Logging Overview
Viewing Engine Logs
Writing to Logs
Debugging Engines
Creating a Native Stack Trace in Linux
Notes for Java Developers
Notes for C++ Developers
Changing the C++ Compiler Used with CPPDriver
C++ Multithreading Requirement
Using Global Statics in C++ Service Code
Running both 32-bit and 64-bit Services on 64-bit Windows Daemons
Running Examples on Visual Studio
Other C++ Notes
Notes for .NET Developers
.NET Driver Upgrades
Notes for Python Developers
Driver Installation
GridServer SDK Installation
The Java Driver (JDriver)
The C++ Driver (CPPDriver)
The Parametric Job Driver (PDriver)
The Python Driver (PyDriver)
The .NET Driver
The COM Driver
The R Driver
Driver Configuration
Configuring Multi-Interfaced Drivers
Driver Cleaner Configuration
Multiple Driver Instances
Creating Services
Overview
Steps in Using a Service
Service Method Compliance
Java/.NET Services
C++ Services
Command Services
R Services
Python Services
Client Calling Conventions
Java/.NET Client
C++ Client
R Client
Python Client
Registering a Service Type
Container Binding
.NET AppDomains
.NET Framework Versions
Language Interoperability
Strings and Byte Arrays
Object Conversion from Strings and Byte Arrays
XML Serialization for Java, .NET, and R
Interoperable Types for XML Serialization
R Interoperability
Python Interoperability
Maintaining State
Initialization
Cancellation
Destruction
Service Instance Caching
Invocation Variables
Accessing Services
Services
Proxy Generation
Service Options
Service Invocation Context
Setting Task Description
Shared Services
Creating a Shared Service
Limitations to Shared Services
Ending a Shared Service
Shared Services and Failover
Broker Spanning Services
Enabling Broker Spanning on a Driver
Admin API Usage
Scheduling and Task Expiration
Administration
Broker Spanning Service Limitations
Service Groups
Data References
C++ Data References
Python Data References
Service Collection
Collect After Submit
Deferred Collection (Collect Later)
No Collection (Collect Never)
Engine Pinning
Running a Driver from an Engine Service
PDriver
Overview
Installing PDriver
Resource Deployment
PDriver Commands
The pdriver Command
The bsub Command
The bcoll Command
The bstatus Command
The bcancel Command
About PDS Scripts
PDS Basics
PDS Structure
The Depends Statement
The Include Statement
Lifecycle Blocks
The Options Block
The Discriminator Block
The Schedule Block
Variables, Types, and Expressions
Basics
Scoping
Variable Substitution
Expressions
Arrays
Built-in Variables
Statements
Built-in Commands
The If Statement
The For and Foreach Statement
Shell Directives in Heterogeneous Environments
Example
Creating Grid Libraries
Overview
Grid Library Format
Variable Substitution
Versioning
Dependencies
Conflicts
Grid Library Loading
State Preservation
Task Reservation
Environment Variables and System Properties
Using Grid Libraries from a Service
Super Grid Libraries
C++ Bridges
JREs
R Grid Libraries
Building TERR Runtime Grid Libraries
Python Bridges
Python Grid Libraries
Windows Application Deployment
Grid Library Example
GridCache
Overview
General Capabilities
API
Modes
Cache Configuration and Access
Data Storage
Attributes
Consistency/Synchronization
Cache Loaders
Cache Loader Write-through and Bulk Operations
Notification
Disk/Memory Caching
Cache Region Scope
Data Conversion Matrix
Using The GridCache API
Fault Tolerance and GridCache
GridServer Design Guidelines
Data Movement
Principles of Data Movement
Data Movement Mechanisms
Data Movement Examples
Service or Task Duration
Engine Interruption and Smoothing
Summary
The Admin API
Documentation for the GridServer Admin API
Using the Admin API over SOAP
Using Server Hooks
Using JMX
Using Conditions
Conditions
Discriminator Conditions
Setting Discriminators in the Administration Tool
Setting Discriminators Programmatically
PDriver Discriminators
Affinity Conditions
Setting Affinity Conditions Programmatically
Setting Affinity Conditions in the Administration Tool
Task Affinity
Custom Discriminator and Affinity Conditions
Dependency Conditions
Creating Dependencies
Administering Task Dependencies
Queue Jump Conditions
Descriptor Conditions
EXTRAConditions
Using the EXTRACondition REST Interface
Setting EXTRAConditions
Condition Sets
AND set
OR Set
Service Set
Engine Properties
Intrinsic Engine Properties
Custom Engine Properties
Engine Session Properties
GPU Services Engine Properties
MIC Processor Engine Properties
NUMA Engine Properties and Configuration
Extending GridServer
Manager Hooks
Engine Hooks
Engine Hook Example
Implementing Engine Hooks as a Grid Library
Task Instrumentation
Overview
Syntax
Client
Action
Object
Phases
Driver-side
Engine-side
Broker-side
DDT file write
Native
Example Phases in a Service Execution
The grid-library.dtd
The grid-library.dtd
REST API Reference
BatchAdmin
batch-definition
batch-definition
all-batch-execution-info
all-batch-info
batch-count
batch-definition
batch-definition-names
batch-execution-count
batch-execution-ids
batch-execution-info
batch-execution-info-by-batch-id
batch-ids
batch-info
running-batch-execution-count
scheduled-batch-count
selected-batch-execution-info
selected-batch-info
available
batch
batch-execution
finished-batch-executions
finished-batches
resume-batch
schedule-batch-definitions
suspend-all-batches
suspend-batch
BrokerAdmin
service-discriminator
service-discriminator
all-broker-info
broker-count
broker-info
engine-router
service-discriminator
service-discriminator-names
shared-brokers
available
driver-weight
engine-router
engine-weight
maximum-engines
min-idle-home-engines
minimum-engines
shared-brokers
DriverAdmin
all-driver-info
driver-count
driver-info
available
EngineAdmin
all-engine-info
busy-engine-count
engine-count
engine-ids
engine-info
engine-info-by-properties
log-url-list
selected-engine-info
available
kill-all-engines
kill-engine
park-engines
unpark-engines
parked-engines
EngineDaemonAdmin
all-engine-daemon-info
default-properties
engine-daemon-count
engine-daemon-ids
engine-daemon-info
engine-daemon-info-by-properties
log-url-list
selected-engine-daemon-info
available
default-property
property
property-by-properties
restart-engine-daemon
restart-engine-daemon-by-properties
all-enabled
all-start-mode
configuration
configuration-by-properties
default-property
directors
directors-by-properties
enabled
enabled-by-properties
instances
instances-by-properties
property
property-by-properties
start-mode
start-mode-by-properties
DriverManager
broker-url
ManagerAdmin
broker-id
broker-name
broker-url
build-version
busy-engine-count
category
category-names
director-id
engine-configuration-names
engine-count
events
finished-service-count
license-info
manager-value
pending-invocation-count
running-invocation-count
running-service-count
service-count
subscriber-events
subscribers
value
version
available
manager-value
value
subscribe
unsubscribe
ServiceAdmin
all-services
invocation
service
resources
deploy-resources
all-service-info
blacklisted-engines
completed-service-invocation-count
finished-service-count
invocation-count
invocation-info
pending-invocation-count
pending-service-invocation-count
registered-services
running-invocation-count
running-service-count
running-service-invocation-count
selected-invocation-info
selected-service-info
service-binding
service-count
service-ids
service-info
service-info-by-properties
service-invocation-count
task-expiration-event-count
available
list-resources
register-service
all-finished-services
finished-service
resource-exists
expires
priority
unregister-service
UserAdmin
user
role
user
all-roles
all-users
role
user
available
role
user
Version
version-release-name
build-version
Upgrading GridServer
Requirements Changes
GridServer 7.1.0 Upgrade Checklist
Prior to Upgrade
After Stopping the Manager
During Installation
After Installation
Mixed-Version Deployments
Rolling Upgrades
Prerequisite Actions
Upgrading a Grid
Installing Hotfixes
Security Guidelines
Accessing a Service from Visual Basic
Getting Started
Installing the GridServer SDK
Setting up the Service
Referencing COMDriver in the Visual Basic Editor
Client-side Code
Creating a Service Instance
Submitting Requests Synchronously
Submitting Requests Asynchronously
Collecting Results During Asynchronous Execution
Stateful Service Operations
Discriminators
Setting Driver Properties
Destroying Service Instances
Excel Demo
Getting Started
Enabling Macros in Excel
Deploying Resources
Registering the Service Type
Executing the Demo
The Visual Basic Code
Using PDriver Tools
Product Overview
Before You Begin
Running PDriver
Running Synchronously
Running Asynchronously
Running Commands
Other PDriver Commands
Summary
PDS Structure and Variables
PDS Structure
The Basic Script
The Options Block
The Schedule Block
The Discriminator Block
Prejob and Pretask Blocks
Posttask and postjob blocks
Variables and Parameters
The Basics
About Scope
Summary
PDS Statements
Built-in statements
Command Execution
File Manipulation
Other Built-in Statements
Conditional Statements
The If Statement
The For Statement
The Include Statement
The Depends Statement
Summary
Arrays
Construction
Indexing
Other features
A PDriver Example
The Pi.pds Example
Introduction
Before You Begin
Installing SpeedLink
Requirements
Installing SpeedLink
SpeedLink Architecture
Overview
Use Cases
SpeedLink Architecture
Operations
Clients
Services
Administration
Developing Applications for SpeedLink
Running a Service by Using SpeedLink
Service Options
GridServer and SpeedLink Service Differences
Improvements
Limitations
Not Supported
Administration for SpeedLink
Monitoring and Reporting
Enabling and Configuring TaskInfo Reporting
Performance Tuning
Operation Queue
Allocation Monitor
Operation Dispatcher
Failure Modes in SpeedLink
Network Failure
Broker Failure
Engine Failure
Operation Failure
SpeedLink Service Options
SpeedLink Service Options
Standard Service Options in SpeedLink
Introduction
Overview
The Integration Process
Argument Types
A Simple Service in Java
The Service Implementation
Deployment and Grid Libraries
Registering a Service Type
The Client Application
Asynchronous and Parallel Processing Requests
Using a GridServer-Generated Proxy
Container Bindings and Service State
About State
Container-managed Lifecycle
Cancel Method
Stateful Service Operations
Summary
TIBCO Documentation and Support Services
Legal and Third-Party Notices