Page History
...
쉬운 이해를 위해, 네트워크 모델을 제거하고 단일 PC에서의 차이를 살펴보겠습니다.
Anchor concurrency concurrency
concurrency
concurrency | |
concurrency |
...
동시성의 경우, 본질적으로 작업이 ,동일시간(나노세컨)에 동시에 실행되지는 않습니다. 작업이 작은 단위로 조각이 난상태로
...
Info |
---|
물론 이 코드는, 실행 최적화에의해 다중코어 병렬처리가 될수도 있습니다. Task VS Thread : Task는 Thread를 효율적으로 사용하는 좀더 추상적 개체로 OS에따라 스케쥴 방식이 틀리고 또한 프레임워크따라 비동기처리를 위한 스레드 관리방식이 틀리기때문에 이 부분은 깊게 들어가지 않고, Actor가 어떻게 스레드수를 고려하여 튜닝가능한지? actor-dispatcher 편에서 에서 더 자세하게 설명예정입니다. |
Anchor | ||||
---|---|---|---|---|
|
...
병렬처리의 경우 작업을 명시적으로 여러개의 물리(코어)적 연산 장치에 각각 Join시켜 동시(병렬)에 처리하는 방식입니다.
...
Info | ||
---|---|---|
| ||
분산처리모델을 적용 시키면 ( 동시성과 병렬처리의 조합) 비용이 큰 연산단위를 더 작은단위로 잘게(Slice)나눠 빠른 분산처리를 통해 작업총량에 걸리는 시간을 어떻게 줄일까? Akka에서는 StrameSinkAndFlows+Cluster 조합으로 이러한 문제를 풀려고 하고있습니다. 1시간마다 배치를 돌려 밀린일을 한꺼번에한다던지? 이러한 기능은 AKKA와 맞지 않는 Job의 형태입니다. |
Anchor | ||
---|---|---|
|
...
|
Synchronous(동기)
...
메서드 호출후 값이 반환되거나, 예외가 throw될때까지 호출자가 진행할수 없는 경우
...
Info |
---|
이러한 문제는 여러가지 액터가 메시지를 동시에 보내고 어떠한 한가지 액터가 그 메시지를 받아서 처리할때 메시지 순서에대한 보증을 어떠한 근거로 할것인가? 의 고민에 빠지게됩니다. 메시지 전달 보증(Message Delivery Reliability)에 추가적으로 언급하겠습니다. |
Anchor | ||||
---|---|---|---|---|
|
...
이전 섹션에서 설명된것처럼 블로킹은 여러가지 이유로 바람직하지 않습니다.
...