Documentation Center

Multi-server deployment

A multi-server deployment implies that you install the ETS application on one Master host or machine, while you install the ETS Language Pairs on several Worker hosts.

ETS multi-server deployment is designed for moderate to high translation volumes. For example, a multi-server deployment can support multiple users translating approximately 100 million words per day, using multiple language pairs.

In this multi-server deployment example, ETS is running on five machines: Bergamot, Thymes, Eucalyptus, Rosemary, and Laurel. The ETS application was installed on Bergamot as a Master host so that it can serve the Web GUI service, which provides a user-interface that is accessible via a web browser, and the REST API service, which provides industry standard HTTP methods for application integrations. Since the usage scenario aims to serve a large pool of simultaneous users, Bergamot is dedicated to hosting the Web GUI and the REST API only, and therefore no ETS language pairs are installed on Bergamot.

Each Q-server can queue 5000 jobs, so having six Q-servers provides this ETS instance with a max queue size of 30,000 jobs. Because Thymes, Eucalyptus, Rosemary, and Laurel are hosting Q-servers, they need to have all ETS language pairs installed. Thymes and Rosemary have more memory, so they can support more T-servers. There are twice as many T-servers for each of French to English and Spanish to English language pairs than there are for the others, because those are expected to have higher usages.

The following are the high level steps taken during the four parts of the deployment process to achieve this ETS cluster setup:

Part 1: Installing the ETS application

The ETS application is installed as a Master host on Bergamot, while it was installed as a Worker host on Thymes, Eucalyptus, Rosemary, and Laurel.

Part 2: Installing the ETS language pairs

All seven ETS language pairs were installed on Thymes, Eucalyptus, Rosemary, and Laurel.

Part 3: Obtaining ETS licenses

For Thymes and Rosemary, the myhosts.json files were sent to ETS licensing, with a request for 5 language pairs (Arabic to English, Russian to English, Bengali to English, Italian to English, Japanese to English, and Urdu to English), and 16 CPU cores. For Eucalyptus and Laurel, their myhosts.json files were sent to ETS licensing with a request for 2 language pairs (French to English and Spanish to English), and 4 CPU cores.

Part 4: Starting up the translation servers from the Web GUI
  • Add Thymes, Eucalyptus, Rosemary, and Laurel as hosts.
  • Add Q-servers and T-servers to each host as the diagram shows. Thymes and Rosemary have the same Q-servers and T-servers setup. Eucalyptus and Laurel have the same Q-servers and T-servers setup.