임베디드 시스템 용 스케줄러를 개발 중입니다. 이 스케줄러는 X 밀리 초마다 각 프로세스를 호출합니다. 이 시간은 물론 각 프로세스에 대해 개별적으로 구성 할 수 있습니다.시간이 지남에 따라 프로세스를 분산시키는 방법 "충돌"최소값 얻기
모든 것이 코딩되어 있으며 모든 프로세스를 필요에 따라 호출합니다. 내가 직면하고있어 문제는 이것이다 :
A: 10ms
B: 15ms
C: 5ms
D: 30ms
될 것입니다 시간이 지남에 따라 호출 결과 :
A |
A B A B |
C C C C C C C | processes being called
D |
----------------------------------
0 5 10 15 20 25 30 35... ms
각각마다 10, 15, 5, 30 밀리 초를 호출 할 내가 4 개 프로세스를 설정 상상
문제는 30ms에 도달하면 모든 프로세스가 같은 순간 (하나씩 차례대로) 호출되고 이로 인해 여기에서 올바른 실행이 지연 될 수 있다는 것입니다.
이 문제는 각 프로세스에 지연을 추가하여 해결할 수 있지만 호출 빈도는 유지되므로 주파수는 서로 배수가되지 않습니다. 내 문제는 각 프로세스에 적용 할 지연을 계산하여 충돌 횟수를 최소화하는 방법을 모른다는 것입니다.
이 알고리즘이나 수학적 지침에 대한 알려진 알고리즘이 있습니까?
감사합니다.
간격을 충돌 사이에 두 프로세스 사이에 매개 변수가없는 한 다음, 난 당신이 운이 가지이며, 엄격하게 그들에게 순종해야하는 경우 그들의 간격의 LCM이 될 것입니다. 따라서 모든 간격이 서로 상대적으로 중요 할 때 충돌이 최소화됩니다. –