concurrency - How does CCR & DSS toolkit model compare to other scalability & concurency approaches? -


I am interested in comparing between scalability and different ways & amp; Concurrency with CCR & amp; amp; I am interested in comparing the DSS framework model especially with the style compatibility of Hadoop and Ergon.

I CCR, DSS and Erlang, however, of these, I have only sent CCR to important production code. I never saw in Hadop.

The sensitization of Erlang has emerged from the implementation of the actor model. Each 'process' has a mailbox and receives a message from one at a time. There is no message in the blocks to control the thread. On the contrary, procedures are determined in the available CPU, with which no underlying machinery has been disclosed. Additionally, communication through communication via communication / cloning / irrevocability ensures that P1 and P2 never logically share messages that pass between them.

My feeling is that sending this message is non-blocking nature and achieving it, Erlang receives its reputation for scalability on a single (possibly multi-core) machine, basically, to work Processes are determined efficiently in the available resources and the silent process consumes nothing but the memory consumes the status of each message by processing a message at a time. To ensure efficiency, developers will no longer have to worry about things like "race conditions".

CCR is a set of low level asynchronous message, one of the simplest ones is received which achieves La Arrangle but more sophisticated archives, such as join (some channels get a message) And Choice (get messages from some channels), which can be nested and made interestingly. These primitives are also non-blocking. Receiver 1 N works in the work queue (to handle the message), which are served by a little thread.

My guess is that, ignoring the platform difference (priceless!), Each basic scheduling routine is basically in the same ball-park, however, Erlang is a language and a definite ( Actor) is a baked inside model. CCR is not one of these things, it has a library and you can use it more easily.

DSS A programming model that builds on CCR has services in it (Erlang = Process), it passes asynchronous messages as the only form of inter-communication communication (default Forms complete cloning), and only handles the outside world, its service is its URI (ERG = PID). Like Erlang, there is basically no difference in applying local service and remote one, though (D) serialization happens in the latter case.

DSS also has a cool model, which means that services are usually a definite set and a common set of operations, and that service conditions should be considered as a resource manipulated by these operations. Conversely with Erlang, where an arbitrary message can be sent for a message, DSS services can use the full set of CCR premiums to talk to other services, which can be very useful for things like distributed scatter-collecting operations. Are there.

Eventually, the DSS is just a framework with the support of libraries, rather than writing an Erlang process as a language or VM, so a very high 'function' is included in writing a single DSS service. Resistance to

In the context of concurrency, without any worries about those threads of all execution, provide the necessary priorities for writing all the code which is safe under many threads of execution and Are the ones I think most developers want to do the handing.

In the case of scalability, this is a difficult question because the same is about the system design because this tool is used. Do you mean scalability on a single node, as you add core, or add nodes? There is nothing to say after the CCR. Both DSS and Erlang support a very efficient binary format for wire transmission. DSS has achieved its resource-oriented approach directly from the world, which should tell you something about its potential scalability, but it does this on some restrictions in the programming model.

Some technical points consume more memory (~ 2K) than a single DSS service an arraying process (300-400 bytes). Also, each DSS service gets its work queue and there is an upper limit (~ 10000) on the number of work queues, which can be processed efficiently by CCR. I do not have the number of upper limit for the erolong but doubt can be more than this.

After saying all this, if you are on the net platform, I have made it very powerful in favor of taking a serious view of your CCR, especially for responsive program driven programs.


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -