2009-03-02 6 views
1

나는 서로 다른 많은 단계로 구성된이 시스템을 함께 파이프했습니다. 특히 tcp-ip를 통해 통신하는 많은 프로세스가 있습니다. 메시지는 패킷 지향 프로토콜을 통해 으로 교환됩니다 (특정 조건이 충족되는 경우 더 많은 메시지를 단일 와이어 프로토콜 데이터 단위 에 함께 채울 수 있음). 나도 제어 흐름 대기열을했습니다 - 소켓이 차단되지 않습니다. 보내지 않으면 메시지를 대기열에 넣거나 보내 대기열에 병합합니다. 물론 런타임시에 일어나는 일은 tcp ip control flow 밑에 의존하기 때문에 tcp ip queues도 모델링하고 싶습니다. 질문은 - 내 시스템에 대한 시뮬레이션을 만드는 방법에 대한 생각을 공유 할 수 있습니까? 나는 그것을위한 시뮬레이터를 만들려고 생각했다. 즉, 모든 큐에 대한 큐 데이터 구조를 가진 프로그램이다. 내 모델에서 매번 틱을 위해 모델을 내 이해에 따라 진화시킨다. ie 내 모델의 tcp 버퍼에 대한 데이터 구조에 충분한 공간이 있다고하면 출력 대기열에있는 메시지 번호를 만큼 줄이고 TCP 버퍼 모델에서 사용 가능한 공간 카운터를 메시지 크기만큼 줄입니다. tcp 버퍼를 tcp 링크 의 대역폭을 기반으로하는 비율로 비 웁니다 (당연히 저는 많은 양의 데이터를 펌핑한다는 가설을 세우고 있으며 TCP 링크의 유일한 매개 변수는 입니다). 그런 일을하는 것은 많은 노력으로 보입니다. 내가 필요한 것이 무엇인지 확신 할 수 없습니다. 아마도 스프레드 시트 모델을 사용하는 것이 더 좋겠지 만 구조화 방법을 잘 모르겠습니다.메시지 큐 모델링

답변

0

도구 또는 라이브러리 discrete event simulation을 사용하면 모델을 만드는 데 여전히 유용하지만 단순해질 수 있습니다. 모델 구조에서 이해할 수있는 형태로 대부분의 응용 프로그램 구조를 복제해야하지만 메시지 속도의 다른 배포판을 주입하기위한 도구를 얻고 다른 시나리오로 쉽게 재생할 수 있습니다.

0

Ronald Szeto's TCP Simulator을 사용할 수 있습니다. 그것에는 자바 인터페이스가 있습니다. 나는 짝을 이루는 대기열과 함께 복잡해 지려고 노력하지 않을 것이다. 시스템을 모델링 한 다음이 시뮬레이터를 사용하여 기본 네트워크 조건을 모델링하고 OS에서와 같이 연결하십시오. 아마 당신의 응용 프로그램에있는 각각의 실제 시스템에 별도의 네트워크 대기열이 없다고 가정하고 있습니다.