You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 47 Next »

Introduction

GroomServer is a process whose main responsibility is to manage bsp tasks. In addition to task management, GroomServer collaborates with BSPMaster so that job execution can be done correctly. Works that GroomServer performs include:

  1. Check local disk:
    1. Check local disk if writable.
    2. Delete files under local dir (bsp.local.dir)
  2. Clear state table:
    1. Clean up tasks (Map[TaskAttemptID -> TaskInProgress])

    2. Initialize job (Map[BSPJobID -> RunningJob])

    3. Cleanup running tasks (Map[TaskAttemptID -> TaskInProgress])

    4. Configure max tasks, default to 3.
  3. Start http server: An embedded http service.
  4. Start task report server: Communication between GroomServer and spawned child task. See TaskRunner.BspChildRunner
  5. Start worker server: RPC service listens to master's direction.
  6. Register to BSPMaster: Enroll itself to BSPMaster with GroomServerStatus.
  7. Start message dispatcher (Instructor): (TODO: refactor needed)
  8. Start monitor service: A process export metrics, task status, etc. information.

State Diagram

GroomServer state includes

  • NORMAL: Everything works fine.
  • STALE: This happens when DiskErrorException is thrown.
  • DENIED: This indicates failing to establish connection to BSPMaster.

  • No labels