80 likes | 220 Views
HELGA - A Call Load Generator. Bagirath Krishnamachari Lucent Technologies, Bangalore, India. Eighth International Erlang/OTP User Conference November 19, 2002. Outline. The Problem Statement A non-Erlang solution The Erlang Solution Experiences. The Problem Statement.
E N D
HELGA - A Call Load Generator Bagirath Krishnamachari Lucent Technologies, Bangalore, India Eighth International Erlang/OTP User Conference November 19, 2002
Outline • The Problem Statement • A non-Erlang solution • The Erlang Solution • Experiences
The Problem Statement • Need a load generator for testing a 1xEV-DO RNC • Need to run multiple calls (concurrency) • Need to simulate multiple interconnected Base Stations (distributed tool) • Handoffs between “Base Stations” (rpc, process migration) • Tool should be fast • Need to be generate reports/snapshots • Platform - Solaris/Linux
Reference Architecture 1xEV-DO BTS 1xEV-DO RNC PDSN IP Network 1xEV-DO BTS
A non-Erlang solution • Use Perl • Pros • Short development time • Easy to maintain and enhance • Cons • Concurrency not an inherent feature • Inter-node communication interface needs to be defined • Speed • Scalability
The Erlang solution • Pros • Concurrency, distributed nodes etc are inherent • Behaviour for FSMs available • Faster execution than Perl • Shorter development time • Easier to maintain and enhance • Cons • “Different” language - training needed
The Erlang solution (contd) • Modules/Features used • gen_fsm for simulating the “mobile” • Binaries, Erlang IPC • gen_tcp/gen_udp for the interface to the RNC • pg2 for managing the pool of “mobiles” • spawn/4 for inter-BTS handoffs • ets, random, ...
Experiences with Erlang • Learning curve is short and steep • Development time < half of that for Perl (approx) • Speed = Five times that of Perl (approx) • Scalability - same code for standalone/distributed tool • Difficult to find “early adopters” - but we’re working on it