Information Technology Reference
In-Depth Information
Adding more processing power by scaling up is as simple as buying
a larger, faster system. If running an application on a two-way machine
feels limited, then moving to a four-way system should give a significant
boost to the response times. It does not require redesigning the application,
nor does it require any changes to the data management and system
management policies. Scaling out, on the other hand, is not as simple as
scaling up. One cannot just add a new machine to a network and hope
that the application can make use of it. Using scale-out technology requires
redesigning the application so that it can be made to run on two or more
machines. It also may require partitioning the database. Messaging and
caching may be necessary to get the machines to communicate. Finally,
one may need to implement a new component health check process to
monitor each machine.
It is important to understand that not every application lends itself well
to scalability, and not every hardware configuration is capable of providing
the desired level of scalability. Sure, moving from a Pentium 133 MHz,
64 MB RAM system to a Pentium IV 1.4 GHz, 512 MB RAM system should
most likely achieve an increase in performance. Creating multithreaded
applications can also help in scalability, especially when there are high
volumes of both data processing and data I/O. However, for graceful
scaling under increasing load conditions, the application should be capable
of performing its tasks in parallel and one must have hardware that is
capable of multiprocessing.
Before treading on the arduous task of trying to make an application
perform well by scaling up or scaling out one's hardware, one needs to
observe the behavior of the application to determine the bottlenecks.
Quite often, the delays may not be in the data processing, but rather in
the I/O. Using RAID disks, single-threaded application can also improve
I/O performance because the operating system is able to read data from
multiple drives simultaneously. Better performance can be achieved by
choosing intelligently between investing in hardware, upgrading I/O sys-
tems, making use of networked resources, reorganizing the data, and
redesigning one's software application.
Validation versus Verification versus Testing
Many of us use the terms “verification” and “validation” interchangeably,
as if they were the same. Let us look at the definitions of “validation” and
“verification.” To validate something is to use a known or documented
procedure to establish the correctness of its characteristics. Verification,
on the other hand, involves a process to establish that the expected set
of results can be obtained with a previously analyzed set of inputs.
Search WWH ::




Custom Search