네 솔라리스가 리눅스보다 쓰레드 성능이 더 좋을 수는 있습니다. 리눅스 커널의 쓰레드 구현 하에서는 아직 context switching 에서 메모리 전환 비용이 꽤 크게 먹이기 때문입니다.
질문 하나 드리고 싶습니다. 솔라리스 메뉴얼을 보면 솔라리스9 이후에는 기존의 M:N 모델이 아닌 1:1 모델을 기본으로 삼고 있습니다. ( M:N이 옵션으로 제공되는지 완전히 제거된건지는 잘 모르겠습니다. ) 솔라리스8 까지의 쓰레드 구현은 그렇게 나쁘지 않은 걸로 알고 있었습니다. 그런데 왜 1:1로 바뀌었을까요? 질문 내용이 '1:1이 더 좋으니까 1:1로 바뀐거 아니냐' 라는 유인 대답을 유도하게 생기긴 했는데 아닙니다. 실제로도 잘 몰라서 그런겁니다. 분명 M:N이 이론적으로 좋을 거 같고 솔라리스는 그 구현도 잘 되어있다고 알고 있었거든요.
kenny007one 님께서 생각하시는 그 리눅스의 성능 저하 요인은 무엇이라고 보십니까? 또 근거는 무엇이신지요?
리눅스 커널은 쓰레드 코드를 스케쥴러 액티베이션로 고치지 않는한 솔라리스
리눅스 커널은 쓰레드 코드를 스케쥴러 액티베이션로 고치지 않는한 솔라리스의 성능은 절대 따라잡을수가 없는건 어쩔수 없는듯 합니다.
솔라리스 thread 모델도 스케줄러 액티베이션 아닐껄요.이전에는 N
솔라리스 thread 모델도 스케줄러 액티베이션 아닐껄요.
이전에는 N:M 모델이었다가 1:1로 다시 구현했다고 들었습니다.
PS. 또 느끼는 거지만 글을 참 선정적으로 쓰시네요.
----
Let's shut up and code.
네 솔라리스가 리눅스보다 쓰레드 성능이 더 좋을 수는 있습니다. 리눅스
네 솔라리스가 리눅스보다 쓰레드 성능이 더 좋을 수는 있습니다. 리눅스 커널의 쓰레드 구현 하에서는 아직 context switching 에서 메모리 전환 비용이 꽤 크게 먹이기 때문입니다.
질문 하나 드리고 싶습니다. 솔라리스 메뉴얼을 보면 솔라리스9 이후에는 기존의 M:N 모델이 아닌 1:1 모델을 기본으로 삼고 있습니다. ( M:N이 옵션으로 제공되는지 완전히 제거된건지는 잘 모르겠습니다. ) 솔라리스8 까지의 쓰레드 구현은 그렇게 나쁘지 않은 걸로 알고 있었습니다. 그런데 왜 1:1로 바뀌었을까요? 질문 내용이 '1:1이 더 좋으니까 1:1로 바뀐거 아니냐' 라는 유인 대답을 유도하게 생기긴 했는데 아닙니다. 실제로도 잘 몰라서 그런겁니다. 분명 M:N이 이론적으로 좋을 거 같고 솔라리스는 그 구현도 잘 되어있다고 알고 있었거든요.
kenny007one 님께서 생각하시는 그 리눅스의 성능 저하 요인은 무엇이라고 보십니까? 또 근거는 무엇이신지요?