지난주 분석은 유난히 즐거웠던것 같습니다.
진도가 휙휙 나가서 그런것 같습니다.
다들 내공이 더 많이 쌓이시다보니 이제는 뭐든
휙휙 지나가는것 같습니다.
저번주 MPSoC RTOS 관련해서 토론한 내용을 정리해 보겠습니다.
SiGe 반도체 이야기 때문에 결국 MPSoC RTOS까지 이야기하게 되었네요.
그게 저희 스터디의 묘미인것 같습니다.
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 관련 최적화
ㄱ. 각 core마다 L1 cache를 가지고 있기 때문에 이를 고려하여 scheduling 알고리즘 및 task관련 code 수행을 최적화 한다.
ㄴ. scheduling 알고리즘에서 CPU 친화력을 두는것은 좋은 방법이다.
ㄷ. 기본 programming 모델이 multi-thread 모델임으로 thread간 cache hit ratio를 높이게 디자인한다.
ㄹ. 기타 (내용 채워주세요.)
b. lock 관련 최적화
ㄱ. lock이 걸리더라도 다른 core에서 access 할수 있게 설계한다.
ㄴ. R/W lock, RCU 등은 좋은 방법이다.
ㄷ. 새로운 개념의 lock을 설계할때 해당 lock들의 동시 접근성을 높이는 기법을 전제로 한다.
ㄹ. 기타... (생각 나는대로 정리해주세요.)
c. resource 관련 최적화
ㄱ. core 별 resource를 따로 할당해서 해당 core에서는 spin lock 없이 쉽게 사용할수 있게 한다. array cache 등이 좋은 예이다.
ㄴ. task에게 할당되는 memory 영역등에 대해서도 고려해서 설계한다.
ㄷ. 기타. (역시나 ㅎㅎ)
d. 기타.
BUS, 메모리, Architecture 등등 여러가지 이슈가 나왔는데 저는 이 만큼만 정리하겠습니다.
나머지는 다른 분들이 채워주세요.
그럼 이번주 토요일 뵙겠습니다. ㅋㅋ
댓글 6
-
원민수
2006.08.02 13:51
2.a cache ratio를 높이는 것에 cache의 공유에 대한 얘기도 있었습니다. 그리고 한가지 더 말하자면 locality도 고려하면 좀더 좋아질 수 있다고 생각됩니다. -
백창우
2006.08.02 14:29
좋은 지적이다. cache 공유는 architecture를 설계할때 고려하면 좋을것 같고, locality는 CPU 친화도를 이야기 하는거겠지?
-
원민수
2006.08.03 09:04
CPU 친화도를 포함해서 해당 코드를 실행할 때 그 다음 코드를 실행할 가능성이 높아서 cache에 prefetch 시키는것까지 포함하는거죠.. -
백창우
2006.08.03 09:17
그건 MPSoC OS 이슈가 아니지 않냐? slab coloring, data prefetch, cache hit과 관련된 align은 single CPU상의 OS 이슈일듯.
-
김종윤
2006.08.03 15:16
-
백창우
2006.08.03 20:20
좋은 정보 고맙습니다. 재미난 것들이 많이 생기는군요. 우리도 어서 빨리 이 대열에 합류했으면 합니다.
그나저나 MPSoC와 관련해서 최종 정리를 위해 workshop을 가야 할것 같은데요. 사람이 없는 한적한 바다나 산으로 가서 밤세도록 MPSoC 기술에 대해 토론하며 정리하는 것은 어떨까요?
저번에는 비 때문에 못갔는데 이번에는 가야되지 않을까요? 마침 날도 타들어 가네요. ㅎㅎ
.