Real-Time and Embedded Systems
저자: JOGH A. STANKOVIC (University of Massachusetts, Amherst)
저널: ACM Computing Surveys, Vol. 28, No. 1, March 1996
좀 오래 전에 작성된 survey paper다. 그래도 꽤 전통성 있는 얘기를 하는 것 같아서.. 가볍게 읽어봤다.
- Real-time system은 시스템 정확성이 컴퓨팅 계산 결과 뿐 아니라, 시간성에도 의존적인 시스템을 일컬음
- 임베디드 시스템의 간단한 마이크로 컨트롤러(자동차 엔진)부터 매우 정교하고 복잡한 시스템(항공 교통 관제 시스템)까지 범위가 큼
- 시스템 컨트롤, 컨트롤 시스템 계산, 멀티미디어, 고속 송신 등에 사용됨
- 일부 실시간 시스템은 AI 기술 등의 다른 전문 기술들을 추가하거나, 추가적인 요구사항 및 복잡성을 생성하기도 함
- real-time + embedded system이 트렌드가 된 주요 이유 3가지
- 임베디드 시스템의 복잡성 상승
- 하드 real-time 시스템을 위한 과학 기술 개발
- 분산 멀티미디어의 등장
- 대부분의 임베디드 시스템은 소규모의 제한된 소프트웨어로 작동되었으나, 시스템의 복잡성이 증가함에 따라 강력한 마이크로 컨트롤러나 칩들이 일반적으로 사용됨에 따라 RTOS, 디버깅 툴 등이 사용됨
- 임베디드 시스템에서 센서 및 데이터 수집 기술 등을 처리하는 경우가 많음
- 보통 C 프로그래밍, 크로스 개발 및 디버깅 플랫폼 등을 사용
- Hard real-time system
- 반드시 deadline을 지켜야 하는 것
- rate monotonic analysis
- competitive algorithms
- online planning
- 많은 hard realtime system은 임베디드 시스템
- 분산 멀티미디어도 실시간성 요구
- 기본 원칙
- 대개 제어 시스템 & 제어되는 시스템으로 구성됨
- 컴퓨터가 상호작용하는 환경
- 제어 시스템은 센서를 통해 환경과 상호 작용하고, 해당 환경 상태는 환경의 실제 상태와 일치해야 함
- 이를 위해 모니터링 & 감지된 정보를 바로 처리해야 함
- 시간적 제약
- 주기적 / 비주기적 / 산발적
- 주기적인 태스크의 경우, 특정 T 단위마다 활성화
- 비주기적인 태스크의 경우, 예측 불가능한 시간에 활성화
- 산발적인 태스크의 경우, 비주기적인 태스크 + 활성화 사이 최소 도착 시간 제약 존재
- 원자력 발전소, 미사일 등에서 사용되는 시스템의 경우, real-time 성이 보장되지 않으면 치명적인 피해가 발생함
- 이런 경우 중요한 태스크는 미리 할당되어 지연없이 실행될 수 있도록 해야 함
- 그렇지만, 많은 상황에서 약간의 여유(leeway)가 있긴 함
- ex) 로봇이 제시간에 명령을 수행할 수 없는 경우 → 정지 명령 수행 or 속도 저하 시킴
- Real-time scheduling
- 동적 온라인 알고리즘 최악의 범위 식별
- 가장 빈번한 주기적인 작업에 가장 높은 우선 순위 할당하는 속도 단조 알고리즘 개선
- 산발적 서버 알고리즘
- 주기적인 작업들 기한 충족 보장
- 산발적 작업에 대한 뛰어난 응답 시간
- 우선순위 역전문제 해결
- 동적 온라인 스케줄링 알고리즘 등..
- Real-time kernels
- OS는 예측 가능한 실시간 제약 조건 충족, 취약점 및 배포, 시간 제약이 있는 리소스 할당 및 스케줄링 통합을 위한 기본 지원을 제공해야 함
- 3가지 고려사항
- 시간 문제를 개발 시 중요한 고려사항으로 둘 것
- 현재 OS는 응용 프로그램 작업이 마치 임의 프로세스인 것처럼 리소스를 요청한다는 개념임
- OS는 무작위 입력을 기대하고 좋은 평균적인 동작을 하도록 설계 되어 있음
- → 유연성과 예측 가능성의 균형을 기반으로 제작되어야 함
- 동적 + 적응적 + 리소스 충돌 예측 및 방지 가능해야 함
- 시간 제약이 있는 리소스 할당 접근 방식은 타이밍 제약, 예측 가능성, 적응성, 정확성, 안정성 및 취약점 해결하는 데 필요
- 실시간 커널은 멀티프로세서 및 분산 시스템 환경에서 작동하도록 확장 중임
- 메시지 및 네트워크를 통한 데이터 전송 등 모든 시스템 오버헤드를 고려하여 기한 전에 완료되도록 일련의 통신 작업을 예약해야 함 → end-to-end 스케줄링
- Mars Project(Kopetz 1989)
- 선험적 분석(priori analysis)을 사용한 리소스를 정적으로 예약해 분산 실행이 마감 시간을 보장할 수 있도록 함
- Spring Project(Stankovic 1991)
- 응용 프로그램 수준의 end-to-end 타이밍 요구사항 보장을 위해 CPU 스케줄링과 통합된 실시간 가상회로 및 실시간 데이터그램에 대한 동적 요청 지원
- 광섬유 링을 기반으로 하는 분산 반사 메모리로 예측 가능한 통신 특성 달성
- University of Michigan의 프로젝트(Shin 1991)
- 동적 실시간 가상 회로 및 데이터그램 지원
- 다중 홉 통신 서브넷 기반
- 실시간 운영체제의 표준 RT POSIX(Gallmeister 1995)
- 포팅된 어플리케이션의 타이밍 속성 평가 방법은 미해결
- Distributed multi-media
- 많은 실시간 제어 어플리케이션은 다양한 유형의 시간 제약 조건 하에 매우 비결정적인 환경에서 작동
- 이러한 응용프로그램에 멀티미디어 지원을 내장하면 크게 개선 가능함
- 멀티미디어 응용 프로그램이 플랜트 운영 데이터에 직접 액세스 할 수 있도록 하기 위해 동일한 컴퓨터가 작업 셀 안팎에서 시간 제약이 있는 작업을 제어, 멀티미디어 지원
- 실시간 데이터베이스, 멀티미디어 및 실시간 제어 융합의 잠재성 큼
Leave a comment