No real time schedule analysis


출처는 아래와 같다.

http://users.ece.cmu.edu/~koopman/pubs/koopman11_escsv_handouts.pdf

43개를 어떤 근거로 뽑은 것인지는 잘 모르겠지만, 그 중에서 Engineering적인 측면에서 관심있는 것 중 하나를 골라서 서술하고자 한다.

15. No real time schedule analysis

Real time scheduling방식에는 여러가지 방식이 있다. 그 중에서 Rate monotonic 방식은 cost대비 가장 효과적인 것으로 알려져있다.  그런데 회사에서 어떤 알고리즘을 사용하냐고 물어보면 cyclic executives방식을 사용한다고들 한다. 그 이유는 RM방식이 cyclic executive방식보다 직관적이지 않고 분석하기가 쉽지 않기 때문인 것 같다. Rate monotonic방식과 cyclic executive방식에 대한 장단점은 논문 Software Architecture for Hard Real-Time Applications; Cyclic Executives vs. Fixed Priority Executives에 정리되어 있다.

functional safety관점에서는 rate monotonic을 무작정 사용하는 것도 쉽지는 않을 수 있는데, 이유는 여러가지 ASIL을 가진 software의 scheduling시에 낮은 ASIL이 높은 ASIL에게 간섭할 수 있기 때문인데 이와 관련된 논문이 Applying the AUTOSAR timing protection to build safe and efficient ISO 26262 mixed-criticality systems이다. 그런데 이 글을 쓰면서 갑자기 든 생각은, 여러가지 ASIL을 가진 software의 scheduling이 현실적인가? 란 의문이 들기도 한다. partitioning이 되어 있다면 여러 종류의 ASIL을 가진 task간 scheduling은 가능할 것이긴 한데, 이건 나중에 별도의 글로 작성할 기회가 되면 작성하도록 하겠다.

 

real time scheduling을 design하기 위해서는 task를 정의하고 각 task가 달성해야 하는 목표를 수집한다. 예를 들면 task1은 100msec마다 수행되어야 한다는 것이라던지, task2는 200msec마다 수행되어야 한다는 것이겠다. plan에서는 task의 이름, period, 우선순위, maximum execution time등이 기술되어야 한다. maximum execution time을 정의하기 위해서는 상당히 보수적인 관점에서 정의해야 할 필요가 있다. 즉 Worst case execution time(WCET)를 알아야 한다. 현실적으로 정확한 값을 구하기가 어렵다면 어느정도 buffer를 두거나 정말 재수가 없어도 정말 없을 만한 상황을 고려하여 기술하면 될 것이다. (broken pipeline, missed cache, page fault)

scheduling plan을 세웠으면 분석을 통해 그 plan이 실현 가능한지의 여부를 판단해야 한다. 이 때 사용하는 방법이 real time schedule analysis방법이다.

scheduling plan을 세우기 전에 각 scheduling방법의 장단점을 숙지해야 하고, 전략을 짜야 한다. scheduling을 어떻게 짜느냐에 따라서 프로그램의 구조가 많이 달라질 수 있기 때문에 소프트웨어 설계에서 매우 중요하다.

 

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중