Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×

Submission + - The four promises of Actor Based Programming for telco software (wikipedia.org)

neutrino38 writes: The Actor Model is a theoritical computation model which aims is to improve concurrent computing. In essence, Actors are 'processes' that can receive, process and send messages to other Actors. This is a computation model that is not based on shared memory and opposes the traditionnal shared memory, locking and multithreading model. In terms of hardware architecture, the multithreaded model aims at powerful servers few CPUs and shared memory whereas the actor model aims for concurrent processing on many computers cooperating through reliable networks links.

To my profane eyes, there are little theoritical differences between object model and actor model. But I am no academics and the intent here is to throw some practical views on the possible benefits that programmers can draw from actor based programming.

One has to admit that the original vision of many computers cooperating through networks did not materialize yet. The dominant model is a cloud of powerful cooperating servers providing online services to smart terminals through network. Multithreaded programming is the mainstream way of developping server side software.

However, there are some trends in computing that may be game changers. These are:
  • the 'cloud' or flexible computing where server-side applications are hosted on virtual machines Multiple 'instances' of the same application can be created on demand to cope with load surge. Context information is shared through add-ons such as memcached or databases. Advanced realtime web applications such as facebook use message and notifications and look like good candidate of actor based implementations.
  • the Internet of Thing where multiple devices with low processing power coordinates over a local area network and through the Internet. Again, this matches nicely with actor model purposes.
  • finally, server side applications such as HTTP servers are put under pressure by growing users bases. The 10K user problem well documented for web servers, occurs in any big server-side application. Adding more processors to cope with load does improve performance linearly as processes or threads spend more and more time to wait for locks when accessing critical ressources. The actor model provides a 'lock free' alternative that can overcome this issue.

Several programming frameworks and languages provides very good ways to implement actor based software. Three of them come in mind:

  • Erlang, a language developped by Ericsson and open sourced or Elixir that provides a friendlier language syntax but produce bytcode that is compatible with Erlang VM.
  • Scala a language that produces java compatible bytcode. It is used in the famous Minecraft game
  • The C++ Actor Framework brings the actor model into native code.

Erlang and Scala merge functional programming with actor model and that has a solid consequence: developpers can only assign variables once and cannot change the value. The only way to change a variable is to send a new messsage (or to call a function) with new arguments. This is a radical way to prevent any use of memory sharing but this breaks most of the classical programming techniques: loops needs to be implemented by recursive function calls or can be replaced with more functional equivalents.

Let's focus now on server side application development, especially in telecommunication field where protocol exchange is the main purpose. Intuitively the actor model fits perfectly . However the majority of telecommunication apps are still developped in classical C/C++ with scripting languages or in Java (SIP servlet). But Actors make four important promises:

  1. I shall not fail: Telco applications should always be on. With the OTP framework, Erlang provides a radical way to recover. If an actor detects an error condition, it can crash and be restarted. Dependant actors will be nicely notified about the restart. Application can partially crash and restart limiting the impact to a single user. Erlang also supports code replacement without application stop. I did not test it first hand but if proved, this is a tremendous advantage in telco business.
  2. I will not block: by design, actor model is lock free. This remove one of the worst nightmare of any server side application developpement.
  3. I can scale: actor model breaks downs a piece of software into a set of coordinated actors that do not share any memory. They exchange messages transparently and therefore can be very easily spread on several hardware system. Traditionnal approach implies communication context sharing that was never fully scalable.
  4. I am a finite state machine: That concept is not enough understood while it is central to build robust and resilient telecommunication applications. actor model is about exchanging message. The actor framework provides a natural way to map messages into function calls and implement FSM easily.

So ... why the telecom world is not rushing to embrace actor based programming ?

Its because it requires major cultural changes and telco world is a bit conservative.

  • Software needs to be entirely redesigned into actors that are simple and pipelined.
  • Developpers need to give up any use of shared memory to store a "communication context".
  • no more control on lock and threading
  • Langages such as Erlang and even C++ Actor framework uses a syntax that is so different from procedural approach that the learning curve is very steep. Almost hostile.

All this is much more radical than moving from init scripts to systemd on Linux. And this transition is costly: training developers, software redesign and reimplementation.

Is it worth it ? That is a question we are asking ourselves

Submission + - ATOS Healthcare seeks early contract termination in the UK (lefigaro.fr)

neutrino38 writes: ATOS Healthcare, subsidiary from the French service company ATOS has won a contract with UK govt in 2010. Atos Healthcare conducts assessments on behalf of the Department for Work and Pensions. Basically it implements David Cameron policy on social services fraud management.

It became so impopular that its employees are routinely insulted and threathened on social networks (about 153 threats a month according to the article). The company is now looking for a way out before the planned end of the contract in 2015.

Therry Breton, its CEO has declared that : "In its current form, the system does not work neither for the beneficiaries, nor for the DWP nor for ATOS Healthcare".

Programming

Submission + - Free coding school for geeks ande develoopers founded in Paris and called "42" (zdnet.fr)

neutrino38 writes: Xavier Niel, founder and CEO of the ISP Free Telecom, well known in France to be an agressive competitor of the big incumbent telcos like Orange, called a press event to explains a new mysterious intiative called "born2code".

It appeared to be the launch of a new computer programming school, based in Paris, codenamed "42" in reference to Douglas Adams books. The cursus is quite revolutonary in regards of the traditional French education system:

- the admission requires no prior background, only to pass the selection tests (and age limit from 18 to 30).
- the selection tests are in two phases: first tests are online. It will preselect 4000 candidates. The second tests need the people to come and be involved in actual intensive programming tasks (15 hrs / day) during one month in a dedicated room called "the pool". Out of this will 1000 student be selected.
- once admitted in the school, no tuition fee will be required nor any future contribution as a professional.
- the school will not deliver any diploma. Mr Niel argues that companies are hiring on skill and experience basis rather than on diploma (note: french HR are badly addicted to Diplomas)

Mr Niel blasted the traditionnal education systems saying it produces "standard engineers" that are not innovative and that existing private schools are too expensive and prevent real talents to emerge by selecting student over money. It also reject traditionnal education in favor of a 2.0 education, peer to peer and project centered education that are in line with today's connected society

The goal of this school is to train 1000 "genius" every year. The proclamed purpose is to help IT companies to find suitable people for innovation, helping in this way the country competitivness.

Mr Niel will be funding the school on its own money during 10 years by putting 50 M euros on the table. Hehopes that other IT companies will take over as he is conviced that "only private initiative" can bring this kind of renewal.

The school is due to open next fall and be equipped with brand new 27 inches iMacs.

Google

Submission + - Google investigated for tax evation in France (latribune.fr)

neutrino38 writes: Google is being investigated in France for tax evasion. Most of the sales in this country are accounted in Google Irish subsidiary through a complex financial setup involving the Netherland and know as the "Dutch sandwitch".

The local IRS considers that most of this revenue is sold though Google employees located in France that issues invoices in French language. Therefore it seeks to requalify the amount of taxes paid by Google up to 169 M euros / years from the 5 M euros actually paid.

Accounting information was seized in Google French premises. Google lawyers tried to invalidate the procedure .. without sucesss.

Looks like France may get a big one time payment but future customer will have to call Irland and receive invoice in English to be served.

Submission + - IP location taken seriously by telecom regulators (ofcom.org.uk)

neutrino38 writes: "Locating IP calls is becoming an increasingly important subject.

- More and more persons and companies are equiped with VoIP access
Service provider as us may be interested or required to provide video call access to emergency services.

- The transport of location information is already well described and standardized by IETF and the ECRIT commitee and is using XML format (how verbose!) called LO-PIDF. Its handling in SIP protocol is decribed in the following draft: location conveyance.

Finally, telecom authority are starting to take notice and OfCom, the British regulator has produced a fairly comprehensive report about this. Good reading."

Microsoft

Submission + - Side By Side assemblies: DLL Hell 2.0 (dotnetmonster.com)

neutrino38 writes: This is an alert for all developers using Microsoft Visual Studio 2005.

At the beginning of January, Microsoft issued a security fix for Visual Studio 2005 forcing the use of news dynamic libraries (DLLs) by all application compiled with this IDE. Basically, the application compiled with Visual Studio 2005 will not work anymore on ordinary (non dev) PC unless the newer DLL are to be installed. And we found out that happened on fully updated PCs. I posted a detailed article here: http://www.ives.fr/index.php/blog/post/19 for those needing more technical details.

For those who are not familiar with the Microsoft world, native microsoft applications written in C++ rely on dynamic libraries. Two of them are famous or infamous: MSVCRT.DLL and MFCxx.dll. Because of the evolution and other security fix, multiple version of these DLL were often present in the system causing application instability. Where Linux resorted to some simple suffix notation on the dynamic libraries, Microsoft created a new beast in 2001: the Side By Side assemblies http://articles.techrepublic.com.com/5100-10878_11-5032712.html. These are basically DLLs with a comanion XML files that identify them. The XML file contains a digital signature and when the system binds these DLL dynamically to an application, it checks the match and check that the signature of the DLL matches the DLL itself.

When everythings runs well, this is pretty transparent. But when issues arises, it becomes excruciatingly difficult to troubleshoot and fix. DLL hell is not over.

Slashdot Top Deals

How many surrealists does it take to screw in a lightbulb? One to hold the giraffe and one to fill the bathtub with brightly colored power tools.

Working...