Look up scalability in Wiktionary, the free dictionary. Wikipedia does not have an article with this exact name. ...
Scale in the computing field is used as a verb. ...
Wikipedia does not have an article with this exact name. ...
It has been suggested that French Wiktionary be merged into this article or section. ...
Definition
In telecommunications and software engineering, scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged.[1] For example, it can refer to the capability of a system to increase total throughput under an increased load when resources (typically hardware) are added. An analogous meaning is implied when the word is used in a commercial context, where scalability of a company implies that the underlying business model offers the potential for economic growth within the company. Copy of the original phone of Alexander Graham Bell at the Musée des Arts et Métiers in Paris Telecommunication is the transmission of signals over a distance for the purpose of communication. ...
Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ...
This article or section does not adequately cite its references or sources. ...
The term business model describes a broad range of informal and formal models that are used by enterprises to represent various aspects of business, such as operational processes, organizational structures, and financial forecasts. ...
World GDP/capita changed very little for most of human history before the industrial revolution. ...
Scalability, as a property of systems, is generally difficult to define [2] and in any particular case it is necessary to define the specific requirements for scalability on those dimensions which are deemed important. It is a highly significant issue in electronics systems, database, routers, and networking. A system whose performance improves after adding hardware, proportionally to the capacity added, is said to be a scalable system.
Dimensions Scalability can be measured in various dimensions, such as:
Load scalability A distributed system should make it easy for us to expand and contract its resource pool to accommodate heavier or lighter loads. or the ease with which a system or component can be modified to fit the problem area. This article or section should be merged with Distributed computing In computer science, a distributed system is an application that consists of components running on different computers concurrently. ...
Geographic scalability A geographically scalable system is one that maintains its usefulness and usability, regardless of how far apart its users or resources.
Administrative scalability No matter how many different organizations need to share a single distributed system, it should still be easy to use and manage.
Examples For example, a scalable online transaction processing system or database management system is one that can be upgraded to process more transactions by adding new processors, devices and storage, and which can be upgraded easily and transparently without shutting it down. Online Transaction Processing (or OLTP) is a class of program that facilitates and manages transaction-oriented applications, typically for data entry and retrieval transaction processing. ...
A database management system (DBMS) is computer software designed for the purpose of managing databases. ...
A routing protocol is considered scalable with respect to network size, if the size of the necessary routing table on each node grows as O(log N), where N is the number of nodes in the network. The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ...
This article describes routing in computer networks, a method of finding paths from origins to destinations, along which information can be passed. ...
Big O notation or Big Oh notation, and also Landau notation or asymptotic notation, is a mathematical notation used to describe the asymptotic behavior of functions. ...
Scale vertically vs. horizontally Scale vertically To scale vertically (or scale up) means to add resources to a single node in a system, typically involving the addition of CPUs or memory to a single computer.
Scale horizontally To scale horizontally (or scale out) means to add more nodes to a system, such as adding a new computer to a distributed software application.
Design for scalability It is often advised to focus system design on hardware scalability rather than on capacity. It is typically cheaper to add a new node to a system in order to achieve improved performance than to partake in performance tuning to improve the capacity that each node can handle. But this approach can have diminishing returns (as discussed in performance engineering). For example: suppose a portion of a program can be sped up by parallelizing it. Suppose we can improve 70% of a module by parallelizing it, and run on four CPUs instead of one. If α is the fraction of a calculation that is sequential, and 1 − α is the fraction that can be parallelized, then the maximum speedup that can be achieved by using P processors is given according to Amdahl's Law: . Substituting the values for this example, we get . If we double the compute power to 8 processors we get . Doubling the processing power has only improved the speedup by roughly one-fifth. If the whole problem was parallelizable, we would, of course, expect the speed up to double also. Therefore, throwing in more hardware is not necessarily the optimal approach. Performance tuning is the improvement of system performance. ...
Performance engineering is the set of roles, skills, activities, practices, tools, and deliverables applied at every phase of the Systems Development Lifecycle which ensures that a solution will be designed and implemented to meet the non-functional requirements defined for the solution. ...
In parallel computing, speedup refers to how much a parallel algorithm is faster than a corresponding sequential algorithm. ...
The speedup of a program using multiple processors in parallel computing is limited by the sequential fraction of the program. ...
Notes - ^ André B. Bondi, 'Characteristics of scalability and their impact on performance', Proceedings of the 2nd international workshop on Software and performance, Ottawa, Ontario, Canada, 2000, ISBN 1-58113-195-X, pages 195 - 203
- ^ See for instance, Mark D. Hill, 'What is scalability?' in ACM SIGARCH Computer Architecture News, December 1990, Volume 18 Issue 4, pages 18-21, (ISSN 0163-5964) and Leticia Duboc, David S. Rosenblum, Tony Wicks, 'Doctoral symposium: presentations: A framework for modelling and analysis of software systems scalability' in Proceeding of the 28th international conference on Software engineering ICSE '06, May 2006. ISBN 1-59593-375-1, pages 949 - 952
See also |