Run-time test configurations for load testing



Similar documents
Performance testing with TTCN-3

dominique <dot> toupin <at> ericsson <dot> com GYORGY <dot> RETHY <at> ericsson <dot> com

Automated Target Testing with TTCN-3: Experiences from WiMAX Call Processing Features

Advanced TTCN-3 Test Suite validation with Titan

The GO4IT IPv6 Test Tool and Associated services. Alain Vouffo FOKUS (Fraunhofer Institute for Open Communication Systems)

Product Overview. Contents

Stateful Inspection Technology

Performance Management for Cloudbased STC 2012

Effective Java Programming. efficient software development

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

Software and the Concurrency Revolution

AP Computer Science AB Syllabus 1

Cisco PIX vs. Checkpoint Firewall

Toad for Oracle 8.6 SQL Tuning

2) What is the structure of an organization? Explain how IT support at different organizational levels.

Long Term Evolution - LTE. A short overview

Distributed Load Tests with TTCN-3

In Memory Accelerator for MongoDB

Cloudified IP Multimedia Subsystem (IMS) for Network Function Virtualization (NFV)-based architectures

TTCN-3, Qtronic and SIP

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Performance Management for Cloud-based Applications STC 2012

The Deployment Production Line

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION :

Getting Things Done: Practical Web/e-Commerce Application Stress Testing

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Always On Infrastructure for Software as a Ser vice

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

LOGICAL TOPOLOGY DESIGN Practical tools to configure networks

Optimizing Configuration and Application Mapping for MPSoC Architectures

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY

Neptune. A Domain Specific Language for Deploying HPC Software on Cloud Platforms. Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams

TESTING EXPERIENCE OF A1 - TELEKOM AUSTRIA

System Structures. Services Interface Structure

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

OKLAHOMA SUBJECT AREA TESTS (OSAT )

CS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113

Enhanced System Integration Test Automation Tool (E-SITAT) Author: Akshat Sharma

Harmonizing policy management with Murphy in GENIVI, AGL and TIZEN IVI

Developing MapReduce Programs

Rackspace Cloud Databases and Container-based Virtualization

Resource Utilization of Middleware Components in Embedded Systems

Multi-core Programming System Overview

Why study Operating Systems? CS 372. Why study. Why study. Introduction to Operating Systems

Design of Scalable, Parallel-Computing Software Development Tool

Enhanced Project Management for Embedded C/C++ Programming using Software Components

HMS Industrial Networks

GUI and Web Programming

Web Application Testing. Web Performance Testing

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

BASICS OF SCALING: LOAD BALANCERS

Software Architecture

2. Research and Development on the Autonomic Operation. Control Infrastructure Technologies in the Cloud Computing Environment

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

Physical Data Organization

Optimizing Linux Performance

CSCI-1680 So ware-defined Networking

ECU State Manager Module Development and Design for Automotive Platform Software Based on AUTOSAR 4.0

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Project SailFin: Building and Hosting Your Own Communication Server.

Hardware Acceleration for Just-In-Time Compilation on Heterogeneous Embedded Systems

Oracle Database Security and Audit

TSGS#13(01)0562. Technical Specification Group Services and System Aspects Meeting #13, Beijing, China, September 2001

Architectures and Platforms

How To Write A Composition Engine In A Microsoft Ip System

MS SQL Performance (Tuning) Best Practices:

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

IaaS Federation. Contrail project. IaaS Federation! Objectives and Challenges! & SLA management in Federations 5/23/11

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

LinuxWorld Conference & Expo Server Farms and XML Web Services

Software Engineering

Outline. Mariposa: A wide-area distributed database. Outline. Motivation. Outline. (wrong) Assumptions in Distributed DBMS

Driving force. What future software needs. Potential research topics

Chapter 3 Operating-System Structures

Business-Driven Software Engineering Lecture 3 Foundations of Processes

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

Introduction to Automated Testing

Cloud Computing. Chapter 4 Infrastructure as a Service (IaaS)

High-performance VoIP Traffic Optimizer Client Solution

U-LITE Network Infrastructure

COS 318: Operating Systems

Achieving business benefits through automated software testing. By Dr. Mike Bartley, Founder and CEO, TVS

Introduction to TTCN-3

Transcription:

Run-time test configurations for load testing Gábor Ziegler, Ericsson Hungary Ltd. Contents Introduction What is TITANSim Motivation for TITANSim Functional description of the parts of TITANSim CLL, Application Libraries and Control Logic Three different perspectives of TITANSim: HW, SW, Run-time configurations Comparison of the possible test configurations local scheduling vs. central scheduler PTC Conclusions and questions Ericsson AB 2007 ETSI TUC 2007 2 (25) Ericsson AB 2007 1

Introduction About TITANSim Introduction TITANSim is aimed at performance testing With TTCN-3 as the specification language With Ericsson s internal TTCN-3 Executor and Compiler tool Performance testing needs highly optimized test suite code Two contradicting requirements: A framework shall be general generalization Optimization is task specific specialization Ericsson AB 2007 ETSI TUC 2007 4 (25) Ericsson AB 2007 2

Motivation for TITANSim TTCN-3 and TITAN is widely used for functional testing throughout Ericsson TITANSim aims to achieve cost savings via reuse of the function test code base reuse of testers competence reuse of existing, in-house tools reuse of the new performance test solution by different projects through-out the company Ericsson AB 2007 ETSI TUC 2007 5 (25) Introduction Functionalities and applications of TITANSim Ericsson AB 2007 3

Functionality of TITANSim CLL Run-time interaction with the test suite A dynamically configurable run-time GUI and Parameters Statistics Generic support for common programming tasks Memory management support: resource pools Scheduling support A logging framework Generic support for distributed scheduling: EventQueue data type + support functions Concrete support for central scheduling Ready-made scheduler component for central scheduling Load balancing, regulated load, external execution control, trafficmixer and a graphical console for all these Other useful data types and algorithms: Linked lists (FreeBusyQueue), hash tables, binary search tree (Red-Black trees) Ericsson AB 2007 ETSI TUC 2007 7 (25) Functionality of Application Libraries and Control logic Application libraries: simulated entity specific tasks Protocol message handling Inbound message routing in case of multiple generator PTC Protocol specific TITANSim parameters and TITANSim statistics Building blocks and state-machine support for Control Logic Control logic: realization of particular traffic cases Ericsson AB 2007 ETSI TUC 2007 8 (25) Ericsson AB 2007 4

Introduction The 3 perspectives of TITANSim Views of a TTCN-3 load test library At least 3 perspectives have to be considered: 1. HW perspective: which hardware to use? 2. SW perspective: how to modularize your code? 3. Run-time perspective: what is the best run-time testconfiguration? Th is t a lk s ma in t o p ic Ericsson AB 2007 ETSI TUC 2007 10 (25) Ericsson AB 2007 5

1. The HW perspective control SW SW and HW are separated One SW many HW To expand load capacity only HW units shall be added UE#1 IMS Core UE#1 IMS Core SIP UE#1 RegistrationIMS Core SIP UE#1 RegistrationIMS Core SIP SIP PUBLISH UE#1 RegistrationIMS Core SIP SIP PUBLISH UE#1 RegistrationIMS Core SIP SIP PUBLISH UE#1 RegistrationIMS Core SIP SIP 200 SIP PUBLISH UE#1 OK RegistrationIMS Core SIP 200 SIP SIP PUBLISH OK UE#1 RegistrationIMS Core SIP 200 SIP SIP PUBLISH OK UE#1 RegistrationIMS Core SIP SIP 200 SIP PUBLISH UE#1 OK RegistrationIMS Core SIP 200 SIP SIP PUBLISH OK UE#1 RegistrationIMS Core SIP 200 SIP SIP PUBLISH OK Registration SIP SIP 200 SIP PUBLISH OK Registration SIP SIP 200 PUBLISH OK SIP SIP 200 PUBLISH OK SIP 200 OK SIP 200 OK SIP 200 OK Ericsson AB 2007 ETSI TUC 2007 11 (25) 2. The SW perspective Three levels approach: Core Load Library (CLL) provides the generalization Application specific framework libraries (AppLibs) provides the specialization code provided in-cooperation with project experts, relies on core library code Control logic : can provided by non-experts, as well builds on both application specific and core libraries code Ericsson AB 2007 ETSI TUC 2007 12 (25) Ericsson AB 2007 6

3 Run-time configuration perspective This talk s main topic Careful trade-off must be made between Efficiency Resulted code complexity Load testing means concurrency handling: Many(!) parallel traffic flows over some shared resource pools! TTCN-3 has a special concurrency model PTC-s are run concurrently A PTC is a single CPU system No concurrency support below PTC level by the language PTC-s are run isolated from each other no shared memory Our dilemma: on which level do we handle the concurrency? Ericsson AB 2007 ETSI TUC 2007 14 (25) Alternatives for run time configurations The simple approach is follow the usual TTCN-3 semantics Concurrency is to be handled on PTC-level A single PTC is responsible for a single transaction The advanced approach is to let a single PTC handle multiple concurrent transaction Concurrency is to be handled below PTC-level A single PTC is responsible for multiple transactions Ericsson AB 2007 ETSI TUC 2007 15 (25) Ericsson AB 2007 7

TITANSim Run-time test configurations Central scheduling Central scheduling Run-time GUI/CLI CPU monitoring MainAdmin Host_Admin Host #i MTC LoadRegulator Execution Control External control Host #j XXX_Scheduler DB XXX_CT ZZZ_Scheduler DB ZZZ_CT Control logic and stack for protocol XXX XXX_YYY_Routing Traffic generator components ZZZ_Logger Host #m ZZZ_Logger Control logic and stack for protocol ZZZ ZZZ_WWW_Routing YYY_PT SUT Load measurement WWW_PT Ericsson AB 2007 ETSI TUC 2007 17 (25) Ericsson AB 2007 8

Central scheduling Pros It is the most user-friendly It requires no coding-paradigm change with respect to function tests Suitable for ad-hoc load testing projects It can be used without an application library Can use ready-made scheduling functions that are totally independent of load generator component-type Cons Less efficient Wrong scalability Each traffic initiation requires internal communication with a single central entity: extra overheads and delays Sharing data of a run-time database across traffic cases / entities is difficult and inefficient Ericsson AB 2007 ETSI TUC 2007 18 (25) TITANSim Run-time test configurations Local (distributed) scheduling Ericsson AB 2007 9

Local scheduling Run-time GUI/CLI MainAdmin MTC Host #i LoadRegulator Traffic generator components XXX_ApplAdmin PtcFunctions Control logic and stack for protocol XXX XXX_LGen_CT ZZZ_ApplAdmin Host #l Host #k Host #j Traffic generator components ZZZ_LGen_CT PtcFunctions Control logic and stack for protocol ZZZ XXX_YYY_Routing XXX_Logger Host #m ZZZ_Logger ZZZ_WWW_Routing YYY_TP SUT Load measurement WWW_TP Ericsson AB 2007 ETSI TUC 2007 20 (25) Local (distributed) scheduling Pros It is the most-efficient Less dependent on OS-scheduler Sharing data of a run-time database across traffic cases of the same PTC can be easy and efficient Load generator PTC-s schedule on their own no internal communication overhead needed for load generation They can run autonomously scalability! Cons: It requires some sort of an application library: Explicit concurrency handling shall be set up It requires coding-paradigm change with respect to FT: eventbased logic Writing and using reusable ready-made scheduling algorithms requires dirty-tricks w.r.t. TTCN-3 language Ericsson AB 2007 ETSI TUC 2007 21 (25) Ericsson AB 2007 10

Thank you for your attention! Questions? Ericsson AB 2007 ETSI TUC 2007 23 (25) Ericsson AB 2007 11