Parallel programming language Erlang!

Shawn Lin's picture

 Telecommunication companies like Nortel Networks and T-Mobile develop their system with Erlang to achieve ‘Concurrent’ and ‘Fault-Torrent’ capabilities. In addition to concurrent and fault-tolerant, multi-core and Hyper-Threading (HT) processor environments are very good environments for the Erlang language .

Erlang solves one of the most pressing problems facing developers today: how to write reliable, concurrent, high-performance systems. It's used worldwide by companies who need to produce reliable, efficient, and scalable applications.

Moore's Law is the observation that the amount you can do on a single chip doubles every two years, but Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow.

Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures.

Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a quad-core processor than on a single core processor, all without you having to change a line of code.

Developing systems with Erlang has the following benefits:

  • Write a program, move to the implementation of a multi-core environment, the speed will naturally become faster (or even possible to achieve linear acceleration, n-core to enhance the n-fold).
  • You can write fault-tolerant systems, the computer will restart after crash.
  • You can write a "hot-swap code" system, you can upgrade your code while it is processing, without suspending it.
  • The program is incredibly streamlined.

Erlang's Mnesia provides a database management system (Database Management System, DBMS). Mnesia is an integrated DBMS and can be accessed at a fairly rapid pace. It can be set across a number of separate entities for data replication node to provide fault-tolerant operation.
In addition to Mnesia, you will always use the OTP library when developing systems with Erlang. OTP is a set of Erlang libraries and open source programs, to help the Erlang programs establish industrial grade applications. OTP is Erlang’s source of power; using OTP can be quite easy to write a solid server.