Microsoft MVP성태의 닷넷 이야기
Windows: 42. Concurrency Runtime [링크 복사], [링크+제목 복사],
조회: 21622
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Concurrency Runtime and Windows 7
; http://blogs.msdn.com/nativeconcurrency/archive/2009/02/04/concurrency-runtime-and-windows-7.aspx

64개 이상의 프로세서를 지원하는 것과 사용자 모드 스케쥴러에 대한 개략적인 설명을 해주고 있습니다.

64개 이상의 프로세서 지원은, CPU를 그룹별로 나누어서 구현을 하는 식이어서 명시적으로 그룹을 지정하지 않게 되면 결국 하나의 그룹에 할당되어 64개 제한을 받게 된다고 합니다. 제가 생각해도 ... 명시적으로 그룹을 지정하는 것은 꽤나 번거로운 일이 될 것 같은데요. 다행히도 이런 작업을 이미 "Concurrency Runtime"에서 제공개 준다고 합니다. 즉, CR 기반으로 응용 프로그램을 작성하게 되면 Runtime 레벨에서 CPU 그룹을 지정해 주기 때문에 256개까지의 CPU를 사용할 수 있다는 이야기입니다.

UMS는 더 재미있는데요. ^^
Windows 7에서는 CR 기반으로 작성된 응용 프로그램은 스케쥴링을 사용자 모드에서도 가능하게 해주고 있습니다. UMS 레벨에서 다음 활성화될 태스크를 지정하기 때문에 더욱 빠르게 작업 간의 스위칭이 가능하게 만들었다고 합니다. 결국, 커널 스레드는 OS로부터 할당된 퀀텀만큼의 시간을 제대로 활용하게 되고, 그 커널 스레드에서 사용자 모드 스레드가 자유롭게 스위칭이 발생하는 것입니다.

음... 다중 프로세스 간에는 안 될 것 같고, 아마도 단일 프로세스에서 다중 스레드를 사용하는 응용 프로그램들의 성능이 더욱 좋아질 것으로 보입니다.

참고로, 다음의 문서도 공개되어 있습니다.

"Supporting Systems That Have More Than 64 Processors"
; http://download.microsoft.com/download/a/d/f/adf1347d-08dc-41a4-9084-623b1194d4b2/MoreThan64proc.docx








[최초 등록일: ]
[최종 수정일: 4/10/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13829정성태11/25/20246708스크립트: 67. 파이썬 - Windows 버전에서 함께 설치되는 py.exe
13828정성태11/25/20245205개발 환경 구성: 735. Azure - 압축 파일을 이용한 web app 배포 시 디렉터리 구분이 안 되는 문제파일 다운로드1
13827정성태11/25/20246028Windows: 273. Windows 환경의 파일 압축 방법 (tar, Compress-Archive)
13826정성태11/21/20246406닷넷: 2313. C# - (비밀번호 등의) Console로부터 입력받을 때 문자열 출력 숨기기(echo 끄기)파일 다운로드1
13825정성태11/21/20247059Linux: 110. eBPF / bpf2go - BPF_RINGBUF_OUTPUT / BPF_MAP_TYPE_RINGBUF 사용법
13824정성태11/20/20245435Linux: 109. eBPF / bpf2go - BPF_PERF_OUTPUT / BPF_MAP_TYPE_PERF_EVENT_ARRAY 사용법
13823정성태11/20/20246631개발 환경 구성: 734. Ubuntu에 docker, kubernetes (k3s) 설치
13822정성태11/20/20246502개발 환경 구성: 733. Windbg - VirtualBox VM의 커널 디버거 연결 시 COM 포트가 없는 경우
13821정성태11/18/20246105Linux: 108. Linux와 Windows의 프로세스/스레드 ID 관리 방식
13820정성태11/18/20246572VS.NET IDE: 195. Visual C++ - C# 프로젝트처럼 CopyToOutputDirectory 항목을 추가하는 방법
13819정성태11/15/20245140Linux: 107. eBPF - libbpf CO-RE의 CONFIG_DEBUG_INFO_BTF 빌드 여부에 대한 의존성
13818정성태11/15/20246699Windows: 272. Windows 11 24H2 - sudo 추가
13817정성태11/14/20245908Linux: 106. eBPF / bpf2go - (BPF_MAP_TYPE_HASH) Map을 이용한 전역 변수 구현
13816정성태11/14/20246855닷넷: 2312. C#, C++ - Windows / Linux 환경의 Thread Name 설정파일 다운로드1
13815정성태11/13/20245479Linux: 105. eBPF - bpf2go에서 전역 변수 설정 방법
13814정성태11/13/20246121닷넷: 2311. C# - Windows / Linux 환경에서 Native Thread ID 가져오기파일 다운로드1
13813정성태11/12/20246676닷넷: 2310. .NET의 Rune 타입과 emoji 표현파일 다운로드1
13812정성태11/11/202410291오류 유형: 933. Active Directory - The forest functional level is not supported.
13811정성태11/11/20245862Linux: 104. Linux - COLUMNS 환경변수가 언제나 80으로 설정되는 환경
13810정성태11/10/20246894Linux: 103. eBPF (bpf2go) - Tracepoint를 이용한 트레이스 (BPF_PROG_TYPE_TRACEPOINT)
13809정성태11/10/20246539Windows: 271. 윈도우 서버 2025 마이그레이션
13808정성태11/9/20246848오류 유형: 932. Linux - 커널 업그레이드 후 "error: bad shim signature" 오류 발생
13807정성태11/9/20245695Linux: 102. Linux - 커널 이미지 파일 서명 (Ubuntu 환경)
13806정성태11/8/20245872Windows: 270. 어댑터 상세 정보(Network Connection Details) 창의 내용이 비어 있는 경우
13805정성태11/8/20245483오류 유형: 931. Active Directory의 adprep 또는 복제가 안 되는 경우
13804정성태11/7/20247080Linux: 101. eBPF 함수의 인자를 다루는 방법
1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...