Domain: erlang-projects.org
Stories and comments across the archive that link to erlang-projects.org.
Comments · 13
-
Re:Review worth a +1 karma!
On FLOSS side, see ejabberd and Wings 3D.
There's also a list of commercial uses. -
There are many misunderstandings about parallelism
There are many misunderstandings about parallelism, as it is evident from this discussion. Some posters said that "my O/S already runs in multicore/multicpu systems, thank you very much"...some others said that some tasks are like word processing is non-parallelizable etc.
The misunderstandings lie not in what parallelism is, but what Intel and other companies are trying to achieve. The quest for parallelism is not about running lots of programs in parallel, but extracting the parallelism out of sequentially written programs, including kernels. In order to improve performance, any parallelism that lies in our applications but is not exploited right now must be utilized, if we want to see real improvements in the future.
Modern CPUs do many tricks in order to increase parallelism, like pipelining and out-of-order execution. Current research at Intel has produced an 80-core CPU. It is highly unlikely that any of us will run 80 programs simultaneously tomorrow, so either this research is for servers only (highly unlikely because Intel will need to sell a lot of these chips to cover research expenses), or Intel knows that programs can be parallelized even more.
Compilers can not identify all possible parallel paths of execution, because it is an intractable problem. Writing complicated multithreaded programs using threads, semaphores and mutexes is quite difficult. So what is needed is another software architecture that allows programs to be easily parallelized.
Ericsson has dealt with these problems a lot time ago, and the result was Erlang. Based on the Actor model, Erlang programs can contain thousands of objects working in parallel, and the programmer need not worry about how to lock/unlock resources.
Microsoft's only option is to ditch C and use another language for their O/S. C can not work with the Actor model, unless modified. The best option for them is to make a C-like low-level language that includes the Actor model as part of the language specification. They can combine Cyclone, a version of C which is safe, with the best parts of ADA and Erlang, and come up with a language which allows the easiest possible path to writing parallelizable programs. And there is a big opportunity for them to put bounds checking and garbage collection to all their code, so as that two basic problems (buffer overflows and wild pointers) are solved at last.
-
Re:Jabber?
> Since everyone else is laughing at you, I'll tell you why.
XMPP is an IETF standard for messaging. Jabber with instant messaging is only on possible use, but Messaging systems are other examples (Such as J-EAI).
--
Mickaël Rémond
Erlang-projects -
J-EAI
The J-EAI project is already providing such tool. It has been published in version 1.0 beta 3. Maybe it does not offer yet all the planed feature of AMQ, but we will improve it over the time.
It is already multi-platform and multi-languages and based on the XMPP IETF messaging standard (XML based). The architecture is already clustered and can handled a lot of simultaneous connection.
More details on: J-EAI web page
I strongly believe that using an XML standard like XMPP is the only way to go to ensure generalized interoperability of application around the integration platform.
--
Mickaël Rémond
Erlang-projects -
J-EAI
The J-EAI project is already providing such tool. It has been published in version 1.0 beta 3. Maybe it does not offer yet all the planed feature of AMQ, but we will improve it over the time.
It is already multi-platform and multi-languages and based on the XMPP IETF messaging standard (XML based). The architecture is already clustered and can handled a lot of simultaneous connection.
More details on: J-EAI web page
I strongly believe that using an XML standard like XMPP is the only way to go to ensure generalized interoperability of application around the integration platform.
--
Mickaël Rémond
Erlang-projects -
Re:Concurent Programming
-
Re:Why web processes don't communicate with IPC?
>It seems that the problem of information management from conventional programming languages has not been tackled yet.
The problem has been handled by Erlang.
--
Mickaël Rémond
http://www.erlang-projects.org -
Re:Java in one process
> Well, recently Sun VM and Linux kernel developers have done a lot to improve threading support in kernel and the combination of SUN VM 1.4.1 and kernel 2.6 scales very good.
That does not change the fact that those threads are handled by a virtual machine that provide no isolation between them.
--
Mickaël Rémond
http://www.erlang-projects.org/ -
This has been the basis of Erlang for 18 years
It was really fun reading this article as isolation as described in this article has been one of the founding principle of the Erlang VM. Erlang is a concurrency oriented langage created to support the development of robust scalable fault-tolerant applications.
I strongly recommand reading Joe Armstrong thesis. This is very enligthning regarding this topic and this is real world feedback:
Fortunately, Erlang has been designed from the ground-up for robustness. All feature of Erlang are designed to achieve the robustness goal (Concurrency model, functional programming, error handling, supervisor and worker mechanisms). This is precisely why it will be very difficul to achieve with Java, if even possible.
I hope this helps,
--
Mickaël Rémond
http://www.erlang-projects.org/ -
Re:Open Source Reference Implementation
Yes. I think XMPP is a lot more than Instant Messaging.
We think that for example XMPP is a very valid standard to develop EAI (Enterprise Application Integration platform. This is what we are doing in the J-EAI project and we thought that XMPP should become the based standard for EAI and ESB platform as this is the only true standard that does exist. Some implementation are based on JMS, which is not a standard in my opinion as a Java only implementation (Yes there are bridges but this is a kludge)
See J-EAI Objectweb presentation for more details on features.
--
Mickaël Rémond
Erlang-projects -
Re:Open Source Reference Implementation
Yes. I think XMPP is a lot more than Instant Messaging.
We think that for example XMPP is a very valid standard to develop EAI (Enterprise Application Integration platform. This is what we are doing in the J-EAI project and we thought that XMPP should become the based standard for EAI and ESB platform as this is the only true standard that does exist. Some implementation are based on JMS, which is not a standard in my opinion as a Java only implementation (Yes there are bridges but this is a kludge)
See J-EAI Objectweb presentation for more details on features.
--
Mickaël Rémond
Erlang-projects -
See ejabberd
The best Jabber server in my opinion is ejabberd. It does scale very well and is really very easy to configure.
See: http://ejabberd.jabberstudio.org/
--
Mickael Rémond
http://www.erlang-projects.org/ -
Concurrency oriented programming
An interesting approach that should be investigated is concurrency oriented programming.
More details here: http://ll2.ai.mit.edu/talks/armstrong.pdf
Joe Armstrong explains in the conference why and how it can overcome conceptions problems when designing concurrent applications.
--
Mickaël Rémond
http://www.erlang-projects.org/