Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

쉬운 이해를 위해, 네트워크 모델을 제거하고 단일 PC에서의 차이를 살펴보겠습니다.


Anchor
concurrency
concurrency
concurrency

...


 동시성의 경우,  본질적으로 작업이 ,동일시간(나노세컨)에 동시에 실행되지는 않습니다. 작업이 작은 단위로 조각이 난상태로 

...

Info
물론 이 코드는, 실행 최적화에의해 다중코어 병렬처리가 될수도 있습니다. 

Task VS Thread : Task는 Thread를 효율적으로 사용하는 좀더 추상적 개체로 
OS에따라 스케쥴 방식이 틀리고 또한 프레임워크따라 비동기처리를 위한
스레드 관리방식이 틀리기때문에

이 부분은 깊게 들어가지 않고, Actor가 어떻게 스레드수를 고려하여 튜닝가능한지? 
 actor-dispatcher 편에서 에서 더 자세하게 설명예정입니다.


Anchor
parallelism
parallelism
Parallelism

...


병렬처리의 경우 작업을 명시적으로 여러개의 물리(코어)적 연산 장치에 각각 Join시켜  동시(병렬)에 처리하는 방식입니다.

...

Info
title추가정보

분산처리모델을 적용 시키면 ( 동시성과 병렬처리의 조합)

비용이 큰 연산단위를 더 작은단위로 잘게(Slice)나눠 빠른 분산처리를 통해 작업총량에 걸리는 시간을 어떻게 줄일까?

Akka에서는 StrameSinkAndFlows+Cluster 조합으로 이러한 문제를 풀려고 하고있습니다.


1시간마다 배치를 돌려 밀린일을 한꺼번에한다던지? 이러한 기능은 AKKA와 맞지 않는 Job의 형태입니다.


Anchor
Synchronous vs

...

Asynchronous
Synchronous vs Asynchronous

Synchronous(동기)

...

메서드 호출후 값이 반환되거나, 예외가 throw될때까지 호출자가 진행할수 없는 경우

...

Info

이러한 문제는 여러가지 액터가 메시지를 동시에 보내고

어떠한 한가지 액터가 그 메시지를 받아서 처리할때 메시지 순서에대한 보증을

어떠한 근거로 할것인가? 의 고민에 빠지게됩니다.

메시지 전달 보증(Message Delivery Reliability)에 추가적으로 언급하겠습니다.



Anchor
NonBlocking Guarantees
NonBlocking Guarantees
Non-blocking Guarantees (Progress Conditions)

...

이전 섹션에서 설명된것처럼 블로킹은 여러가지 이유로 바람직하지 않습니다. 

...