2014-10-14 2 views
0

우선 우선 순위가 매겨진 FIFO 스케줄링 알고리즘을 사용하는 엔터프라이즈 BI 시스템을 정리하려고합니다. 따라서 화요일의 우선 순위 4 보고서는 목요일의 우선 순위 4 보고서보다 먼저 실행되고 월요일의 우선 순위 3 보고서보다 먼저 실행됩니다. 추가 세부 정보 :optaPlanner의 지능적인 사용 사례입니까?

큐는 작업이 항상 결코 빈 추가되고있다
  • 잡스는 위쪽으로 24 시간 분 아래에서 실행 시간의 범위
  • 작업
  • 을 실행하는 데 사용 40 개 일부 이상한 동일한 애플리케이션 서버가 있습니다

필자는 optaPlanner를이 시나리오에서 실행할 수 있다고 생각합니다. 우선 순위 주변의 엄격한 규칙과 대기열의 평균 시간 주변의 일부 부드러운 규칙이 있습니다. OptaPlanner가 나를 도울 것인지 아닌지를 결정하기 위해이 상황에서 무엇을 찾고 있어야합니까? OptaPlanner가 FIFO 알고리즘보다 더 할 수 있도록

답변

2

문제는NP-완료 빈 포장 (그리고 아마도 작업 가게 스케줄링)의 형태처럼 보인다.

하지만 실제로는 NP 완료입니까? 이러한 조건이 모두이 충족 경우,하지 않을 수도 있습니다 :

  • 40 개 서버가 동일합니다. 따라서 서버 B 대신 서버 A에서 우선 순위 보고서를 실행하면 보고서가 더 빨리 전달되지 않습니다.
  • 모든 40 개의 서버가 동일합니다. 따라서 총 지속 시간 (특정 입력 집합에 대한)은 상수입니다.
  • 총 메이크 팬은 중요하지 않습니다. 따라서 20 시간의 작은 일자리와 20 시간과 2 시간의 큰 일자리가 주어지면 큰 작업이 시작되기 전에 10 시간이 지나면 모든 작은 일자리가 완료되며 30 시간의 전체 걸쇠가 주어진다면 괜찮습니다. 메이 프판을 20 시간으로 줄일 필요가 없습니다.
  • "대기열의 평균 시간"은 논쟁의 여지가 있습니다. 작업이 완료 될 때까지 작업이 대기열에있을 때까지 또는까지 걱정합니까? 총 지속 시간이 상수이면 작은 작업을 처음 또는 마지막으로 FIFO로 처리하여 (물론 우선 순위를 고려하면서) 수행 할 수 있습니다.
  • 작업간에 종속성이 없습니다.

OptaPlanner는 올바르게 작성된 욕심쟁이 알고리즘 (가장 우선 순위가 가장 높은 작업을 가장 작은/가장 큰 작업으로 예약 함)보다 더 잘 수행 할 수 없습니다. 이러한 조건 중 하나라도 충족되지 않으면 (예를 들어 더 빠른 10 대의 새 서버를 구입하는 경우) OptaPlanner가 더 잘 수행 할 수 있습니다. 그 점을 이해하려면 1 개의 스레드를 쓸 가치가 있는지 평가해야합니다.

OptaPlanner를 사용하는 경우 새 보고서가 시스템에 입력 될 때 실시간 스케줄링 및 데몬 모드를 확인하십시오.

+1

안녕하세요! 고마워. 그러한 단언들 중, 메이크 팬 하나가 가장 틀린 것 같습니다.이 경우 20 시간이 더 좋을 것이고, 줄이면 큐에서 평균 시간이 의미있게 줄어들 것이라고 생각합니다 (우리는 그들이 작업을 위해 집으로 돌아올 때까지 시간을 측정하고 있습니다). 완료되지 않았습니다.) – Chris

관련 문제