okeuday
Re:Scientific Computing on the Erlang VM
on Friday January 02, 2015 @11:33AM (#8827338)
Also, CloudI (http://cloudi.org) provides supervisor functionality for Python services to help keep source code in Python fault-tolerant. There have been no problems handling large quantities of data there.
Re:Bringing Erlang's Fault-Tolerance to Polyglot Development
on Friday June 21, 2013 @01:48PM (#5919715)
CloudI and Erlang underneath are focused on soft real-time. For hard real-time (embedded) you need tighter integration with hardware. While it is true that people attempt to pursue (soft) real-time fault-tolerance on the JVM, the point in the CloudI article is that the pursuit does not achieve fault-tolerance which can be considered real-time, simply due to the JVM garbage collection which must interrupt real-time processing of an Actor model. This problem isn't often discussed, but is a simple way of showing the problems with fault-tolerance on the JVM. Without the JVM supporting fault-tolerance, the effort to have decent (real-time) fault-tolerance would be similar to creating a new VM. Since creating a VM is difficult to do properly, and testing is required after its completion, it makes much more sense to use the Erlang VM since it has native real-time fault-tolerance that is already used in commercial products.
Re:Bringing Erlang's Fault-Tolerance to Polyglot Development
on Friday June 21, 2013 @01:30PM (#5919565)
CloudI is under an open source software license, the BSD license, which is the most permissive of the open source licenses. So you can use CloudI in any product you want, using it how you want, on whatever servers you choose. The license just protects the CloudI source code developers from liability.
Re:Bringing Erlang's Fault-Tolerance to Polyglot Development
on Friday June 21, 2013 @01:18PM (#5919466)
You can try to have fault-tolerance in the JVM, but not real-time fault-tolerance, and there is a difference. The goal is to have decent performance while being fault-tolerant. The JVM garbage collection prevents real-time fault-tolerance when using an Actor model within the JVM.
Re:Bringing Erlang's Fault-Tolerance to Polyglot Development
on Friday June 21, 2013 @01:14PM (#5919442)
In CloudI, each service request is a transaction to be processed (with a UUID that is unique for all service requests among the connected CloudI nodes). Filesystem storage of transactions isn't a goal here, since transactions are expected to die when errors occur within services (http://en.wikipedia.org/wiki/Transaction_processing_system). Instead, database usage through CloudI services (or within a CloudI service) provides persistent storage.