multi-core rtos 조건

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

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 3023
공지 [공지] IAMROOT 18차 커널 스터디 오리엔테이션 안내 [마감] [2] 문c(문영일) 2021.05.17 2153
공지 커널 스터디를 위한 문c 가이드입니다. [10] 문c(문영일) 2021.04.27 8134
1078 스터디 첫주, 둘째주에 참석이 힘들거 같은데 괜찮을까요??? 권민균 2011.03.15 7520
1077 이정우님 김수연님께. [2] 백창우 2009.04.14 7516
1076 초대형 블록버스터 라스트 갓 파더 [1] 배상경 2010.12.01 7494
1075 혹시 이론 물리학 관심 있으신분 계신가요? [3] 백창우 2008.03.21 7452
1074 러셀 킹 한테 답장이 왔는데... [3] 홍문화 2011.08.22 7416
1073 건강들 챙기시기 바랍니다. 안타까운글이 올라와서요.. [6] 이상철 2010.03.19 7411
1072 "anfl" KLDP회원님을 찾습니다. michael 2008.11.26 7407
1071 GCC 2차 세미나 많이들 신청해주세요. [1] 백창우 2009.04.30 7399
1070 반갑습니다. 가입인사 드립니다 [2] 문유성 2011.08.31 7381
1069 [커널 15차 A팀] 21주차(2018-09-15) 스터디 노트 코딩의노예 2018.09.16 7369
1068 [반공지] 소스 분석하실때 encoding을 utf-8로 통일하십시요. 백창우 2011.08.02 7359
1067 GCC 세미나 장소 공지 [1] 원민수 2009.05.04 7348
1066 커널 최적화 기법 백창우 2011.10.12 7341
1065 [모집] 국산 슈퍼컴 ‘천둥’을 활용한 병렬 프로그래밍 전문가 과정 교육생 모집 file 나정호 2013.04.16 7306
1064 노서영 박사님 발표자료 입니다. [3] file 백창우 2012.04.08 7300
1063 GCC 세미나 장소 공지 원민수 2009.04.02 7291
1062 Intel VLIW Processor & Compiler 백창우 2008.01.20 7278
1061 노트북 쓰시는 분들은 어떤 모델 쓰시나요? [14] 이승우 2011.08.11 7243
1060 control키하고 caps lock키 변경하는 방법이라네요~ file 이상철 2008.12.02 7242
1059 질문이요. [1] 신재호 2010.11.23 7242
XE Login