blob: 94c5c1b976e4fafd6d84ee90cbb5369e536458f2 [file] [log] [blame]
%
% Licensed to the Apache Software Foundation (ASF) under one
% or more contributor license agreements. See the NOTICE file
% distributed with this work for additional information
% regarding copyright ownership. The ASF licenses this file
% to you under the Apache License, Version 2.0 (the
% "License"); you may not use this file 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,
% software distributed under the License is distributed 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.
%
\subsection{\varProcessManager (\varPM)}
There is one \varProcessManager~per \varDUCC~cluster.
The duties of the \varProcessManager~are:
\textit{
\input{part5/c01-PM.tex}
}
The \varProcessManager~provides essential functionality for operation of the
\varDUCC~system.
The \varProcessManager~both publishes and receive reports.
The \varProcessManager~receives \varOrchestrator~publications comprising
Jobs, Reservations, and Services.
The \varProcessManager~distributes two publications at regular intervals.
One is heartbeat information to notify the \varOrchestrator~and
\varWebServer~that the \varProcessManager~is alive.
The other is compacted \varAgent-destined information regarding
processes that need to be started, stopped or modified.
The main function of the \varProcessManager~is to efficiently manage
the distributed \varAgents~each of which manages processes running
locally on its own respective \varNodeMachineComputer.
The \varProcessManager~interprets the \varOrchestrator~publications and
redistributes only the essentials to the collection of distributed
\varAgents~who each independently act to bring the
state of locally deployed processes into compliance.