CS

CS

동시 처리 (Concurrent) vs 병렬 처리 (Parallel)

공부를 하다보니 Concurrent 시스템 이라는 용어가 등장했다. 검색해보니 Parallel 이라는 용어가 같이 나온다. 동시 처리와 병렬 처리? 같은 말 아닌가? 라는 생각이 먼저 들었는데 읽어보니 전혀 다르다. 이 차이를 인지하고 있는게 업무상 대화할 때 매우 중요할 것 같아서 적어놔본다. 동시는 여러 개의 테스크를 일꾼 여럿이서 각자 한개씩 맡아서 처리하는 방법 병렬은 하나의 테스크를 일꾼 여럿이서 쪼개서 처리하는 방법 몇 가지 특징을 생각해볼 수 있다. 하나의 큰 테스크가 동시 시스템에 들어오는 경우 동시 시스템은 싱글 스레드와 같은 시간이 걸릴 것이다. 이런 경우는 병렬 시스템을 구축하는게 적합하다. 딥러닝에서도 이러한 이유 때문에 여러 gpu들로 하나의 큰 연산을 병렬 처리한다. 작은 테스크..

CS

AOT 컴파일러, 인터프리터, 바이트코드 인터프리터, JIT 컴파일러

빌드의 진화사 새로운 방식이 등장할때는 기존의 방식에 어떤 문제점이 있고, 그 문제점을 해결하기 위해 등장합니다. 이 발전 순서를 따라가면 이해가 쉬워지는 것 같습니다. AOT 컴파일러 C, C++ 동작 방식 C언어 코드를 컴파일러가 실행파일로 번역합니다. 이 과정을 '컴파일' 이라고 하고, 이 실행파일을 실행시키면 런타임으로 들어가게 됩니다. 컴파일 타임 : C언어 코드 -> 기계어 (실행파일) 런타임 : 기계어 -> CPU 로드 이 과정이 완전히 분리되어있습니다. 이 방식의 장점과 단점은 어떻게 될까요? 장점 1. 런타임이 빠릅니다. 기계어가 이미 만들어져 있기 때문에 다른 처리 없이 머신에 올려주기만 하면 됩니다. 2. 코드 자체도 빠릅니다. 머신에 가장 가까운 언어로 미리 통번역을 하기 때문에 기..

jamong5
'CS' 카테고리의 글 목록