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 878
공지 [공지] IAMROOT 18차 커널 스터디 오리엔테이션 안내 [마감] [2] 문c(문영일) 2021.05.17 1249
공지 커널 스터디를 위한 문c 가이드입니다. [10] 문c(문영일) 2021.04.27 6468
1057 IBM POWER6 서버에 리눅스 설치할 기회가 생겼네요. ㅎㅎ [1] 정필섭 2011.03.22 7187
1056 Understanding the Linux Virtual Memory Manager [1] 백창우 2008.04.07 7161
1055 정규 스터디 모집 공고를 하려고 합니다. [8] 백창우 2010.03.11 7151
1054 안녕하세요!! [9] 안종현 2011.07.04 7146
1053 GCC 2차 세미나 공지 [7] 백창우 2009.04.14 7111
1052 세미나비 관련 논의 [6] 백창우 2009.04.01 7056
1051 전쟁 날 것 같네요. [2] 맥주 2010.11.23 7055
1050 혹시 파이썬 관심있으신분~ [2] 박은병 2010.11.29 7029
1049 아나토미 저자 김태연님께 받은 편지 [4] 백창우 2012.05.01 6961
1048 북한이 12월에 경기도를 공격한다네요.. [2] 김영일 2010.12.02 6957
1047 그렇게 안드로이드는 망했습니다. [3] 정현철 2011.08.15 6922
1046 [KVM STUDY] JAVA BYTE CODE 분석 [4] 이수연 2008.05.24 6893
1045 "리눅스 커널의 이해" 정독 스터디 [3] 백창우 2008.01.09 6879
1044 이번에는 세미나 주최 안하시나요^^ ?? [3] 박은병 2010.03.23 6856
1043 다들 모기를 어떻게 대처하십니까? [9] 정현철 2011.07.09 6831
1042 게시판권한 [1] 김창록 2009.04.01 6792
1041 이거 진짜 대박인데요. [2] 백창우 2009.03.10 6785
1040 앱빠로서 가슴이 아프네요. [3] 정현철 2011.10.06 6754
1039 인터넷의 미래를 좀 엿볼수 있는거 같네요 이상철 2010.05.18 6750
1038 GCC 세미나 공지 [55] 백창우 2009.03.08 6704
XE Login