Industrial Issues in Software Performance - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

Industrial Issues in Software Performance

Description:

The Software above it! Database 1. Databases. Database 2. Database 3. abc. def. ghi. Ticket Management ... My World-View. Knowing performance requirements ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 11
Provided by: AmanS9
Category:

less

Transcript and Presenter's Notes

Title: Industrial Issues in Software Performance


1
Industrial Issues in Software Performance
  • Aman Shaikh
  • ATT Labs - Research
  • ashaikh_at_research.att.com
  • June 24, 2008
  • 7th International Workshop on Software and
    Performance
  • Princeton

Acknowledgement Alan Glasser, Kobus van der
Merwe, Jennifer Yates
2
Introduction
  • Communication service providers
  • Various services voice, video, data
  • Various ways of connecting to customer
  • Ethernet, Frame Relay, ATM, Wireless,
  • Trend towards supporting all communication over
    IP-based core network
  • Todays IP networks and services
  • Thousands of equipments and systems have to work
    in tandem
  • Routers, switches, servers, line cards
  • Provisioning, configuration, trouble-shooting,
    maintenance, capacity planning, billing,
  • Huge amalgamation of hardware and software

3
Challenges of Managing Networks
  • Lack of management support
  • Absence of standardization in network management
  • Solutions often develop in an organic fashion
  • Scale
  • Hundreds of offices, thousands of routers,
    hundred thousands of line cards and transport
    facilities
  • Heterogeneity
  • Different kinds of equipments
  • Example routers, switches, servers, line cards,
  • Different vendors and models for same equipment
  • Example of router vendors Cisco, Juniper,
    Alcatel,
  • Cisco router models CRS, GSR, 7200 series,
  • Variety of service offerings with wide variety of
    features

4
Challenges of Managing Networks
  • Constant churn
  • Customers, services, technology
  • Explosive growth
  • Internet traffic is predicted to double every two
    years
  • http//newsroom.cisco.com/dlls/2008/ekits/Cisco_Vi
    sual_Networking_Index_061608.pdf
  • More stringent requirements and expectations
  • Service delivery model of IP is best effort
  • Works for original applications of the Internet
    file transfer, e-mail and newsgroup
  • Applications such as VoIP, IPTV, gaming require
    strong performance guarantees from the network
  • Deliver packets reliably within a certain time
    bound
  • Security
  • Internets intrinsic model Trust every packet
    and do not charge for it

5
Tier-1 Service Provider Network
DWDM systems
OC-48 or OC-192 DWDM
PoP
Intercity
PoP
Customer facing PE interfaces
PoP
Metro
  • Rough Numbers
  • 100s of offices
  • 100s of Ps, 1000s of PEs, 10000s of CEs
  • 100,000s of transport facilities

LEC
CE
CPE
Access
CE
CPE
PoP Point-of-Presence P Backbone (core)
Router PE Provider Edge Router CE Customer Edge
Router
6
The Software above it!
Taken from SIGCOMM 2005 Tutorial by Aman Shaikh
Albert Greenberg
7
Implications for Software Requirement
  • Need to translate network requirements into
    software requirements
  • Example what does five-9s of availability mean
    for software on a router?
  • Need to determine performance requirement for
    tomorrow, not today
  • Accommodate for growth that occurs during
    expected life-time of a software

8
Implications for Software Development
  • How to write reliable and robust software?
  • Systems need to work 24 x 7
  • Under non-deterministic and unpredictable
    environment
  • Systems should handle errors and overload
    gracefully
  • Systems should support hit-less upgrade
  • How to write scalable and extensible software?
  • Software often lives longer than originally
    anticipated
  • How to integrate software with existing systems?
  • Integration with legacy software often a
    challenge
  • Implication for performance
  • Cater to lowest common denominator
  • Exploit opportunities available for parallelism

9
Implications for Software Testing
  • How to generate network-like conditions during
    testing?
  • Enumerating all possible conditions is infeasible
  • However, untested feature interaction can lead
    to problems
  • Creating network scale is nearly impossible
  • Simulators and emulators do exist, but do not
    always scale to the extent of large real networks

10
My World-View
  • Knowing performance requirements upfront is vital
  • But in real world, this is often not possible
  • Or performance requirements change/evolve over
    time
  • Due to growth
  • Longer than expected shelf-life of software
  • How to cope with evolving performance
    requirements?
  • Analyze how software is likely to scale with
    input parameters
  • Those Big-Oh and Big-Omegas are important
  • Use tools to determine actual performance
  • Humans not very good judge of performance and
    bottlenecks
  • Have a modular design
  • Cleanly separate interface and implementation
  • (Re)-use existing libraries/modules
  • Document, document, document,
  • So that someone else can pick up the threads
  • Or you yourself dont feel lost when you re-visit
    your code
Write a Comment
User Comments (0)
About PowerShow.com