Presentation is loading. Please wait.

Presentation is loading. Please wait.

Industrial Issues in Software Performance

Similar presentations


Presentation on theme: "Industrial Issues in Software Performance"— Presentation transcript:

1 Industrial Issues in Software Performance
Aman Shaikh AT&T Labs - Research June 24, 2008 7th International Workshop on Software and Performance Princeton Acknowledgement: Alan Glasser, Kobus van der Merwe, Jennifer Yates

2 Communication service providers
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 Today’s 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 Industrial Issues in Software Performance

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 Industrial Issues in Software Performance

4 Challenges of Managing Networks
Constant churn Customers, services, technology Explosive growth Internet traffic is predicted to double every two years More stringent requirements and expectations Service delivery model of IP is best effort Works for original applications of the Internet: file transfer, and newsgroup Applications such as VoIP, IPTV, gaming require strong performance guarantees from the network Deliver packets reliably within a certain time bound Security Internet’s intrinsic model: “Trust every packet and do not charge for it” Industrial Issues in Software Performance

5 Tier-1 Service Provider Network
DWDM systems C P C P OC-48 or OC-192 DWDM PoP C P C P C P Intercity E PE C P PoP E PE C P C P E PE C P C P E PE E PE 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 Industrial Issues in Software Performance

6 The Software above it! Taken from SIGCOMM 2005 Tutorial by Aman Shaikh & Albert Greenberg Database 1 Databases Database 2 Database 3 abc def ghi Ticket Management Mgt 1 xxx Mgt 3 Mgt 4 Mgt 2 xyz nms ISE Mgt sys xyz CFKB Transport 1 2 3 5 6 7 9 11 13 14 19 20 DB3 DB4 DB2 DB1 ABC Platform for task xyz Portal abc NF-TA CAPRI Platform xyz 21 Portals abct xxx! xxxx yyy zzzzz Platform for doing xyz abce 23 24 25 18 gef 26 System for xyz 27 Platform for abc Platform for xyz System X platform for xyz dsagjag Dga;ljag;lkj yyz xyzr abc1 abc5 abc2 abc3 abc4 mno To another sys occ 28 29 Task xyzs 30 To abc Industrial Issues in Software Performance

7 Implications for Software Requirement
Need to translate network requirements into software requirements Example: what does five-9’s 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 Industrial Issues in Software Performance

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 Industrial Issues in Software Performance

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 Industrial Issues in Software Performance

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-Omega’s 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 don’t feel lost when you re-visit your code Industrial Issues in Software Performance


Download ppt "Industrial Issues in Software Performance"

Similar presentations


Ads by Google