바이두는 도대체 어디서 돈이 나서 무료 용량이 2tb야??

2TB 해봤자 일반 사람들 1GB 남짓하게 밖에 안쓴다.
귀찮고 번거로워서 사람들 웹하드 같은거 크게 잘 안씀. ㅇㅇ

하지만....!
바이두 수익성이 예전보다 안좋은건 안비밀... orz...
운영비용이 "생각보다" 싸다는거지, 결코 싼건아님...
이게 알고보면 중국 내 시장경쟁을 위해 띄워낸 승부수다보니 당연한 결과임.



온라인 게임 서버를 클라우드에서 서비스하면 안되??

안될건 없는데 상황을 봐야지.

MMO 같은건 실시간 연산이 너무 많은데,

(실시간 = 대충 밀리섹 단위의 반응속도 요구)
클라우드 서버와 통신하는데에만 엄청난 시간이 걸려서 게임이 운영이 안된다.

모바일의 경우,
비실시간 게임이 대부분인데다,

사용자 수를 측정하기 어려운 부분이 있고,
순식간에 트래픽이 늘었다 줄었다 하기때문에,
자체서버를 배치하는건 사용자 수를 보고나서 고려해도 나쁠게 없다.


IBM 에서 IOT protocol 하나 내놓지않았어?

(참고 : http://postscapes.com/internet-of-things-protocols)


IBM에서 만든건 Mosquitto(JOINC 페이지)라고 해서, MQTT라는 TCP/IP기반 pub-sub 프로토콜의 오픈소스 구현체임.
(pub-sub이라는건, 각각의 구성요소가 메세지를 공시하고, 이를 다시 각자 알아서 필요한걸 골라가는 식의 패턴을 이야기함)


개인적으로 MQTT는 IoT 활성화와는 거의 상관이 없다고 보고있다.

IoT는 초근접거리 통신에 기반한 mesh network에 의존할 가능성이 크다고 보고있고,

Broker를 중심으로 구성되는 MQTT는 역할을 다 하기 힘들거라고 생각함.



개발자들 멀티 코어를 활용하기 위한 병렬 프로그래밍을 그렇게 싫어하냐?

싫어하는게 아니고 어려운거다.

의외일지도 모르겠지만

병렬처리는 프로그래밍계에서도 최대 난제 중 하나다.

병렬작업을 부작용 없이 효과적으로 디버깅할 수 있는 도구는 없으며,
데드락, race condition, 좀비 등의 문제가 생기는 것을 미리 탐지할 수 있는 도구 또한 없다.

덕분에 심한 경우엔 수십번씩 다시 돌려보며 원인을 추측하는 것 외엔 방법이 없다.


작업을 효율적으로 쪼개는 것 역시 어려운 문제이다.
잘못할 경우 actor간 통신량 및 동기화 횟수가 극단적으로 늘어나

성능이 오히려 하락할 수도 있다.

(그리고 쪼갤 수 있는 문제보다 쪼갤 수 없는 문제가 세상엔 더 많다.)


또한 병렬 프로그래밍은 다수의 actor 간의 유기적인 연결을 만들어내는데,
이런 상황에선 작은 변경사항 하나가 성능에 지대한 영향을 끼칠 수 있다.

균일한(homogeneous) 모델을 사용하면 이런 문제가 잘 없지만, 대신 성능 향상이 제한적다.

유기적인 모델에서 기하급수학적으로 증가하는 복잡도만 잘 잡는다면 성능이 상당히 올라갈 수 있다[....]


여튼 이러저러한 문제가 있기 때문에
병렬 프로그래밍은 리소스의 활용성 극대라던지,
최적화라는 프로그래머의 로망이라던지,
이런 뜬구름 잡는 소리로는 어떻게 하기 힘든 일이다.