the total value for a constrained cost of the system, or (2) to minimize the ... tion C h is called the cost function. For example, in Fig. 1 we have n and and C denote.
JOURNAL OF AUTOMATIC CONTROL, UNIVERSITY OF BELGRADE; VOL. 13(2):23-33, 2003 ©
Optimizing Computer System Configurations Jozo J. Dujmović
Abstract - We present a quantitative method for selecting optimum configurations of computer systems. For each configuration we specify a set of requirements reflecting user’s needs. The level of satisfaction of requirements is called the global preference score. Using this indicator and the total cost of each configuration we solve the following optimization problems: (1) select a configuration which maximizes the global preference score for a constrained cost of computer system, (2) select a configuration which attains a given level of global preference for a minimum cost, and (3) select a configuration which attains the maximum global preference/cost ratio. We first present the optimization method and then a complete case study of computer optimization.
1. Introduction Evaluation and selection of computer systems is a problem of selecting the most appropriate configuration of hardware and software for a specific computer user. This is not a simple problem because the majority of computer systems can have a large number of different configurations. Even for small and inexpensive computers it is possible to create thousands of different configurations. Each of these configurations has a specific cost and a specific degree of satisfying user requirements. In this paper we address a practical problem of finding the optimum configuration for a given user. Our method is primarily oriented toward optimizing large, complex, and/or expensive systems. However, to simplify the presentation and show a complete case study, we will use a relatively simple example of optimizing a desktop system. To illustrate the problem of large number of possible configurations Table 1 presents hardware options of a legacy desktop system [1]. Theoretically, there are 442,368 different hardware configurations in the price range from $2,022 to $4,867. The presented desktop system has a single processor, single disk unit, and standard input/output units for a single user. On the other hand, today’s servers often have more processor and memory options, multiple disk arrays, archive tapes, printers, and large and adjustable number of client systems. This substantially increases the number of possible configurations. The configuration selection process can be further complicated by other options related to software, service, and accessories. For example, if the presented desktop system comes with two levels of service, accessories, and optional software products then the total number of possible combinations becomes greater than 50 million. The original manuscript received January 26, 2003. The revised manuscript received July 15, 2003. Jozo J. Dujmović, Department of Computer Science San Francisco State University
Decision makers sometimes reduce the number of possible configurations by selecting some fixed parameters of analyzed systems. However, the number of available configurations generally remains large, and it is useful to have optimization algorithms that can find the optimum configuration without exhaustive search of all possible combinations. Table 1. Configuration options of a desktop system No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hardware Component Processor (speed) Memory size Monitor Video Card Hard Drive Modem CD ROM Drive Keyboard Network Card Tape drive Sound Card Speakers Mouse Floppy/Zip Drive Printer
Total Number of Hardware Configurations
Number of Options 2 2 4 3 4 2 2 2 3 2 2 4 1 2 3 442,368
In this paper we propose an efficient method for optimizing computer configurations, based on the LSP method for system evaluation [3,4]. The proposed optimization method is general and can be applied to all advanced computer and communication systems (servers, workstations, mainframe systems, supercomputers, networks, etc.). Our presentation includes the proposed system evaluation and optimization methodology, followed by a characteristic case study.
24
DUJMOVIĆ, J. OPTIMIZING COMPUTER SYSTEM CONFIGURATIONS
2. System Optimization Method The selection of an optimum computer configuration depends on two main parameters: the total cost and the total value of each analyzed configuration. In the area of software acquisition this approach is known as the bestvalue technique [2]. We will use the LSP method (which is one of cardinal ranking methods [5]) to compute the indicator of total value called the global preference. The global preference can be interpreted as the percentage of fulfilled user requirements for the evaluated system as a whole.
HARDWARE UNITS
Processor
Main Mem.
Tape Unit Floppy Disk
CD-ROM
The goal of optimization can be (1) to maximize the total value for a constrained cost of the system, or (2) to minimize the total cost while the total value is greater than a given threshold value, or (3) to maximize the value/cost ratio. In all three cases the optimization process includes the following steps:
1. 2. 3. 4. 5.
Binary tree of performance variables Configuration options and elementary criteria Preference aggregation structure Optimum preference and cost allocation functions Computation of optimum configuration
The first three steps are necessary to create a quantitative model for computing the global preference score of a computer system according to the LSP method. Subsequent steps include the optimization process. We will now separately present each of the above steps. 2.1 Binary tree of performance variables The first step is to develop a list of all relevant components for evaluation and optimization of the analyzed system. Such components are called performance variables. In the case of system optimization we select only those components that affect the cost of the system. The list of performance variables can be derived using various decomposition trees. We recommend the use of binary trees because they substantially simplify the optimization process (Section 2.4). An example of the binary tree for hardware units of a desktop system is shown in Fig. 1. The analyzed hardware consists of central units (processor and memory) and peripheral units. Peripheral units consist of communication units and I/O units; I/O units consist of input units and output units, etc. The decomposition process eventually yields the list of components whose parameters should be optimized: (1) processor, (2) internal memory, (3) tape, (4) floppy disks, (5) CD-ROM, (6) hard disk, (7) modem, (8) network card, (9) keyboard, (10) mouse, (11) sound card, (12) speakers, (13) printer, (14) video card, and (15) monitor. These components are leaves of the decomposition tree: they cannot be further decomposed.
Processor and memory
I/O and Data Com.
Memory
I/O Units
Data Com.
Network Ctrl Input Units
Output Units
Audio Units
Hard Copy & Video Units
Printer
Video Output
Video Ctrl
Disks
Mag. Disk
Keyboard Mouse
External M.
Hard Disks
Modem
Sound Ctrl
Speakers
Monitor
Figure 1. A binary tree for decomposition of basic hardware components
Each of these components has a cost and for each of them we can define a single performance variable. Performance variables are denoted X1,..., X n . Each value of performance variable is related to a specific cost: X i = hi (Ci ), i = 1,..., n . The corresponding inverse function Ci = hi−1( X i ), i = 1,..., n is called the cost function. For example, in Fig. 1 we have n = 15 and X 2 and C2 denote respectively the capacity and the cost of main memory. If the memory comes in 32 MB increments, and each increment costs $200, then X 2 ∈{32, 64, 96,128} and C2 ∈ {200, 400, 600, 800} . The goal of the optimization process is to determine the optimum allocation of costs Ciopt , i = 1,..., n , and the corresponding optimum values of performance variables X iopt = hi (Ciopt ), i = 1,..., n . This determines the optimum configuration of the analyzed system according to a selected optimization criterion. 2.2 Configuration options and elementary criteria The second step in the evaluation process is to create elementary criteria for evaluation of performance variables. For example, if disk capacity may be 2.1GB, 3.2GB, 4.3GB, and 6.4 GB, then each capacity satisfies a given fraction of user's needs. For a specific user the 2.1GB disk can be considered to properly satisfy only 20% of needs, the 3.2GB disk can perform satisfactorily in 50% of applications, the 4.3GB disk in 80% of applications, and the 6.4 GB disk can be considered to satisfy all applications (i.e. 100%). The percent of satisfaction of user's requirements is called the preference. The preference is denoted Ei and we assume 0 ≤ Ei ≤ 100%, i = 1,..., n . The function Ei = Gi ( X i ) , which is used to compute the elementary preference for a given value of performance variable, is called the elementary criterion.
JOURNAL OF AUTOMATIC CONTROL, UNIVERSITY OF BELGRADE
The simplest notation of elementary criteria and the corresponding cost functions is a tabular form. For example, Table 2 illustrates the elementary criterion and the cost function for the capacity of a hard disk drive. In this case the configuration always includes a hard disk, and the cost of the smallest disk (option 1) is included in the basic cost of the system. Consequently, the cost row denotes only the cost difference between the basic cost of the 2.1 GB disk and the cost of higher capacity disks.
alized using aggregation operators based on weighted power means. More details about the aggregation functions can be found in [3] and [4]; here we will present only the basic ideas.
Hard Disk Drive
Capacity [GB] Cost Dif. [$] Preference [%]
1 2.1 0 20
Option 2 3 3.2 4.3 49 109 50 80
4 6.4 184 100
For some components it is difficult to define a measurable performance indicator. This case is exemplified in Table 3. The analyzed computer can be configured without speakers (option 0), or with three types (models) of speakers, denoted M90, M290, and M490. The model number can be used as the performance variable, and for each model we can define the corresponding preference and cost. Table 3
Speakers
Type Cost [$] Preference [%]
0 0 0 0
1 M90 49 70
Option 2 M290 124 90
3 M490 189 100
At the end of this step we have configuration options, elementary criteria (evaluation functions), and cost functions for all components of the analyzed system. 2.3 Preference Aggregation Structure A specific configuration of a computer system is defined by the values of n performance variables X 1,..., X n . Using these values and the corresponding elementary criteria we can compute n elementary preference scores: E1 ,..., E n . The elementary preferences reflect the value of individual components, but the purpose of evaluation is to determine the value of a system as a whole. The final step in a system evaluation process is to aggregate all elementary preference scores and compute the global preference for the whole system: E0 = L(E1,..., En ) = L(G1( X 1),...,Gn ( X n )) = G( X 1,..., X n ),
0 ≤ E0 ≤ 100% .
The global preference E0 denotes the global level of satisfying user's requirements. The aggregation function L is re-
E2
E1 W1
E4
E3
W2 W3
r E12
Table 2
25
W12
W 34
q
W4
s E34
E1234 Figure 2. A simple binary preference aggregation tree Suppose we aggregate elementary preferences using a binary tree exemplified in Fig. 2. To aggregate the first two elementary preferences E1 and E2 we use the following weighted power mean: E12 = (W1E1r + W2 E2r )1/ r ,
W1 + W2 = 1,
− ∞ ≤ r ≤ +∞ .
The properties of this function depend on its parameters (weights and exponent). The selection of parameters can be done according to methods described in [7]. The weights W1 and W2 express the relative importance of the first and second input. The exponent r is used to adjust the logical properties of this function (simultaneity or replaceability of inputs). The same function is used in all aggregation nodes, and each time the parameters are adjusted to reflect a desired evaluation strategy. The aggregation process generates the global preference as an indicator of the value of the whole system. The logical properties of the aggregation function depend on the selected value of parameter r. If the user needs simultaneous satisfaction of the first and second elementary criterion then it is necessary to use values r < 1 and the weighted power mean becomes a simultaneity operator. The intensity of this operator can be selected using appropriate values of r . For example if r = −∞ the weighted power mean becomes conjunction, E12 = min(E1, E 2 ) , which is the highest intensity of the simultaneity requirement. A relatively low simultaneity requirement is obtained if r = 0 , and the weighted power W
W
mean becomes the geometric mean E12 = E1 1 E 2 2 . For r = −1 we generate the harmonic mean, E12 = 1 / (W 1 / E1 + W 2 / E 2 ) , which requires even more simultaneity between E1 and E 2 than the geometric mean. In both cases if either E1 = 0 , or E 2 = 0 , the consequence is E12 = 0 . In other words, the elementary criteria yield-
DUJMOVIĆ, J. OPTIMIZING COMPUTER SYSTEM CONFIGURATIONS
26
ing E1 and E 2 must be simultaneously satisfied, and the simultaneity operator behaves similarly to an AND gate. Eight increasing levels of simultaneity used in most practical cases (see [4]) are denoted using symbols C − − (lowest simultaneity level, r=0.62), to C (highest simultaneity, pure conjunction, r = −∞ ) as follows: Simultaneity operators and the corresponding values of r C-CC-+ CA C+C+ C++ C 0.62 0.26 -.15 -.72 -1.7 -3.5 -9.1 −∞ If r > 1 the weighted power mean can be used to model replaceability of inputs. The highest replaceability level is obtained if r = +∞ . In this case the weighted power mean becomes disjunction, E12 = max(E1, E 2 ) , and it is sufficient to satisfy only one of the input criteria. A lower replaceability level can be obtained for r = 2 when we have the quadratic mean E12 = (W1E12 + W 2 E 22 ) 1/ 2 . Eight practical levels of replaceability are denoted using symbols D − − (lowest replaceability level), to D (highest replaceability) similarly as in the case of simultaneity: Replaceability operators and the corresponding values of r D-DD-+ DA D+D+ D++ D 1.45 2.02 2.79 3.93 5.8 9.52 20.6 +∞ In all cases the replaceability operator behaves similarly as an OR gate. The case r = 1 yields the traditional weighted arithmetic mean, E 12 = W1E1 + W 2 E 2 . This case is neutral (in the middle between simultaneity and replaceability), and it is frequently used either alone or combined with other operators.
E1 E2
desired 1 − W1
A
W2 1 − W2
Using suitably selected aggregation functions we can realize a preference aggregation tree that exactly reflects the needs of a specific user. A global quantitative indicator of satisfaction of user needs is the global preference E0 = G( X 1,..., X n ) . Once we know the global preference function we can develop optimization algorithms to provide a suitable combination of high global preference and low global cost. 2.4 Optimum preference and cost allocation functions Each value of performance variable X i is a function of cost Ci . Consequently, the global preference of a system can be expressed as a function of individual costs, E0 = H (C1,..., Cn ) , and the global cost is C0 = C1 +...+Cn . The optimization problems can now be formulated as follows:
•
•
•
Find the optimum system configuration yielding the maximum global preference E0max for a given constrained cost of the system C0 ≤ C (C is the maximum acceptable value). Find the minimum cost of a system C0min necessary to attain a given level of global preference E0 ≥ E (E is the minimum acceptable value). Find the best value configuration which attains the maximum preference per unit of cost (e.g. the maximum value of the ratio Q = E0 / C0 )
The solution of the above problems can always be expressed as an optimum distribution of individual costs C1opt ,...,Cnopt , which yields the optimum configuration pa-
mandatory W1
primary input while E 2 is much less important and used to slightly increase/decrease the output preference E 12 with respect to the primary input E 1 .
C
E12
Figure 3. Partial absorption function A very useful and frequently used compound aggregation operator is the partial absorption, shown in Fig. 3. The operator A denotes the arithmetic mean and C denotes one of simultaneity operators (used as an AND gate). The partial absorption operator combines a mandatory requirement (input E 1 ) and a desired feature (input E 2 ). If the mandatory requirement is not satisfied ( E 1 = 0 ) then E 12 = 0 regardless the value of E 2 . On the other hand, if E 1 > 0 and E 2 = 0 this yields E 1 > E 12 > 0 . If E 2 > E 1 > 0 then E 2 > E 12 > E1 > 0 . Obviously, E 1 is a
rameters X iopt = hi (Ciopt ),
i = 1,..., n .
Let C denote the available budget for computer acquisition. The basic optimization problem consists of finding the maximum value of E0 for C0 ≤ C . A solution of this problem for a variable total system cost C is a set of optimum allocation functions Ciopt = ai (C ), C1opt +...+Cnopt
i = 1,..., n ≤C
which determine the optimum allocation of the total cost C and the parameters of the optimum configuration: X iopt = hi (Ciopt ) = hi (ai (C)),
i = 1,..., n .
JOURNAL OF AUTOMATIC CONTROL, UNIVERSITY OF BELGRADE
For each cost distribution satisfying C1 +...+Cn ≤ C we have
H (C1opt ,..., Cnopt )
≥ H (C1,..., Cn ) .
E12
opt E12 (C12 )
E12 (C1,C2 )
C2 C12
1.
Select a layer of aggregation nodes, starting with the first layer. Let E12 (C1,C2 ) be the aggregate preference of inputs 1 and 2 as a function of costs of the first two inputs, C1 and C2 . 2. In the selected layer select a node, e.g. the first node 12, and compute the minimum cost and the maximum cost of the node: min max C12 = C1min + C2min , C12 = C1max + C2max
3.
max E 12 (C12 )
C1 + C2 = C12
C2opt (C12 )
C12
C 1o pt (C 1 2 )
E12 (C12 ) =
max C12
opt
The optimum allocation functions can be found separately for each node in the binary preference aggregation tree. Figure 4 illustrates the optimization procedure for the first two parameters that have costs C1 and C2 . The C2min
these
costs
C1min ≤ C1 ≤ C1max
is
and
≤ C2 ≤ C2max
. The total allocated resources in this node are C12 = C1 + C2 . Consequently, we have to search for the optimum allocation of resources in the range min max C1min + C2min = C12 ≤ C12 ≤ C12 = C1max + C2max . According to Fig. 4, for each value of C12 we can locate the maximum preference along the line C1 + C2 = C12 : opt
E12 (C12 ) =
max
C1 + C 2 = C12
E12 (C1,C2 )
opt
opt
5. 6.
opt Save functions E12 (C12 ) , C1opt (C12 ) , and C2opt (C12 ) as four arrays of values: C12[...], E12opt[...], C1opt[...], and C2opt[...]. These arrays can be later used to compute the values of inverse functions, e.g. opt opt E12 a C12 (E12 ) Repeat steps 2 to 4 for all nodes in the selected layer Repeat steps 2 to 5 for all layers in the binary tree. In the second and higher layers use as inputs the previous optimum preference functions. For example, use opt opt opt E12 (C12 ) and E 34 (C34 ) to compute E1234 (C1234 ) min min max max in the range C12 + C34 ≤ C1234 ≤ C12 + C34 , as well as the optimum cost allocation functions opt opt C12 (C1234 ) and C34 (C1234 ) .
At the end of this process we get the function C0 a E0opt (C0 ) that shows the maximum preference that
opt
= E12 (C1 (C12 ),C2 (C12 )), E12 (C1,C2 ) = (W1E1r + W2 E2r )1/ r r 1/ r
r
E12 (C1,C2 )
• The optimum cost allocation functions: C1opt (C12 ) and C2opt (C12 ) 4.
of
max
C1 + C 2 ≤ C12
= E12 (C1 (C12 ),C2 (C12 ))
Figure 4. Computation of the optimum preference function
range
min max For all node costs in the range C12 ≤ C12 ≤ C12 compute the optimum preference function and two optimum allocation functions: • The optimum preference function:
opt
C1 m in C 12
27
= [W1(G1( X 1)) + W2 (G2 ( X 2 )) ]
can be achieved for a given global cost C0 . We also have a sequence of optimum cost allocation functions.
= [W1(G1(H1(C1)))r + W2 (G2 (H 2 (C2 ))) r ]1/ r
2.5 Computation of optimum configurations This simple linear search yields the optimum cost values opt
C1 (C12 ) and C2opt (C12 ) which give the maximum value opt
of the subsystem preference E12 (C12 ) for the subsystem cost C12 . The same process can be repeated for all values min max of cost in the range C12 ≤ C12 ≤ C12 .
The system optimization procedure consists of repeating the presented node optimization operations for all nodes in the binary aggregation tree. This process is shown in Fig. 5 and can be summarized as follows:
The final step in the optimization process is to compute the parameters of optimum configurations. In Fig. 5 this step is denoted as “allocate”.
DUJMOVIĆ, J. OPTIMIZING COMPUTER SYSTEM CONFIGURATIONS
28
E1(C1)
C1
12 OPT
C1opt (C12 )
C12
opt E12 (C12 )
E2 (C2 )
C2
C2opt (C12 )
C1234
1234 OPT E3 (C3 )
C3
34 OPT
opt E 34 (C34 )
C4opt (C34 )
E4 (C4 )
C4
opt opt E1234 1234(C1234 1234 ))
opt E1234
opt C34 (C1234 )
C3opt (C34 )
C34
opt C12 (C1234 )
OPTIMIZE
ALLOCATE
X 1opt
X 2opt
X 3opt
opt 1
h1(C
)
h2 (C2opt )
h3 (C3opt )
C1opt
C2opt
C
opt 3
C1opt (C12 ) opt C12
opt 12
E (C12 )
opt C12 (C1234 )
C2opt (C12 )
C3opt (C34 )
X
h4 (C4opt )
C4opt
C1234
opt C34 (C1234 )
opt E34 (C34 ) opt 4
opt E1234 (C1234 )
E1234
opt C34
C4opt (C34 )
Figure 5. Computation of optimum preferences and computation of optimum configurations The computation of optimum configurations is similar for all three basic optimization problems. The first problem is to find the configuration which attains the maximum global preference for a given global cost. In this case, using the example in Fig. 5, we first use the desired global cost, C1234 , to compute the optimum allocation in nodes 12 and 34, i.e. opt opt C12 (C1234 ) and C34 (C1234 ) . We then continue in the opt to determine same way: we go to node 12 and use C12 opt opt ) . Finally, we use C1opt and C1opt (C12 ) and C2opt (C12
C2opt to compute the optimum configuration parameters
X 1opt = h1(C1opt ) X 1opt
=
and
opt (C1234 ))) h1(C1opt (C12
X 2opt = h2 (C2opt ) .
Since
we have that the first opti-
mum allocation function is a1(C1234 ) = C1opt (C1opt 2 (C1234 )) . This technique can be applied to find all other optimum allocation functions and configuration parameters. The second optimization problem is to find the configuration that attains a given global preference for a minimum cost. This case is also illustrated in Fig. 5. Using the desired global preference E1234 and the optimum prefopt erence function C1234 a E1234 (C1234 ) (recorded as arrays
JOURNAL OF AUTOMATIC CONTROL, UNIVERSITY OF BELGRADE
C1234[...] and E1234opt[...]) we can determine the corresponding cost C1234 . Using this cost the problem is reduced to the previous case of finding the optimum configuration for a given global cost. The third optimization problem is to find the configuration that attains the maximum preference/cost ratio. opt (C1234 ) / C1234 can The maximum value of the ratio E1234 be easily found using the linear search of the array E1234opt[i]/C1234[i]. This search yields the cost C1234 that corresponds to the optimum configuration, and the problem is again reduced to the previous case. The presented optimization procedure solves all three basic system optimization problems. It consists of a sequence of optimizations of individual nodes in the binary aggregation tree. For systems with n input parameters the number of aggregation nodes is n − 1 . Therefore, the computation time for the whole optimization process is of the order O[ n − 1] . This method is very efficient and can be applied for any practical value of n .
3. A case study of computer optimization In this section we present a complete example of optimization of a legacy desktop system [1]. The first step of the optimization procedure is to develop a binary tree of performance variables. We will use the tree shown in Fig. 1, which yields 15 performance variables. The second step is to create the Configuration Option Table (COT). Using typical data from [1] the corresponding COT includes 14 adjustable parameters (performance variables) shown in Table 4. For each performance variable we specify the adjustable values (options), and the corresponding costs and preferences. For example, in the case of the EIDE Hard Disk, the adjustable parameter is the capacity (from 2.1GB to 6.4GB). The cost of the entry-level disk (2.1GB) is specified as $0 because it is included in the base package’s price ($2,022 specified in the processor line). The costs of other disks represent the differences between their full cost and the full cost of the entry-level disk. In general, option 1 cost is $0 for components that are part of the base package, and other costs are incremental with respect to option 0. For components that are not included in the base package (e.g. printers), full prices are listed in COT. The option 0 denotes the absence of the analyzed component. In cases where this option is acceptable (e.g. the speakers and printer can be optional in corporate settings) we explicitly list the 0 option. Each component of the COT includes the full definition of the corresponding elementary criterion. The criterion is specified by estimating the level of satisfaction
29
with each option. Therefore, this criterion reflects the specific needs of the selected class of users. For example, Table 4 illustrates the case where 32MB of main memory satisfies 75% of user’s requirements, and 64MB is sufficient to satisfy all requirements. All preference values in Table 4 are selected as realistic examples, and can be adjusted to reflect other types of users. These elementary criteria are then used for computing elementary preferences for all values of performance variables. The third step in the optimization procedure is the development of the preference aggregation structure for computing the global preference. Assuming that a mouse and a CD-ROM are included in all configurations, the corresponding structure is shown in Figure 6. Each aggregation block includes weights that denote the relative importance of inputs. They are expressed as percentages, and the sum of input weights for each block is 100%. Aggregation operators specify desired logic relationships between input preferences [3, 4]. Conjunctive operators (C-+, CA, and C+) specify the simultaneity of inputs, while disjunctive operators (DA) specify replaceability. The result of preference aggregation is the global preference for the system as a whole. Using this model we compute the global preference and the corresponding total cost for each configuration. The optimization algorithm then compares the cost-preference pairs, yielding optimum configuration parameters. The final optimization results are presented in Figure 7. The resulting curve shows all configurations that achieve the maximum preference for a given value of global cost. In our example, the maximum level of satisfaction achievable for under $2,500 is 70.51%. Similarly, $3,253 is required to satisfy 90% of user needs. This type of results is crucial for management decision making and planing. Another result of optimization is shown in Fig. 8. The optimum-preference-over-cost curve depicts the level of satisfaction of user needs per monetary unit. Optimum configurations in the range from $2,500 to $3,500 achieve high levels of preference over cost. The highest point defines the best-value configuration that carries a price tag of $2,651 and satisfies 76.12% of user requirements. The optimization process generates parameters of optimum configurations. Three important configurations are presented in Table 5. They are (1) the best configuration under $2,500, (2) the best value configuration, and (3) the least expensive system satisfying 90% of requirements. A user capable of precisely expressing the needs for all components of the system can use the presented LSP approach to maximize the return on computer investment. To help in this direction we have developed a specialized tool, OCCS (Optimum Configurator of Computer Systems). A demo version of OCCS is available on the Internet [6].
30
DUJMOVIĆ, J. OPTIMIZING COMPUTER SYSTEM CONFIGURATIONS
Table 4. Elementary Criteria Configuration Options and Elementary Criteria Processor Speed Cost Preference Main Capacity Memory Cost Preference Monitor Type Cost Preference Video Board Type Cost Preference Hard Disk Capacity Drive Cost EIDE Preference Modem Speed Cost Preference CD-ROM Speed Drive Cost Preference Keyboard Type Cost Preference Network Type Card Cost Preference Tape Capacity Drive Cost Preference Sound Type Card Cost Preference Speakers Type Cost Preference Floppy Capacity Disk Cost Preference Printer Type Cost Preference
Option 0
0 0 0
0 0 0 0 0 0
0 0 0
0 0 0
1 200 MHz 2022 85 32MB 0 75 8HS 13.7”T 0 40 Virge 2MB 0 30 2.1 GB 0 20 33.6Kbd 129 100 12-16X 0 80 Spacesaver 0 50 3C900 PCI 99 85 4GB 199 100 WaveSyn SW 0 70 ACS 90 49 70 1.44MB 0 75 HP DJ 820 309 65
2 233MHz 2100 100 64MB 239 100 10LS 15.9” 119 60 Virge 4MB 40 60 3.2 GB 49 50
3
4
10HS 15.9”T 340 85 Maxtor 4MB 139 100 4.3 GB 109 80
20TD 19”T 939 100
12 / 24X 25 100 Performance 29 100 3C905-TX 109 100
WaveTbl 32 39 100 ACS 290 124 90 1.44+100MB 138 100 HP LJ 6L 409 100
ACS 490 189 100
6.4 GB 184 100
JOURNAL OF AUTOMATIC CONTROL, UNIVERSITY OF BELGRADE
31
Processor speed Internal Memory Hard Disks CD-ROM Drive
89 11
C-+
90 10
Floppy Disks
C-+ 45
Archive Tape Monitor Video Controller
Speakers
A
30
26
C-+
73 27
45
C-+
CA
A
37
C-+
Modem
CA
80 CA
Audio Output
20
A
I /O Units Peripherals
50 50
CA
90
C-+
10 70
Central Subsystem
Visual Output
Keyboard/Mouse Network Card
80
63
60 40
20
55
74
External Memory
70
Printer Sound Card
55
DA
70
CA
65 35
30
Communications
30
Figure 6. Preference aggregation structure for computing the global preference
100% 90% 80%
Preference
70% 60% 50% 40% 30% 20% 10% 0% $0
$500
$1,000
$1,500
$2,000
$2,500
$3,000
$3,500
Cost
Figure 7. Maximum preference for constrained cost of a desktop system
$4,000
$4,500
$5,000
C+
PC
DUJMOVIĆ, J. OPTIMIZING COMPUTER SYSTEM CONFIGURATIONS
32
0.30
Preference per $1,000
0.25
0.20
0.15
0.10
0.05
0.00 $0
$500
$1,000
$1,500
$2,000
$2,500
$3,000
$3,500
$4,000
$4,500
$5,000
Cost
Figure 8. Maximum preference over cost
Table 5. Optimum Configurations Configuration Parameter Processor speed Memory capacity Disk Capacity CD-ROM Speed Floppy Disks Tape Drive Monitor Video Card Printer Sound Card Speakers Keyboard Network Card Modem Total Cost Global Preference
Best configuration under $2,500 200 MHz 32 MB 4.3 GB 12-16X 1.44 MB None 1000LS 15.9” Virge 4MB None WaveSynth SW ASC90 Performance 3C905-TX None $2,477 70.51%
Best value configuration (maximum Preference/Cost) 200 MHz 32 MB 6.4 GB 12-16X 1.44 MB None 1000LS 15.9” Maxtor 4MB None WaveSynth SW ASC90 Performance 3C905-TX None $2,651 76.12%
Least expensive system satisfying 90% of requirements 233 MHz 64 MB 6.4 GB 12/24X 1.44 MB None 1000HS 15.9” Trinitron Maxtor 4MB None Wavetable AWE32 ASC90 Performance 3C905-TX None $3,253 89.64%
JOURNAL OF AUTOMATIC CONTROL, UNIVERSITY OF BELGRADE
4. Conclusions
5. References
All substantial investments in computer equipment require fine tuning of computer configurations. This is the case with procurements of medium and large systems and networks, as well as with volume purchases of smaller computers. In such instances, the use of optimization techniques presented in this paper is fully justified and can result in substantial savings.
[1]
Our optimization method is general, and can be applied for optimum selections of a variety of computer systems: hardware, software, communication equipment, accessories, etc. It is possible to optimize all system components that contribute to the total cost. These components can be specified either through the values of their parameters, or through other non-numerical descriptors.
[2]
[3]
[4]
[5] [6] [7]
For each level of cost the proposed method determines the corresponding maximum level of satisfying user requirements. Vice versa, for each desired level of user requirements we can find the minimum necessary cost. We precisely identify the components of all optimum configurations. Our models include adjustable parameters in order to express a wide spectrum of realistic user requirements. The proposed optimization method is very fast: the run time is directly proportional to the number of components of the optimized system. The implementation of the method is not complex and we have developed a corresponding optimization tool whose demo version is available on the Internet [6]. In our case study of configuration optimization, the configurations in the upper half of the price range, span less than 10% of user needs. Within this range, substantial reduction of cost can be achieved by the combined optimization of configuration and insignificant reduction of user satisfaction. In addition to optimum configurations the proposed method also provides background information necessary for justifying the proposed decisions.
33
Dell Computer Corporation, Dell Dimension XPS, http://www.dell.com, 1997. Department of the Air Force, Guidelines for Successful Acquisition and Management of Software-Intensive Systems. Version 2.0, Vol. 1, pp. 13-46 - 13-55, June 1996. Dujmovic, J.J., A Method for Evaluation and Selection of Complex Hardware and Software Systems. The 22nd International Conference for the Resource Manage-ment and Performance Evaluation of Enterprise Com-puting Systems. CMG 96 Proceedings, Vol. 1, pp. 368-378, 1996. Dujmovic, J.J., Quantitative Evaluation of Software. Proceedings of the IASTED International Conference Software Engineering, edited by M.H. Hamza. IASTED/ACTA Press, ISBN: 0-88986-244-3, pp. 3-7, 1997. Mollaghasemi, M. and J. Pet-Edwards, Making Multi-ple-Objective Decisions. IEEE Computer Society Press, 1997. Optimum Configurator of Computer Systems (OCCS). http://www.seas.com , 1998. Saaty, T.L., How to Make a Decision: The Analytic Hi-erarchy Process. Interfaces, Vol. 24, No. 6, pp. 19-43, 1994. Proc. of the 32nd SICE Annual Conference, 1993, pp.1379-84.