SPEC Workshop 2008 Laboratory for Computer Architecture1/27/2008 On the Object Orientedness of C++ programs in SPEC CPU 2006 Ciji Isen & Lizy K. John University.

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advanced Piloting Cruise Plot.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 5 Author: Julia Richards and R. Scott Hawley.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
September 2013 ASTM Officers Training Workshop September 2013 ASTM Officers Training Workshop Membership & Roster Maintenance September 2013 ASTM Officers.
UNITED NATIONS Shipment Details Report – January 2006.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
Multiplying binomials You will have 20 seconds to answer each of the following multiplication problems. If you get hung up, go to the next problem when.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULTIPLICATION EQUATIONS 1. SOLVE FOR X 3. WHAT EVER YOU DO TO ONE SIDE YOU HAVE TO DO TO THE OTHER 2. DIVIDE BY THE NUMBER IN FRONT OF THE VARIABLE.
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Year 6 mental test 5 second questions
Year 6 mental test 10 second questions
ZMQS ZMQS
Richmond House, Liverpool (1) 26 th January 2004.
BT Wholesale October Creating your own telephone network WHOLESALE CALLS LINE ASSOCIATED.
ABC Technology Project
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
© Charles van Marrewijk, An Introduction to Geographical Economics Brakman, Garretsen, and Van Marrewijk.
VOORBLAD.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Squares and Square Root WALK. Solve each problem REVIEW:
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
OBJECT-ORIENTEDNESS. What is Object-Orientedness? model system as a collection of interacting objects O-O Modelling  O-O Programming ► similar conceptual.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
آزمایشگاه مهندسی نرم افزار
Chapter 5 Test Review Sections 5-1 through 5-4.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
H to shape fully developed personality to shape fully developed personality for successful application in life for successful.
Januar MDMDFSSMDMDFSSS
Week 1.
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
1 Unit 1 Kinematics Chapter 1 Day
PSSA Preparation.
1 PART 1 ILLUSTRATION OF DOCUMENTS  Brief introduction to the documents contained in the envelope  Detailed clarification of the documents content.
How Cells Obtain Energy from Food
Immunobiology: The Immune System in Health & Disease Sixth Edition
CpSc 3220 Designing a Database
Modeling Main issues: What do we want to build How do we write this down.
Traktor- og motorlære Kapitel 1 1 Kopiering forbudt.
Metrics for Object Oriented Design Shyam R. Chidamber Chris F. Kemerer Presented by Ambikadevi Damodaran.
Object-Oriented Metrics
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Course Notes Set 12: Object-Oriented Metrics
Object-Oriented Metrics
Design Metrics Software Engineering Fall 2003
Design Metrics Software Engineering Fall 2003
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Presentation transcript:

SPEC Workshop 2008 Laboratory for Computer Architecture1/27/2008 On the Object Orientedness of C++ programs in SPEC CPU 2006 Ciji Isen & Lizy K. John University of Texas - Austin 1/27/2008

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Introduction Object Oriented programming encourages –Code modularity, ease of design & maintenance –Inheritance & hierarchies –polymorphism –Dynamic Dispatch Should imply –Multiple function invocation –More functions –More indirect branching Increased control flow –particularly function calls and indirect branches

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Objective Object oriented nature of SPEC CPU2006 C++ programs –Measure using quantifiable metrics –Compare with other OO(SPEC java) benchmarks Has OO nature affected control flow? –branch compositions –Branch misprediction

SPEC Workshop Laboratory for Computer Architecture1/27/2008 C++ programs in SPEC cpu06

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Methodology Performance counters –Woodcrest(Intel), Power5+(IBM) Benchmarks –SPEC CPU 2006 –SPEC jbb2000 –SPECjvm98 Principle Component Analysis for Visualization

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Object Oriented metrics CK (Chidamber and Kemerrer) metrics –WMC (Weighted Methods per Class) –DIT (Depth of Inheritance Tree) –NOC (Number of Children) –CBO (Coupling Between Objects) –RFC (Response for a Class)

SPEC Workshop Laboratory for Computer Architecture1/27/2008 WMC (Weighted Methods per Class) if complexity is unity WMC = n Intuition: More methods implies –more time & effort to develop and maintain class –More methods inherited by children => more impact on children –Likely to be more application specific => less reuse

SPEC Workshop Laboratory for Computer Architecture1/27/2008 DIT (Depth of Inheritance Tree) A measure of impact of ancestor classes Intuition: deeper class hierarchy implies –More methods inherited => more complexity –Greater design complexity –Greater potential to reuse inherited methods

SPEC Workshop Laboratory for Computer Architecture1/27/2008 NOC (Number of Children) Definition: Number of immediate subclasses Intuition: more children implies –Greater reuse –more influence on the design

SPEC Workshop Laboratory for Computer Architecture1/27/2008 CBO (Coupling Between Objects) Definition: The number of other classes to which a class is coupled –Via methods –Instance variables Intuition: more coupling implies –Bad for modularity. Less independence for class => difficult to reuse –Less independence => sensitive to change in other parts –More interaction => complexity in testing correctness

SPEC Workshop Laboratory for Computer Architecture1/27/2008 RFC (Response for a Class) Intuition: more methods executed per message implies –More complexity for the class –Complexity in testing and debugging

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Object Orientedness of C++ benchmarks in cpu06

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Object Orientedness of C++ benchmarks in cpu06

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Object Orientedness of C++ vs. java benchmarks [ DaCapo paper ]

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Object Orientedness of C++ vs. java benchmarks

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Control flow Characteristics Has OO nature affected control flow? –branch compositions –Branch misprediction

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Branch types - INT

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Branch types - FP

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Branch types - INT

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Branch types - FP

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Branch misprediction - INT

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Branch misprediction - FP

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Summary Increased presence of C++ in SPEC CPU encouraging Measured object orientedness of C++ programs –Xalanckbmk,dealII & omnetpp – strong OO –OO nature of C++ programs not any worse than SPEC Java benchmarks Analyzed impact of OO nature on control flow –Control flow increase pronounced for FP –Xalanckbmk, dealII & omnetpp – higher % of function calls and indirect branches

SPEC Workshop Laboratory for Computer Architecture1/27/2008 Questions 24Laboratory for Computer Architecture8/28/2007