1 / 12

OTP Development update

OTP Development update. Highlights during 2005. Released R10B-2 .. R10B-8, will be a R10B-9 before end of year. News in R10B-8. Improvements of global new application SSH (both server and client) beta status, nice way to implement CLI for an application.

eden-best
Download Presentation

OTP Development update

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OTP Development update

  2. Highlights during 2005 • Released R10B-2 .. R10B-8, will be a R10B-9 before end of year.

  3. News in R10B-8 • Improvements of global • new application SSH (both server and client) beta status, nice way to implement CLI for an application. • Debugger now with support for try catch • New version of Edoc (thanks to Richard Carlsson)

  4. Multiprocessor support The Erlang runtime system of today (R10B) • 1 OS process, 1 thread runs all Erlang processes. • Can not make use of more than 1 processor for the execution of Erlang processes.

  5. Multiprocessor support Erlang runtime system R10B (1 scheduler) runqueue Pick next runnable Scheduler select/poll File io threads

  6. Multiprocessor support The Erlang runtime system of tomorrow: • 1 OS process, configurable 1..n schedulers in separate threads runs all Erlang processes. • Can make use of multiple processors for the execution of Erlang processes. • Transparent for the Erlang programs. I.e. benefit from multi cpu system without need to change your Erlang code.

  7. Multiprocessor support Erlang runtime system R11B (n schedulers) runqueue Pick next runnable 1..nSchedulers Io thread Timerthread select/poll File io threads

  8. Multiprocessor supportsome additional characteristics • Linux, Solaris (MacOS x) first, (posix threads) • No changes in compiler • Support “traditional” separate heap per E-process first • Hybrid heap later.

  9. Multiprocessor support Current status and benchmarks • Can run quite a lot of the regular test suites • A small benchmark ran:dom([1500,15000]) (2 processes sorting lists) on a 2-cpu machine • maskin) give the following result:

  10. Multiprocessor supportway forward First step (ongoing) • Add locking wherever needed • Make system stable (Linux, Solaris, MacOSx) with multiple schedulers on multiple and single cpu systems. • Include in R11B (as beta status) Next step • Benchmarking, profiling and optimizations • Other platforms (Windows) • Include in update release for R11B (end of 2006)

  11. Multiprocessor supportjoint development The SMP support for Erlang is a joint development effort between the Ericsson OTP team, Uppsala University and Synapse Many thanks to • Mikael Pettersson, Uppsala University • Tony Rogvall, Synapse

More Related