1 / 15

Efficiency

2. Efficiency. If one process is twice as efficient as another, it may take half as many computers, half as many people, half as much real estate, half as much power, and otherwise save a great deal of money.Most corporations care about this a great deal, and almost every Information Technology man

hernando
Télécharger la présentation

Efficiency

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 1 Efficiency Establishing Credibility for Performance Metrics

    2. 2 Efficiency If one process is twice as efficient as another, it may take half as many computers, half as many people, half as much real estate, half as much power, and otherwise save a great deal of money. Most corporations care about this a great deal, and almost every Information Technology manager has a lot of responsibility for minimizing and reducing costs. But you cannot manage something unless you can measure it. Metrics are an important topic for a course in distributed computing.

    3. 3 Common Metrics Algorithmic efficiency is a mathematical evaluation of the efficiency of a process based on a worst case count of the number of operations required to complete the process. A sort algorithm might be referred to as having an O(n log n) time complexity. Benchmarks are standardized problem sets. Different hardware and software combinations can be tested for performance and cost efficiency. The older database benchmarks TPMc and $/TPMc are examples of benchmarks.

    4. 4 Algorithmic Efficiency Normally, in discussing algorithmic efficiency, the efficiency of an algorithm is discussed in terms of how long it runs (how many steps) in relationship to the length of its input. We are usually only concerned with very large input vectors. Although a bubble sort is a very inefficient sort algorithm for large input vectors, it has nearly perfect efficiency for an input vector of size 1 or 2. In graph algorithms, efficiency is discussed in terms of the number of edges and vertices, using E and V along with big O notation.

    5. 5 Big O Notation The most common way to describe a mathematical bound on the number of steps or time complexity of an algorithm is big O notation. The asymptotic upper bound of the magnitude of a function is described in terms of another, simpler function. Big O notation is based on the fact that in a polynomial expression, a single term of the expression tends to dominate as the expression grows. For example, in the expression x2+nx+c, the x2 term will dominate for large values. This can be expressed as O(n2).

    6. 6 Common Orders of Functions (Slower growing functions first) O(1) constant O(log* n) iterated logarithmic O(log n) logarithmic O((log n)c) polylogarithmic O(n) sublinear O(n) linear O(n log n) linearithmic, loglinear, quasilinear or supralinear O(n2) quadratic O(nc), c > 1 polynomial, sometimes called algebraic O(cn) exponential, sometimes called geometric O(n!) factorial, sometimes called combinatorial O(nn) exponential

    7. 7 Related Mathematics Big O notation is a subset of Landau notation and Asymptotic notation. While the mathematics are straightforward, the present course is already overloaded with conceptual content, and students with further interest are referred to courses like CIS 611, Introduction to Computability and Complexity. For this course, students are expected to understand that algorithmic efficiency is computed as a function of input size, and have a general idea of the most important functions and how they are related.

    8. 8 Overhead Another efficiency concern that is mentioned often in this course is overhead. Activities that support work rather than doing work in Information Technology are referred to as overhead. For example, setting up and tearing down communication channels may be necessary to send messages, but no messages are sent while these activities take place. Reducing and minimizing overhead are important for efficient operations, whether at the corporate level or at the process level.

    9. 9 Benchmarks There are two basic forms of benchmarks of interest to IT managers. Performance benchmarks such as megaflops (millions of floating point operations per second) and database benchmarks measure the relative performance of hardware and software. Financial benchmarks are used to compare the benefits of different investments in technology.

    10. 10 Some Financial Benchmarks Payback Ratiothe time required to recover an investment. This project will pay for itself in 18 months. Return on Investment and Internal Rate of Returncomparing the financial benefits of an investment to an interest rate that might be paid on a financial instrument like a bond. This project has an internal rate of return of 14 percent.

    11. 11 Hardware Metrics We often discuss CPU speed in terms of clock rates. For example, my home computer has a Pentium 4 with a clock rate of 2 GHz. But a different CPU with the same clock rate may perform better or worse than mine in real applications. Some metrics have been established to compare systems of different types. One common metric is FLOPS, or FLoating Point OPerations per Second, often expressed as Megaflops, or millions of FLOPS. It often takes several machine instructions to perform one floating point operation.

    12. 12 Database Benchmarks The older versions of database benchmarks like TPMc have been updated with newer versions such as TPC-C established by the Transaction Processing Performance Council. This is a measure of the maximum throughput of a particular combination of database software and hardware. Dividing the cost of the hardware and software by the throughput gives a measure of cost efficiency. Some examples of these metrics are shown on the next slide.

    13. 13 TPC-C Results (November 2009)

    14. 14 Instructors Comment If you want to succeed in a corporate environment, it is very important to know the answer to the following question: What is important to my boss? If you know the answer to that question, and make sure that your efforts support your boss in meeting goals, you are more likely to succeed. Most managers are very concerned with efficiency and cost savings.

    15. 15 http://www.cprogramming.com/tutorial/computersciencetheory/algorithmicefficiency1.html http://en.wikipedia.org/wiki/Big_O_notation http://www.tpc.org/information/benchmarks.asp Bibliography

More Related