multi-core rtos 조건

백창우 2012.08.21 17:59 조회 수 : 7191

6년 전에 여기 게시판에 올렸던 내용인데,

이번에 애들 가르킬 일이 있어 정리 하는 김에 혹시 필요하신 분이 계실까봐 다시 게시판에 정리 해봅니다.


=======================================================


1. MPSoC RTOS를 위한 선결조건

a. 모든 lock은 core간 상호 배재하기 위해 spin lock으로 바꾼다.

b. interrupt는 MPSoC Processor 마다 틀리기 때문에 ISR 정책을 새로이 정의한다.


1.a 조건만 성립되면 일단 MPSoC에 동작하는 RTOS가 만들어진다. 그렇지만 최적화 되지 않았기 때문에 MPSoC RTOS라고 보기는 힘들다.

1.b 조건을 성립하면 interrupt 처리가 가능해진다.



2. MPSoC RTOS를 위한 최적화

a. cache 관련 최적화

ㄱ. scheduling시 cache affinity 

L. locality 적용

- 기본 programming 모델이 multi-thread 모델임으로 thread간 cache hit ratio를 높이게 디자인


b. lock 관련 최적화

ㄱ. 되도록 lock 없게 설계

-- ex: http://www.iamroot.org/xe/14496

ㄴ. R/W lock, RCU 구현

ㄷ. 새로운 개념의 lock을 설계할때 해당 lock들의 동시 접근성을 높이는 기법을 전제로 구현

ㄹ. lock granularity를 fine grained로 설계


c. resource 관련 최적화

ㄱ. percpu, percore, array-cache

ㄴ. memory management 설계시 memory latency 고려 (local memory 활용)


d. scheduling algorithm

ㄱ. load balancing

ㄴ. load unbalancing

ㄷ. pfair 계열 scheduling

ㄹ. epdf, dfs

ㅁ. slack 관련 scheduling


e. core partitioning (ex: cgroup)

ㄱ. scheduling 관련

ㄴ. memory management : NUMA 관련

ㄷ. logical partitioning

ㄹ. many core (context switch less)


f. I/O & IRQ

ㄱ. BUS lock 제거

ㄴ. irq affinity
ㄷ. irq load balancing

ㄹ. local irq issue

ㅁ. inter-processor comminication


g. 기타.

- cache coherency protocol

- atomic operation

- barrier



삼성 S5PV310

- GIC (Generic Interrupt Controller) : local interrupt controller?

- SGI (Software Generated Interrupt) : inter-processor comminication

- swi wfi (sgi에 해당) -> core1 부팅주소



=======================================================


다른 최신 기법에 대해 알고 계신분은 키워드 형태로 추가해주시면 좋을것 같습니다.



번호 제목 글쓴이 날짜 조회 수
공지 [공지] IAMROOT 19차 커널 스터디 오리엔테이션 (zoom 접속 안내) [5] 문c(문영일) 2022.05.07 881
공지 [공지] IAMROOT 18차 커널 스터디 오리엔테이션 안내 [마감] [2] 문c(문영일) 2021.05.17 1249
공지 커널 스터디를 위한 문c 가이드입니다. [10] 문c(문영일) 2021.04.27 6472
1077 세미나 관련해서 여러분들의 의견을 듣고자합니다. [1] 백창우 2007.11.05 4066
1076 장소에 대하여. 김성준 2007.11.05 4088
1075 멤버들만을 위한 비밀 게시판을 만들었습니다. [4] 백창우 2007.11.06 4562
1074 토요일날 만나서 반가웠습니다. [2] 이완근 2007.11.06 4092
1073 임베디드 분야의 업무에 대해 여쭤보고 싶습니다. [3] 김기오 2007.11.09 4308
1072 4기 스터디에 함께하고 싶습니다. [2] 천풍 2007.11.10 3942
1071 오늘 모임에 불참할것같습니다. 김회수 2007.11.10 3847
1070 x86 4기 전용 게시판을 오늘에서야 발견했네요.. 김기태 2007.11.10 4115
1069 x86 스터디하시는 분들 참고하셨으면 합니다. [3] 김기오 2007.11.13 4433
1068 위키 설치 관련해서 [3] 백창우 2007.11.15 10006
1067 스터디 할때에 빔프로젝트를 사용하고자 하면... [2] 이수연 2007.11.16 5117
1066 위키 사용과 관련해서 백창우 2007.11.18 4029
1065 gcc 컴파일 과정 자료 올렸습니다. [6] 백창우 2007.11.18 5281
1064 서버 계정 정보를 받습니다.( 4기분들 필독 ) [3] 원민수 2007.11.23 4818
1063 선배님들의 도움을 요청합니다. [1] 김성준 2007.11.29 4136
1062 ID 발급건 관련( ID 신청하신분들 필독 ) 원민수 2007.11.30 4224
1061 kernel 소스를 어디에 올려 놓습니까? [3] 맥주 2007.12.01 4889
1060 4기 멤버 공지 [1] 백창우 2007.12.02 4742
1059 전체 세미나 공지 [3] 백창우 2007.12.05 4579
1058 ID 발급 신청하셨던 분들은 필독! [2] 원민수 2007.12.06 4969
XE Login