ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/MP.pm
(Generate patch)

Comparing AnyEvent-MP/MP.pm (file contents):
Revision 1.26 by root, Tue Aug 4 22:05:43 2009 UTC vs.
Revision 1.27 by root, Tue Aug 4 22:13:45 2009 UTC

510 510
511=back 511=back
512 512
513=head1 AnyEvent::MP vs. Distributed Erlang 513=head1 AnyEvent::MP vs. Distributed Erlang
514 514
515AnyEvent::MP got lots of its ideas from distributed erlang. Despite the 515AnyEvent::MP got lots of its ideas from distributed erlang (erlang node
516similarities (erlang node == aemp node, erlang process == aemp port and so 516== aemp node, erlang process == aemp port), so many of the documents and
517programming techniques employed by erlang apply to AnyEvent::MP. Here is a
518sample:
519
520 http://www.erlang.se/doc/programming_rules.shtml
521 http://erlang.org/doc/getting_started/part_frame.html # chapters 3 and 4
522 http://erlang.org/download/erlang-book-part1.pdf # chapters 5 and 6
523 http://erlang.org/download/armstrong_thesis_2003.pdf # chapters 4 and 5
524
517on), there are also some important differences: 525Despite the similarities, there are also some important differences:
518 526
519=over 4 527=over 4
520 528
521=item * Node references contain the recipe on how to contact them. 529=item * Node references contain the recipe on how to contact them.
522 530
523Erlang relies on special naming and DNS to work everywhere in the 531Erlang relies on special naming and DNS to work everywhere in the
524same way. AEMP relies on each node knowing it's own address(es), with 532same way. AEMP relies on each node knowing it's own address(es), with
525convenience functionality. 533convenience functionality.
526 534
535This means that AEMP requires a less tightly controlled environment at the
536cost of longer node references and a slightly higher management overhead.
537
527=item * Erlang uses processes and a mailbox, AEMP does not queue. 538=item * Erlang uses processes and a mailbox, AEMP does not queue.
528 539
529Erlang uses processes that selctively receive messages, and therefore 540Erlang uses processes that selctively receive messages, and therefore
530needs a queue. AEMP is event based, queuing messages would serve no useful 541needs a queue. AEMP is event based, queuing messages would serve no useful
531purpose. 542purpose.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines