SlideShare uma empresa Scribd logo
1 de 25
Scalability in
Software Systems Engineering
  The Good, the Bad, and the Ugly

         David S. Rosenblum
     Professor of Software Systems
   Director, London Software Systems


            Inaugural Lecture, 13 December 2004   © 2004
The Concept of Scalability
The Importance of Scalability
   Gartner predictions for 2008
        Moore’s Law continues to hold
            Desktop PC: 4–8 CPUs @ 40GHz, 4–12GB
             RAM, 1.5TB storage, 100Gb network
        Desktop PCs < 50% of end-user devices
        Bandwidth more cost-effective than
         computing

    But only if software systems can scale!
    But only if software systems can scale!
                                                    3
Some Notions of Scalability (1)
“Scalability is a key requirement for the corporate
   content infrastructure, … [which] needs to be
   capable of handling high volumes of content as
   well as of fulfilling high performance
   requirements.”
                                        — Documentum

“The Java 2 Platform, Micro Edition (J2ME) technology
   from Sun Microsystems, Inc. is used by developers
   to scale Java technology-based applications into
   small consumer and embedded devices.”
                                   — Sun Microsystems
                                                    4
Some Notions of Scalability (2)
“[A Session Announcement Protocol] announcement is
    multicast with the same scope as the session it is
    announcing … [This is] important for the
    scalability of the protocol, as it keeps local
    session announcements local.”
                       — Mark Handley et al., RFC 2974


“Scalability: the ease with which a system or
   component can be modified to fit the problem
   area.”
                     — Software Engineering Institute5
What Is Scalability?
   Is It High Performance?
       Computations/messages/transactions per
        second
       Fixed-size and fixed-time parallel speedup
   Is It Computational Complexity?
       Time and space complexity of algorithms
   Is It Abstraction?
       Example: programmer productivity versus
        expressive power of programming languages
        It is a characterisation of resource
         It is a characterisation of resource
    consumption as a function of problem size
     consumption as a function of problem size       6
Techniques for
Achieving Scalability
Scalability in My Own Research
   Continual interest in problems of
    engineering large-scale software
    systems
       Scalable software infrastructures
       Scalable software development tools
   Many techniques used to achieve
    scalability
       Each has an associated cost
       Each was chosen serendipitously
                                              8
Technique #1
Abstraction

   Intuition: Analyse larger systems by
    ignoring the “nonessential detail”
   Cost: Abstraction can hide useful
    information and introduce
    inaccuracies
   Example: 5ESS Build Process Studies
    (1991–1994)
A.L. Wolf and D.S. Rosenblum, “A Study in Software Process Data Capture and Analysis”,
                                                                                          9
Proc. 2nd Int’l Conf. on the Software Process, Berlin, Germany, Feb. 1993, pp. 115–124.
The 5ESS®
 Switching System Software
    Primary central office switch product of
     Lucent (formerly AT&T)
    By the numbers (c. 1994)
        5–7 million lines of code in 50+ subsystems
        2000 developers
        New version built every 4 weeks
        2 hours downtime per year (“The Good”)
            Except on 15 January 1990 (“The Ugly”)


“It’s not just a program—it’s a field of study!”
“It’s not just a program—it’s a field of study!”       10
The 5ESS Build Process
   Nominally required 1 week to compile new
    version of software into executable form
   Frequently took 2–3 weeks (“The Bad”)
       Simple syntax and semantics errors required
        frequent restart of build
   What are the “problem subsystems”?
       Events from build tools give very accurate
        abstract characterisation of process


                                                      11
Technique #2
Execution

   Intuition: Observing individual executions
    is easier than analysing whole programs
   Cost: Forgo results about all executions
   Example: Runtime assertion checking
         ANNA (ANNotated Ada) (1983–1988)
              Attain benefits of systematic specification without
               difficulties and costs of formal proofs of correctness
         APP (1988–1996)
              Assertions detected 80% of faults in case study
              Assertion diagnostics quickly isolated faults

    D.S. Rosenblum, “A Practical Approach to Programming with Assertions”,
                                                                                       13
    IEEE Transactions on Software Engineering, Vol. 21, No. 1, Jan. 1995, pp. 19–31.
Technique #3
Coarse-Grained Analysis

   Intuition: Variant of abstraction
   Cost: Reduced precision
   Example: TestTube (1991–2001)
        Selective regression testing of C programs
        Existing approaches worked at statement level
        TestTube analyses test coverage in terms of
         Functions + Global Vars + Types + Macros
        First large empirical study of selective
         regression testing (30 KLOC)
Y.-F. Chen, D.S. Rosenblum and K.-P. Vo, “TestTube: A System for Selective Regression
Testing”, Proc. 16th Int’l Conf. on Software Engineering, Sorrento, Italy, May 1994,
pp. 211–220.                                                                            14
Technique #4
Distribution

     Intuition: Build or analyse larger systems
      by partitioning the solution
          Enhance with replication, decentralisation,
           localisation, multicasting, …
     Cost: Increased complexity of solution
     Example: SIENA (1996- )
          Internet-scale publish/subscribe network
           communication

    A. Carzaniga, D.S. Rosenblum and A.L. Wolf, “Design and Evaluation of a Wide-Area
    Event Notification Service”, ACM Transactions on Computer Systems, Vol. 19, No. 3,
                                                                                         15
    August 2001, pp. 332–383.
Publish/Subscribe
  A natural communication style for asynchronous,
  A natural communication style for asynchronous,
    real-time, distributed content dissemination
     real-time, distributed content dissemination




Publishers      Publish/Subscribe Infrastructure        Subscribers




             Infrastructure register subscriptions to
              Publishers publish notifications with
                Subscribers delivers notifications
                Infrastructure determines which
             subscriptions matchinformation
               characterizing information interests
                     interesting subscribers
                      matching which notifications

                                                                      16
SIENA Content-Based Routing
                                             s1:1
                                             s1:1
                                             s2:5
                                             s2:5
                          s1:a
                          s1:a
a                                        2
                      1   s2:2
                          s2:2


                             s1:2                                  s1:2
                                                                   s1:2
                             s1:2
                             s2:8
                             s2:8                              3
                                    5
    s1:1
    s1:1   4                            s1:3
                                        s1:3    6


                                                    s1:3
                                                    s1:3
                                                           7
                                                                    n1
               s1:5
               s1:5   8
b              s2:b
               s2:b                             9
                                         s1:6
                                         s1:6
                                                                          17
Technique #5
Approximation

   Intuition: Handle larger problem sizes by forgoing
    exact results
   Cost: False positives and/or false negatives
   Example: PreCache (2001–2003)
       Conservative approximate matching algorithms for
        improved performance in publish/subscribe networking
           O(1) and O(log k) matching time against k subscriptions
   Was scalability achieved?
       Approximation increases messages traffic
       Increased traffic requires increased matching
                                                                      18
Other Techniques

6.       Compositionality
     o    Intuition: Subdivide problem,
          manipulate pieces, compose results
     o    Different from Distribution


7.       Scale with Moore’s Law
     o    Intuition: Hope that physics saves you
     o    This has worked for regression testing
                                                   19
The Future:
Scalability Engineering
Scalability Questions
   How can one demonstrate the ability of a
    system like 5ESS to scale before trying to
    implement it and deploy it on thousands of
    computers across the world?
   What information about a software system
    enables prediction of its scalability?
   What design characteristics increase or
    decrease (or contribute to or detract from)
    scalability?
                                              21
Scalability Engineering
   A principled basis for
       Choosing and applying scalability
        enabling techniques
       Evaluating scalability of software system
        designs and implementations
       Choosing scalable engineering methods
       Comparing scalability of different
        designs/implementations/methods
                                                22
Conclusion
Conclusion
    Scalability is an increasingly important
     issue for software systems engineering
    Everybody talks about it
    Yet we lack well-defined, applicable,
     measurable principles of scalability

Scalability engineering should become a part
Scalability engineering should become a part
of every software system engineering effort
 of every software system engineering effort
                                                24
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly (Inaugural Lecture as Professor of Software Systems)

Mais conteúdo relacionado

Mais procurados

Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process ModelsNana Sarpong
 
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...Elizabeth Steiner
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMajane Padua
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metricsIndu Sharma Bhardwaj
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineeringRupesh Vaishnav
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project managementjhudyne
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
OO Metrics
OO MetricsOO Metrics
OO Metricsskmetz
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements Rohela Raouf
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software EngineeringSatishDabhi1
 

Mais procurados (20)

Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Software quality
Software qualitySoftware quality
Software quality
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
OO Metrics
OO MetricsOO Metrics
OO Metrics
 
Unit1
Unit1Unit1
Unit1
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
 

Semelhante a Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly (Inaugural Lecture as Professor of Software Systems)

ppbench - A Visualizing Network Benchmark for Microservices
ppbench - A Visualizing Network Benchmark for Microservicesppbench - A Visualizing Network Benchmark for Microservices
ppbench - A Visualizing Network Benchmark for MicroservicesNane Kratzke
 
Chi2011 Case Study: Interactive, Dynamic Sparklines
Chi2011 Case Study: Interactive, Dynamic SparklinesChi2011 Case Study: Interactive, Dynamic Sparklines
Chi2011 Case Study: Interactive, Dynamic SparklinesLeo Frishberg
 
Innoslate the Gateway to SysML 2.0 and Beyond
Innoslate the Gateway to SysML 2.0 and BeyondInnoslate the Gateway to SysML 2.0 and Beyond
Innoslate the Gateway to SysML 2.0 and BeyondSarahCraig7
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor routBikram Rout
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor routBikram Rout
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowMassimiliano Di Penta
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case eProsima
 
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringBridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringRafael Ferreira da Silva
 
IRJET- Extension to Visual Information Narrator using Neural Network
IRJET- Extension to Visual Information Narrator using Neural NetworkIRJET- Extension to Visual Information Narrator using Neural Network
IRJET- Extension to Visual Information Narrator using Neural NetworkIRJET Journal
 
Cloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryCloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryEverett Toews
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringHeiko Koziolek
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
Open source evolution analysis
Open source evolution analysisOpen source evolution analysis
Open source evolution analysisIzzat Alsmadi
 
Automated Construction of Node Software Using Attributes in a Ubiquitous Sens...
Automated Construction of Node Software Using Attributes in a Ubiquitous Sens...Automated Construction of Node Software Using Attributes in a Ubiquitous Sens...
Automated Construction of Node Software Using Attributes in a Ubiquitous Sens...JM code group
 

Semelhante a Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly (Inaugural Lecture as Professor of Software Systems) (20)

ppbench - A Visualizing Network Benchmark for Microservices
ppbench - A Visualizing Network Benchmark for Microservicesppbench - A Visualizing Network Benchmark for Microservices
ppbench - A Visualizing Network Benchmark for Microservices
 
Chi2011 Case Study: Interactive, Dynamic Sparklines
Chi2011 Case Study: Interactive, Dynamic SparklinesChi2011 Case Study: Interactive, Dynamic Sparklines
Chi2011 Case Study: Interactive, Dynamic Sparklines
 
Innoslate the Gateway to SysML 2.0 and Beyond
Innoslate the Gateway to SysML 2.0 and BeyondInnoslate the Gateway to SysML 2.0 and Beyond
Innoslate the Gateway to SysML 2.0 and Beyond
 
Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)
 
Chandra_CV 3 8Yr Exp
Chandra_CV 3 8Yr Exp Chandra_CV 3 8Yr Exp
Chandra_CV 3 8Yr Exp
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor rout
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor rout
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and How
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
 
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringBridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
 
IRJET- Extension to Visual Information Narrator using Neural Network
IRJET- Extension to Visual Information Narrator using Neural NetworkIRJET- Extension to Visual Information Narrator using Neural Network
IRJET- Extension to Visual Information Narrator using Neural Network
 
Smriti shikha cv
Smriti shikha cvSmriti shikha cv
Smriti shikha cv
 
Cloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryCloud Native Summit 2019 Summary
Cloud Native Summit 2019 Summary
 
Satyam_Singh_cv
Satyam_Singh_cvSatyam_Singh_cv
Satyam_Singh_cv
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
 
Vishal_Resume
Vishal_ResumeVishal_Resume
Vishal_Resume
 
Unit 2 Java
Unit 2 JavaUnit 2 Java
Unit 2 Java
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Open source evolution analysis
Open source evolution analysisOpen source evolution analysis
Open source evolution analysis
 
Automated Construction of Node Software Using Attributes in a Ubiquitous Sens...
Automated Construction of Node Software Using Attributes in a Ubiquitous Sens...Automated Construction of Node Software Using Attributes in a Ubiquitous Sens...
Automated Construction of Node Software Using Attributes in a Ubiquitous Sens...
 

Mais de David Rosenblum

The Challenges of Probabilistic Thinking (keynote talk at ICFEM 2017)
The Challenges of Probabilistic Thinking (keynote talk at ICFEM 2017)The Challenges of Probabilistic Thinking (keynote talk at ICFEM 2017)
The Challenges of Probabilistic Thinking (keynote talk at ICFEM 2017)David Rosenblum
 
The Power of Probabilistic Thinking (keynote talk at ASE 2016)
The Power of Probabilistic Thinking (keynote talk at ASE 2016)The Power of Probabilistic Thinking (keynote talk at ASE 2016)
The Power of Probabilistic Thinking (keynote talk at ASE 2016)David Rosenblum
 
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...David Rosenblum
 
Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)David Rosenblum
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...David Rosenblum
 
Probability and Uncertainty in Software Engineering (keynote talk at NASAC 2013)
Probability and Uncertainty in Software Engineering (keynote talk at NASAC 2013)Probability and Uncertainty in Software Engineering (keynote talk at NASAC 2013)
Probability and Uncertainty in Software Engineering (keynote talk at NASAC 2013)David Rosenblum
 
Felicitous Computing (invited Talk for UC Irvine ISR Distinguished Speaker Se...
Felicitous Computing (invited Talk for UC Irvine ISR Distinguished Speaker Se...Felicitous Computing (invited Talk for UC Irvine ISR Distinguished Speaker Se...
Felicitous Computing (invited Talk for UC Irvine ISR Distinguished Speaker Se...David Rosenblum
 
Whither Software Engineering Research? (keynote talk at APSEC 2012)
Whither Software Engineering Research? (keynote talk at APSEC 2012)Whither Software Engineering Research? (keynote talk at APSEC 2012)
Whither Software Engineering Research? (keynote talk at APSEC 2012)David Rosenblum
 
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...David Rosenblum
 
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)David Rosenblum
 
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)David Rosenblum
 
Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)David Rosenblum
 
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)David Rosenblum
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)David Rosenblum
 
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...David Rosenblum
 

Mais de David Rosenblum (16)

The Challenges of Probabilistic Thinking (keynote talk at ICFEM 2017)
The Challenges of Probabilistic Thinking (keynote talk at ICFEM 2017)The Challenges of Probabilistic Thinking (keynote talk at ICFEM 2017)
The Challenges of Probabilistic Thinking (keynote talk at ICFEM 2017)
 
The Power of Probabilistic Thinking (keynote talk at ASE 2016)
The Power of Probabilistic Thinking (keynote talk at ASE 2016)The Power of Probabilistic Thinking (keynote talk at ASE 2016)
The Power of Probabilistic Thinking (keynote talk at ASE 2016)
 
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
 
Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...
 
Probability and Uncertainty in Software Engineering (keynote talk at NASAC 2013)
Probability and Uncertainty in Software Engineering (keynote talk at NASAC 2013)Probability and Uncertainty in Software Engineering (keynote talk at NASAC 2013)
Probability and Uncertainty in Software Engineering (keynote talk at NASAC 2013)
 
Felicitous Computing (invited Talk for UC Irvine ISR Distinguished Speaker Se...
Felicitous Computing (invited Talk for UC Irvine ISR Distinguished Speaker Se...Felicitous Computing (invited Talk for UC Irvine ISR Distinguished Speaker Se...
Felicitous Computing (invited Talk for UC Irvine ISR Distinguished Speaker Se...
 
Whither Software Engineering Research? (keynote talk at APSEC 2012)
Whither Software Engineering Research? (keynote talk at APSEC 2012)Whither Software Engineering Research? (keynote talk at APSEC 2012)
Whither Software Engineering Research? (keynote talk at APSEC 2012)
 
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
 
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
 
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
 
Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)
 
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
 
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
 

Último

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly (Inaugural Lecture as Professor of Software Systems)

  • 1. Scalability in Software Systems Engineering The Good, the Bad, and the Ugly David S. Rosenblum Professor of Software Systems Director, London Software Systems Inaugural Lecture, 13 December 2004 © 2004
  • 2. The Concept of Scalability
  • 3. The Importance of Scalability  Gartner predictions for 2008  Moore’s Law continues to hold  Desktop PC: 4–8 CPUs @ 40GHz, 4–12GB RAM, 1.5TB storage, 100Gb network  Desktop PCs < 50% of end-user devices  Bandwidth more cost-effective than computing But only if software systems can scale! But only if software systems can scale! 3
  • 4. Some Notions of Scalability (1) “Scalability is a key requirement for the corporate content infrastructure, … [which] needs to be capable of handling high volumes of content as well as of fulfilling high performance requirements.” — Documentum “The Java 2 Platform, Micro Edition (J2ME) technology from Sun Microsystems, Inc. is used by developers to scale Java technology-based applications into small consumer and embedded devices.” — Sun Microsystems 4
  • 5. Some Notions of Scalability (2) “[A Session Announcement Protocol] announcement is multicast with the same scope as the session it is announcing … [This is] important for the scalability of the protocol, as it keeps local session announcements local.” — Mark Handley et al., RFC 2974 “Scalability: the ease with which a system or component can be modified to fit the problem area.” — Software Engineering Institute5
  • 6. What Is Scalability?  Is It High Performance?  Computations/messages/transactions per second  Fixed-size and fixed-time parallel speedup  Is It Computational Complexity?  Time and space complexity of algorithms  Is It Abstraction?  Example: programmer productivity versus expressive power of programming languages It is a characterisation of resource It is a characterisation of resource consumption as a function of problem size consumption as a function of problem size 6
  • 8. Scalability in My Own Research  Continual interest in problems of engineering large-scale software systems  Scalable software infrastructures  Scalable software development tools  Many techniques used to achieve scalability  Each has an associated cost  Each was chosen serendipitously 8
  • 9. Technique #1 Abstraction  Intuition: Analyse larger systems by ignoring the “nonessential detail”  Cost: Abstraction can hide useful information and introduce inaccuracies  Example: 5ESS Build Process Studies (1991–1994) A.L. Wolf and D.S. Rosenblum, “A Study in Software Process Data Capture and Analysis”, 9 Proc. 2nd Int’l Conf. on the Software Process, Berlin, Germany, Feb. 1993, pp. 115–124.
  • 10. The 5ESS® Switching System Software  Primary central office switch product of Lucent (formerly AT&T)  By the numbers (c. 1994)  5–7 million lines of code in 50+ subsystems  2000 developers  New version built every 4 weeks  2 hours downtime per year (“The Good”)  Except on 15 January 1990 (“The Ugly”) “It’s not just a program—it’s a field of study!” “It’s not just a program—it’s a field of study!” 10
  • 11. The 5ESS Build Process  Nominally required 1 week to compile new version of software into executable form  Frequently took 2–3 weeks (“The Bad”)  Simple syntax and semantics errors required frequent restart of build  What are the “problem subsystems”?  Events from build tools give very accurate abstract characterisation of process 11
  • 12.
  • 13. Technique #2 Execution  Intuition: Observing individual executions is easier than analysing whole programs  Cost: Forgo results about all executions  Example: Runtime assertion checking  ANNA (ANNotated Ada) (1983–1988)  Attain benefits of systematic specification without difficulties and costs of formal proofs of correctness  APP (1988–1996)  Assertions detected 80% of faults in case study  Assertion diagnostics quickly isolated faults D.S. Rosenblum, “A Practical Approach to Programming with Assertions”, 13 IEEE Transactions on Software Engineering, Vol. 21, No. 1, Jan. 1995, pp. 19–31.
  • 14. Technique #3 Coarse-Grained Analysis  Intuition: Variant of abstraction  Cost: Reduced precision  Example: TestTube (1991–2001)  Selective regression testing of C programs  Existing approaches worked at statement level  TestTube analyses test coverage in terms of Functions + Global Vars + Types + Macros  First large empirical study of selective regression testing (30 KLOC) Y.-F. Chen, D.S. Rosenblum and K.-P. Vo, “TestTube: A System for Selective Regression Testing”, Proc. 16th Int’l Conf. on Software Engineering, Sorrento, Italy, May 1994, pp. 211–220. 14
  • 15. Technique #4 Distribution  Intuition: Build or analyse larger systems by partitioning the solution  Enhance with replication, decentralisation, localisation, multicasting, …  Cost: Increased complexity of solution  Example: SIENA (1996- )  Internet-scale publish/subscribe network communication A. Carzaniga, D.S. Rosenblum and A.L. Wolf, “Design and Evaluation of a Wide-Area Event Notification Service”, ACM Transactions on Computer Systems, Vol. 19, No. 3, 15 August 2001, pp. 332–383.
  • 16. Publish/Subscribe A natural communication style for asynchronous, A natural communication style for asynchronous, real-time, distributed content dissemination real-time, distributed content dissemination Publishers Publish/Subscribe Infrastructure Subscribers Infrastructure register subscriptions to Publishers publish notifications with Subscribers delivers notifications Infrastructure determines which subscriptions matchinformation characterizing information interests interesting subscribers matching which notifications 16
  • 17. SIENA Content-Based Routing s1:1 s1:1 s2:5 s2:5 s1:a s1:a a 2 1 s2:2 s2:2 s1:2 s1:2 s1:2 s1:2 s2:8 s2:8 3 5 s1:1 s1:1 4 s1:3 s1:3 6 s1:3 s1:3 7 n1 s1:5 s1:5 8 b s2:b s2:b 9 s1:6 s1:6 17
  • 18. Technique #5 Approximation  Intuition: Handle larger problem sizes by forgoing exact results  Cost: False positives and/or false negatives  Example: PreCache (2001–2003)  Conservative approximate matching algorithms for improved performance in publish/subscribe networking  O(1) and O(log k) matching time against k subscriptions  Was scalability achieved?  Approximation increases messages traffic  Increased traffic requires increased matching 18
  • 19. Other Techniques 6. Compositionality o Intuition: Subdivide problem, manipulate pieces, compose results o Different from Distribution 7. Scale with Moore’s Law o Intuition: Hope that physics saves you o This has worked for regression testing 19
  • 21. Scalability Questions  How can one demonstrate the ability of a system like 5ESS to scale before trying to implement it and deploy it on thousands of computers across the world?  What information about a software system enables prediction of its scalability?  What design characteristics increase or decrease (or contribute to or detract from) scalability? 21
  • 22. Scalability Engineering  A principled basis for  Choosing and applying scalability enabling techniques  Evaluating scalability of software system designs and implementations  Choosing scalable engineering methods  Comparing scalability of different designs/implementations/methods 22
  • 24. Conclusion  Scalability is an increasingly important issue for software systems engineering  Everybody talks about it  Yet we lack well-defined, applicable, measurable principles of scalability Scalability engineering should become a part Scalability engineering should become a part of every software system engineering effort of every software system engineering effort 24