프로그래밍 QnA + 설치 및 활용 QnA + 강좌 + 뉴스, 새소식 + 토론, 토의 + 자유 게시판

익명 사용자의 이미지

멀티 쓰레드와 멀티 코어에 대해 궁금한게 있습니다.

프로그래밍을 할때 성능에 대해 생각할 때 병렬 처리 역시 하나의 최적화 방법중 하나인데.

이를 위해 결국 멀티 프로세싱을 할지, 멀티 쓰레드를 할지 결정하는거잖아요?

결국 context switching 등에서 조금 더 이점이 있는 쓰레드를 사용하게 되는데요.

근데 하나 궁금한건 제가 배울때는 CPU에서 말하는 core가 하나의 프로세스가 동작하는 아키텍쳐로 알고 있습니다.

그럼 코어가 6개더라도 그냥 for로 무한 루프를 돌리는 프로그램을 만든다면 당연 1개의 코어만 해당 프로세스를 동작 시키겠죠? 멋대로 코어를 여러개 사용해서 병렬 처리 할 것같지는 않습니다.

그럼 1개의 프로세스가 100개의 쓰레드를 가지고 있고 1개의 코어가 16개의 쓰레드를 지원한다고 가정해보겠습니다.

그럼 1개의 코어가 16개의 쓰레드가 동시에 돌아가는건 당연하겠지만 나머지 84개의 쓰레드를 다른 코어가 지원해 줄까요? 만일 안됀다면 1개의 코어만 동작하고 나머지 5개 코어는 놀게 됀다는 결론이 나오는데...

익명 사용자의 이미지

리눅스 awk 프로그램 코드가 이해가 안갑니다.

BEGIN {
    FS="[^a-zA-Z]+"
}
{
    for (i=1; i<=NF; i++)
        words[tolower($i)]++
}
END {
    for (i in words)
        print i, words[i]
}

필드 구분자를 알파벳을 제외한다는 거 같은데 +가 붙은 이유와
첫 번째 for문에서 words[tolower($i)]++ 이 부분이 잘 이해가 가지 않습니다. tolower함수?가 전달받은 인수를 소문자로 하는 것은 알겠는데 words라는 배열이 선언 없이 쓰이는 것도 이상하고 []안에 스트링을 적고 1을 증가시킨다는 것이...이해가 안갑니다.
emptynote의 이미지

RPC 프레임워크 맨땅에서 헤딩하기 3탄

부재 : 큐와 쓰레드 그리고 메시지 순서 보장

나의 첫번째 서버는 cpu 100% 치고 올라가는것도 문제지만

또 다른 문제를 갖고 있습니다.

나의 첫번째 서버는 쓰레드간 큐를 공유하는 방식으로

1개이상 입력 메시지 처리기 -- 1개 큐 -- 1개이상 비지니스 로직 처리기 -- 1개 큐 -- 1개이상 출력 메시지 처리기

와 같은 구조를 갖습니다.

이렇게 설계한 이유는 병렬성을 극대화 하기 위해서였습니다.

그런데 여기서 문제가 있습니다.

채팅을 한다고 합시다. A 가 첫번째 메시지를 보낸후 다시 두번째 메시지를 보내면

같은 채팅방에 있는 B 한테 A 의 첫번째 메시지와 두번째 메시지를 순서대로 받는것을 보장 할 수 있을까요?

답은 도착한 메시지 순서를 보장 할 수 없다 입니다.

왜냐하면 동일한 로직을 수생하는 쓰레드라도 큐에 의해 먼저 깨어난 쓰레드의 일부분만 실행되고 그 다음 로직은 언제 실행될지 모릅니다.

foruses의 이미지

쉘 스크립트를 사용하여 문자를 검색하고 추출한 후 파일로 저장하는 방법?

435 3190
435 3293
435 2982
132 1023
132 9023
132 3982
132 30223
999 53323
999 232982
....
....
....
첫번째 컬럼의 숫자가 같은것만 추출해서 자동으로 (자료의 양이 매우 많고 추출될 열의 개수도 다릅니다.) 독립된 파일로 저장하려면 어떻게 해야 하나요?
가령 아래처럼요. 감사합니다.

$cat a1.dat
435 3190
435 3293
435 2982

$cat a2.dat
132 1023
132 9023
132 3982
132 30223

$cat a3.dat
999 53323
999 232982

익명 사용자의 이미지

유닉스 crontab에 대해 질문이 있습니다.

crontab을 사용 하려고 간단하게 crontab -e를 이용하여 다음과 같이 적었습니다.

happybright의 이미지

윤성우 자료구조

윤성우의 c++과 자료구조를 병행하려 하는데요, c++는 예제랑 문제풀어보면서 하면 되는데 자료구조는 어떻게 공부를 해야할지 모르겠더라고요

일일이 타이핑하기에는 양이 꽤 많던데..활용도 아니고 자료구조의 구조에 대한 설명이 위주라 어떻게 해야할지 감이 안오더라고요. 그냥 읽고 이해를 하고 넘어갈까요? 아니면 일일이 타이핑을 하는게 맞을까요?

oversoul3의 이미지

멀티스레드 서버 클라이언트 구분 방법이 궁금합니다.

종류가 다른 2가지의 클라이언트가 있습니다. 클라이언트가 서버로 연결요청을 하면 스레드를 만들어 스레드와 클라이언트가 통신하도록 서버를 만들고 싶습니다. 연결요청이 들어올 때 클라이언트의 종류를 구분할 수 없는걸로 아는데 그럼 연결이 된 후엔 어떻게 클라이언트마다 동작을 달리할 수 있는지 알고 싶습니다.

익명 사용자의 이미지

소켓 수신 속도

안녕하세요
소켓 수신 속도에 대해 궁금한 것이 있어 질문 합니다

1. 발신하는쪽에서 100ms 마다 주기적으로 send (일방적으로 계속 쏴줌)
2. 수신은 1ms 마다 recv(받기만함)
3. 패킷 크기는 약3406 byte(고정)

즉, 100ms마다 보낸 정보를 손실없이 처리하고자 하는데
실제 recv 시간이 100ms(+-15ms 오차범위내) 마다 잘들어오다가
특정구간(포인트를 못찾겠습니다)에서 3sec정도 늦게 들어오는 현상이 있는데..
늦게 수신 된것인지, 발신을 늦게한건지(발신 쪽에는 보낼때의 시간정보를 보낼수 없는 상황)

특이한게 늦게들어온 패킷 이후의 패킷은 1ms씩 recv가 와르르~ 하고 되는데
1초정도 후에 다시 100ms마다 recv 합니다
어떤 느낌이냐면 억지로 뭘 자꾸 계속 집어 넣어서 배출하는 입구가 막혔 었는데
막힌곳이 갑자기 뚫려자 와다닥 하고 쏟아지는 느낌 입니다

익명 사용자의 이미지

2019 Couchbase NoSQL Day 사전신청

Forums: 

안녕하세요. Couchbase 한국총판 (주)엔투엠 입니다.
Couchbase를 사용하시는 고객을 대상으로 정말 오랜만에 "2019 Couchbase NoSQL Day" 을 진행하고자 합니다.
진행 전 사전조사를 통해 참석 인원을 확인하고자 하오니 간단한 설문을 작성해 주시면 감사하겠습니다.
감사합니다.

* 일시: 2019년 7월 12일 금요일

* 장소: 미정

* 시간: 10:00 AM ~ 05:00 PM

* 발표자: Couchbase 본사 기술 엔지니어 (통역예정)

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 강좌 + 뉴스, 새소식 + 토론, 토의 + 자유 게시판 구독하기