Tag : 멀티스레딩
-
서버 / 클라이언트 쪽에서의 동시성(concurrency)의 차이- 2008-08-04:
라는 글이 Sutter’s Mill에 올라왔음.
개략적인 내용은 서버 응용 — 특히 DBMS와 연동되는 다수의 요청과 그에 대한 transaction을 사용하는 구조 — 에서는 동시성을 위해서 하는 일이,
대다수의 작업이 transaction 기반
동시성 자체가 DBMS 단에서 처리됨
DBMS 자체의 동시성 처리는 많은 경우 row lock -> page lock or index lock -> table lock 같은 잘 알려진 알고리즘으로 해결됨과 같은 이유로 [...]
리뷰: The Art Of Multiprocessor Programming- 2008-07-25:
특징: (공유메모리를 사용한) 멀티코어 프로그래밍 위주로 기술된 책이지만, 이론 쪽의 비중이 매우 충실하다 — 가능한 씨나리오의 나열과 고안된 알고리즘에 대한 수학적인 증명과 설명은 꽤 간결하다. 그리고 이런데 익숙하지 않더라도 책을 보는데 큰 무리는 없다.
처음 1/3은 이론, 그 다음 1/3은 이론과 구현이 섞인 상태로(compare-and-swap or compare-and-set 연산들을 이용한 것 포함), 마지막 1/3은 실제적인 것(고병렬 자료구조들은 정말 [...]
Locality 그리고 false-sharing- 2008-05-24:
object님의 art.oriented 블로그에서 얼마 전에 false-sharing이 일어날 경우에 성능이 떨어지는 것에 관해 퀴즈를 내고 / 정답과 설명을 한 적이 있다. 퀴즈에서는 false-sharing이 아주 극단적으로 일어나는 경우를 보여주고, 실제 실행시켜보면 성능이 크게 떨어지는 것을 확인할 수 있다 — 물론 multi-core CPU 여야 하지만
False-sharing 은 현대의 멀티코어 CPU가 메모리에서 데이터를 읽어올 때 Word 단위 (=native [...]
잡담: 2008년 5월 1일- 2008-05-01:
5월 첫 포스팅은 잡담으로.
Blogging on Mac
맥용 오프라인 블로깅 툴인 bleezer를 받았다. (UTF-8 인코딩된) 한글을 인식 못한다. 버려 -_-
결국 그냥 FF로 WP 내장 에디터(지금까지는 그래왔음). 맥북에서 제일 그리운 윈도우즈 응용 프로그램이 Windows Live Writer라는건 흠좀무. 그런 의미에서 하는 얘기지만, MS가 정말 강점을 갖는 시장은 데스크탑 응용이 아닐까. OS 가 이 시장 자체의 기반이 되긴하지만 데스크탑 응용을 웹과 [...]
Thread Local Storage on Win32- 2008-04-22:
제목에 비해선 좀 작은 주제를 하나
Win32 API — 좀 더 구체적으로는 MSVC / intel CC의 일부 — 에서는 thread-local 하다는 것을 C/C++ 키워드로 표현할 수 있다.
static inline int getMid(BYTE* array, const int size,
const int index)
{ // find median value in array
int [...]
UPnL Workshop: Introduction to Concurrent Programming- 2008-04-20:
9회차의 UPnL 워크샵 발표 자료. 처음으로 Apple Keynote를 써봤는데, 대학원 2년 동안 빡쎄게 썼던 MS 파워포인트보다/OOo Impress보다 나름대로 인터페이스도 편하고 템플릿도 적당한듯하고, 전체적으로 괜찮았다 — 템플릿에서 고른 해상도가 와이드 모니터 기준으로되서 4:3 해상도였던 프로젝터에서 좀 꽝이었던 것만 빼면 Orz
발표한 주제는 Concurrent programming에 대한 간략한 소개. 나랑 비슷한 관심이 있는 후배가 없나 낚아보려고
(more…)
Concurrent programming을 시작하는 단계- 2008-04-13:
GPG 스터디 포럼에 이런 글 — 멀티코어에서 동기화관련 고민 — 이 올라왔다.(제목이랑 좀 관련이 적긴하다)
질문자의 반응은 약간 뻘타고, 여기서 댓글들을 잘 읽어보자. (특히 multithreaded/concurrent 프로그래밍을 시작한다면) 내가 생각하기에 멀티스레드 프로그래밍을 처음 접하는 사람이 하는 가장 큰 실수는, 스레드가 2개 이상인 코드를 일단 짜는데에 있다. 싱글스레드도 쉽지 않다. 오류는 거의 거기서 나온다. 그리고 이게 멀티스레딩에서는 다른 [...]
Multi-core의 Concurrency를 위해선 멀티스레딩 뿐인가?- 2008-04-10:
답은 아니다라고 생각한다 — 실제 현실도 그런 것 같고. 명확히 정리된 생각은 아니지만, 어제~오늘 생각했던 얘기를 풀어보겠다. 응용에 따라선 다른 방식으로 하드웨어(특히 CPU)의 concurrency를 끌어다 쓸 수 있을 것 같으니.
멀티코어 / 멀티 CPU 머신이 시대의 흐름인 것은 거의 확실하다. 적어도 앞으로 수 년 정도 범위에서 CPU 기술의 방향은,
메모리와의 통신 효율성 재고 — 현재 최대의 병목은 [...]
