2013-10-20 2 views
0

아래의 폭풍에 관한 게시물을 읽었습니다. What is the "task" in Storm parallelism스톰의 "병렬 컴퓨팅"보다 적은 "병렬 컴퓨팅"이 가능합니까?

스톰의 초보자 인 질문과 답변 모두 저에게 매우 도움이됩니다. 그러나 나는 아직도 약간의 의견이있다. 그것은,이 질문에 대해 말한다 병렬 처리의 수준 증가하지 않는다 집행 당 하나 이상의 작업을 실행

-> 집행자는 항상 작업 즉, 그 모든 작업에 사용하는 하나 개의 스레드를 가지고를 > 실행 프로그램에서 순차적으로 실행됩니다.

"병렬 시스템"에 대한 Storm 집중의 "병렬 컴퓨팅"을 의미합니까? Miguno가 말했듯이 클러스터 시스템을 확장 할 수있는 유연성을 제공합니다. 그러나 머신이 점점 더 많은 CPU 코어를 통합하고 있기 때문에 클러스터의 각 머신에 대해 병렬 컴퓨팅을 사용하면 더 효과적 일 수 있습니까? (어느 정도까지는 각 기계의 멀티 코어가 "클러스터"라고 느꼈습니다.) 또한 AKKA, Disruptor, Killim 등의 병렬 프로그래밍 라이브러리를 통해 병렬 프로그래밍을 편리하게 개발할 수 있습니다.

스톰 프레임 (또는 이런 종류의 컴퓨팅 프레임)에 대해 내가 오해하는지 잘 모르겠습니까?

감사합니다.

답변

0

정확히 무엇을 묻고 있습니까? 같은 기사에서 언급했듯이 Worker Process을 늘리면 작업 수행을 위해 클러스터에서 실행되는 Java 프로세스의 수를 늘릴 수 있습니다. wiki에서

그것은

Config.TOPOLOGY_WORKERS를 말한다 :이 토폴로지를 실행하기 위해 사용으로 작업자 프로세스의 수를 설정합니다. 예를 들어이 값을 25로 설정하면 은 모든 작업을 실행하는 클러스터에서 25 개의 Java 프로세스가됩니다. 토폴로지의 모든 구성 요소에서 150 병렬 처리를 수행 한 경우 각 작업자 프로세스에는 개의 스레드로 실행되는 6 개의 작업이 있습니다.

그것은 말함으로써

Config conf = new Config(); 
    conf.setNumWorkers(25); 

같은 일을 수행 할 수 병렬 컴퓨팅 만약 당신이 당신 같은 증가함으로써 executors보고해야 다음 스레드의 수를 증가 의도 구성 요소 당 더 많은 스레드를 생성 할 수 있습니다. 당신이 언급 한 그 기사에서 말한대로

Storm 0.8에서 parallelism_hint 매개 변수는 이제 해당 볼트에 대한 초기 실행자 수 (작업 제외)를 지정합니다.

예컨대 topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2)

난 당신이 답장을

+0

감사를 찾고 있습니다 어떤 오해 경우에 저를 수정하시기 바랍니다. 네,이 답변은 제가 찾던 것입니다 (미안, 당신이 언급 한 원래의 예술적인 것을 놓쳤습니다)."클라우드 컴퓨팅"을 혼란스럽게하는 또 다른 이유는 "멀티 스레딩"태그 아래에 많은 게시물이 있기 때문에 멀티 스레드 프로그래밍이 쉽지 않다는 것입니다. 그러나 내가 본 "클라우드 컴퓨팅"의 기사에서는 아키텍처 확장 능력에 대해서만 관심을 기울이고 있습니다. 어쩌면 나는 몇몇 기사를 잃어 버렸을 것이다. (Could Computing의 실무 경험이 없었습니다.) –