A centralized architecture to enable dynamic resource orchestration between computing nodes.
Face recognition or object detection services, each with different accuracy and processing time as well as different computing resource requirements, are broken into chains of handlers (or to say subprocess). Each handler could be placed on different nodes based on certain allocation algorithm on coordinator.
Data transmition between nodes is with HTTP.
# sudo ./install.sh
sys_info: periodical records of compute node status.
| column | type | description |
| timestamp | FLOAT | Sample time. |
| node_ID | INT | Compute node ID. |
| cpu_util | FLOAT | CPU utilization of compute node. |
| mem_total | INT | Total memory of compute node. |
| mem_util | FLOAT | Memory utilization of compute node. |
| gpu_util | INT | GPU utilization of compute node. |
| gpu_mem_util | INT | GPU memory utilization of compute node. |
| gpu_clock | INT | GPU clock rate of compute node. |
| gpu_power | INT | GPU consumed power of compute node. |
proc_info: periodical records of handler status.
| column | type | description |
| timestamp | FLOAT | Sample time. |
| session_ID | INT | Session ID. |
| handler_ID | INT | Handler ID |
| cpu_util | FLOAT | CPU utilization of handler. |
| mem_util | FLOAT | Memory utilization of handler. |
| gpu_util | INT | GPU utilization of handler. |
| gpu_mem_util | INT | GPU memory utilization of handler. |
packet_info: records of packet event along with packet sequence number.
| column | type | description |
| timestamp | FLOAT | Sample time. |
| session_ID | INT | Session ID. |
| handler_ID | INT | Handler ID |
| sequence | INT | Sequence number of packet. |
| event | VARCHAR | String indicating event type:
|
# sudo ./install.sh
# python3 main.py config/coordinator.conf
| coordinator | |
| node_path | Directory includes compute node information and ID. |
| handler_type_path | Directory includes handler type information and ID (not used). |
| service_type_path | Directory includes service type information and ID. |
| database | |
| db_addr | Address of database. |
| db_port | Listening port of database. |
| db_user | Login user name of database. |
| db_passwd | Login password of database |
| db_schema | Used schema of database. |
# sudo ./install.sh
# python3 main.py config/collector.conf
| collector | |
| collector_addr | Listening address of collector. |
| collector_port | Listening port of collector. |
| node_path | Directory includes compute node information and ID. |
| database | |
| db_addr | Address of database. |
| db_port | Listening port of database. |
| db_user | Login user name of database. |
| db_passwd | Login password of database |
| db_schema | Used schema of database. |
Please refers to FaceServer
