Distributed UIMA Cluster Computing
Total Page:16
File Type:pdf, Size:1020Kb
Distributed UIMA Cluster Computing Written and maintained by the Apache UIMATMDevelopment Community Version 1.0.0 i Copyright c 2012 The Apache Software Foundation Copyright c 2012 International Business Machines Corporation License and Disclaimer The ASF licenses this documentation to you under the Apache License, Version 2.0 (the "License"); you may not use this documentation except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, this documentation and its contents are distributed under the License on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Trademarks All terms mentioned in the text that are known to be trademarks or service marks have been appropriately capitalized. Use of such terms in this book should not be regarded as affecting the validity of the the trademark or service mark. Publication date: 14-01-2014 Table of Contents I DUCC Concepts1 1 DUCC Overview 2 1.1 What is DUCC?................................................2 1.2 DUCC Job Model...............................................2 1.3 DUCC From UIMA to Full Scale-out.....................................3 1.4 Error Management...............................................5 1.5 Cluster and Job Management.........................................6 1.6 Security Measures...............................................7 1.7 Security Issues.................................................7 2 Glossary 8 II Ducc Users Guide 10 3 Command Line Interface 11 3.1 The DUCC Job Descriptor.......................................... 11 3.2 Operating System Limit Support....................................... 12 3.3 Command Line Forms............................................. 12 3.4 DUCC Commands............................................... 13 3.5 ducc submit................................................... 13 3.6 ducc cancel................................................... 17 3.7 ducc reserve................................................... 18 3.8 ducc unreserve................................................. 19 3.9 ducc process submit.............................................. 19 3.10 ducc process cancel............................................... 21 3.11 ducc services.................................................. 21 3.11.1 Common Options............................................ 22 3.11.2 ducc services {register Options.................................... 22 3.11.3 ducc services {start Options...................................... 25 3.11.4 ducc services {stop Options...................................... 26 3.11.5 ducc services {modify Options.................................... 26 3.11.6 ducc services {query Options..................................... 27 3.12 ducc perf stats................................................. 27 3.13 viaducc and java viaducc........................................... 28 4 The DUCC Public API 30 4.1 Overview Of The DUCC API......................................... 30 4.2 Compiling and Running With the DUCC API................................ 31 4.3 Java API.................................................... 31 5 Service Management 32 5.1 Overview..................................................... 32 5.2 Service Types.................................................. 32 ii TABLE OF CONTENTS iii 5.3 Service References and Endpoints....................................... 33 5.4 Service Pingers................................................. 33 5.4.1 Declaring a Pinger in A Service.................................... 34 5.4.2 Implementing a Pinger......................................... 34 5.4.3 Building And Testing Your Pinger.................................. 36 6 Job Logs 38 7 DUCC Web Server 40 7.1 Common Links................................................. 41 7.2 Jobs Page.................................................... 42 7.3 Job Details Page................................................ 45 7.3.1 Processes................................................ 45 7.3.2 Work Items............................................... 48 7.3.3 Performance.............................................. 49 7.3.4 Specification.............................................. 49 7.4 Reservation Page................................................ 49 7.5 Managed Reservation Details Page...................................... 51 7.5.1 Processes................................................ 52 7.5.2 Specification.............................................. 53 7.6 Services Page.................................................. 53 7.7 Service Details Page.............................................. 54 7.7.1 Processes................................................ 54 7.7.2 Specification.............................................. 56 7.8 System Details Page.............................................. 56 7.8.1 Administration............................................. 56 7.8.2 Classes................................................. 56 7.8.3 Daemons................................................ 57 7.8.4 Machines................................................ 57 III Programming Model And Applications 59 8 Building and Testing Jobs 60 8.1 Overview.................................................... 60 8.1.1 Basic Job Process Threading Model................................. 60 8.1.2 Alternate Pipeline Threading Model................................. 60 8.1.3 Overriding UIMA Configuration Parameters............................. 61 8.2 Collection Segmentation and Artifact Extraction.............................. 61 8.3 CAS Consumer Changes for DUCC...................................... 61 8.4 Job Development for an Existing Pipeline Design.............................. 61 8.5 Job Development for a New Pipeline Design................................. 62 8.5.1 DUCC built-in Flow Controller.................................... 62 8.5.2 Workitem Feature Structure...................................... 62 8.5.3 Deployment Descriptor (DD) Jobs.................................. 63 8.5.4 Debugging................................................ 63 9 Sample Application: Raw Text Processing 64 9.1 Application Function and Design....................................... 64 9.2 Configuration Parameters........................................... 64 9.3 Set up a working directory........................................... 65 9.4 Download and Install OpenNLP....................................... 65 9.5 Get some Input Text.............................................. 65 9.6 Run the Job................................................... 65 9.7 Job Output................................................... 66 9.8 Job Performance Details............................................ 66 TABLE OF CONTENTS iv 10 Sample Application: CAS Input Processing 68 10.1 Application Function and Design....................................... 68 10.2 Configuration Parameters........................................... 68 10.3 Run the Job................................................... 68 10.4 Job Performance Details............................................ 69 10.5 Limiting Job Resources............................................ 69 IV Ducc Administrators Guide 70 11 Installation, Configuration, and Verification 71 11.1 Overview.................................................... 71 11.2 Software Prerequisites............................................. 71 11.3 Building from Source.............................................. 72 11.4 Documentation................................................. 72 11.5 Single-user Installation and Verification................................... 73 11.6 Minimal Hardware Requirements for single-user Installation........................ 73 11.7 Single-user System Installation........................................ 73 11.8 Initial System Verification........................................... 74 11.9 Logs....................................................... 75 11.10Multi-User Installation and Verification................................... 76 11.11Ducc ling Installation............................................. 76 11.12CGroups Installation and Configuration................................... 77 11.13Set up the full nodelists............................................ 78 11.14Full DUCC Verification............................................ 78 11.15Enable DUCC webserver login........................................ 79 12 Administration 80 12.1 WebServer Authentication........................................... 80 12.1.1 Example Implementation....................................... 80 12.1.2 IAuthenticationManager........................................ 81 12.1.3 IAuthenticationResult......................................... 83 12.1.4 Example ANT script to build jar................................... 83 12.1.5 Example ducc.properties entries................................... 83 12.1.6 Example ducc.administrators..................................... 84 12.2 ducc.properties................................................. 84 12.2.1 General DUCC Properties....................................... 84 12.2.2 Web Server Properties......................................... 89 12.2.3 Job Driver Properties......................................... 90 12.2.4 Service Manager Properties...................................... 92 12.2.5 Orchestrator Properties.......................................