bluuebunny/crossref_metadata_2025_split huggingface dataset:
Optimal replication of parallel-read, sequential-write systems
Authors: Coffman E. G. , Gelenbe Erol , Wood Roger C. 
Published: January 2007

Frequently used computer elements that can be written by at most one process at a time constitute important bottlenecks in multiprocessor system operation, particularly when such elements are accessible only serially. Hardware devices, data files, system tables and critical sections in general may be examples of such elements. One common way to relieve this congestion is to provide several copies of the element, which can then be read (used) in parallel. However, the requirement that writing (changing) remain sequential means that writing times increase with the number of copies provided. The optimization question in this trade-off is the main concern of this paper.
A probability model of such a system is formulated with the objective of obtaining read-rate capacities as a function of read/write loads and the number of copies provided. The above optimization problem is expressed in terms of these results and then solved. In particular, it is shown how to select the number of copies that maximizes the read-rate capacity for given system parameters. Two distinct operating regimes, based on how interrupted read operations are restarted, are analyzed.
Structured life-cycle assumptions
Authors: Bell Thomas E. 
Published: January 2007

New programmers, some managers, and lots of users don't understand the advantages of a structured software life-cycle. However, only a single experience with coding while designing will convince any incipient software engineer that a controlled process is needed from the time of system concept though the last maintenance phase. Software Configuration Management has become almost a religion, and EDP auditors have even encountered a few systems that appear to have been specified, then designed, then implemented, then tested, and finally installed—all before maintenance and redefinition occurred. Perhaps the millennium has finally arrived, and software people will soon live in a controlled world with rational practices.
If you are tempted to believe the foregoing prediction, read the latest issue of FORTUNE, the WALL STREET JOURNAL, or COMMERCE BUSINESS DAILY and note a few problems that may divert us from the path to Nirvana. Data Processing supports commercial, educational, industrial, and governmental activities that are frequently (and repeatedly) redirected. Under circumstances of a largely random environment with thorough business planning a rarity, a critical support activity can expect to be redirected frequently. New ideas will be sliced into partly-completely DP projects, and users “analytical analyses” will become DP systems as if by magic.
System development methodology or system research methodology?
Authors: Coughlin Donald T. 
Published: January 2007

A future data processing historian may someday point to the 1970s as the deoade when business application systems began their adolescent growth period. We entered the 1970s with few truly on-line business systems, and many application designers did not fully appreciate the capabilities and limitation of index sequential file structures. Many of the larger companies were busy writing their own tp monitors and file handling systems, and it is very possible that more professional hours were being devoted to the development of control program software than to applications software.
The last decade did provide the application programmer with new control program tools such as data base management systems and on-line terminal control software. It also generated a continuing demand for computer performance software specialists to tune application systems immediately after initial implementation. These performance tuning efforts often required substantial changes to the application system - not just program code but also basic redesign. Therefore were these really system development projects or were they system research projects?
An alchemical approach to brokerage
Authors: Earle Dennis M. 
Published: January 2007

The essence of the commodities business is the ability to react quickly to evolving market conditions. Mocatta, a N.Y. based bullion dealer, is a firm which uses its Data Processing to provide both front office (trading) flexibility and back-office capacity to handle large volume days. The business is characterized by the constant trade-off of time against money. Corporate philosophy is to spend money to react quickly rather than to react slowly but perhaps at lower costs.
The life cycle of a system in this environment normally begins with a marketing report reflecting a new market nitch which the firm can take advantage of. Data Processing is involved almost from the inception of the idea to provide an indication of what existing systems can do for this new opportunity. Because of the nature of the business, each new product offered is usually so unique as to make it impossible for existing systems to support a new product from a trading point of view. Back-office applications are somewhat more common across products, so existing systems can usually provide some support. The key point is that all we really know is that we want to market the new product. Some idea of the time frame in which the product is to be offered is also obtained. The exact workings of defining the product and determining the parameters under which it will be traded usually remain to be worked out prior to the offering date. This therefore means that we have, at the point of commitment, the necessity for evolving data processing support in the same time frame in which the definition is evolving about what it is that we are to support.
Evaluating and comparing software metrics in the software engineering laboratory
Authors: Basili Victor R. , Phillips Tsai-Yun 
Published: January 2007

There has appeared in the literature a great number of metrics that attempt to measure the effort or complexity in developing and understanding software(1). There have also been several attempts to independently validate these measures on data from different organizations gathered by different people(2). These metrics have many purposes. They can be used to evaluate the software development process or the software product. They can be used to estimate the cost and quality of the product. They can also be used during development and evolution of the software to monitor the stability and quality of the product.
Among the most popular metrics have been the software science metrics of Halstead, and the cyclomatic complexity metric of McCabe. One question is whether these metrics actually measure such things as effort and complexity. One measure of effort may be the time required to produce a product. One measure of complexity might be the number of errors made during the development of a product. A second question is how these metrics compare with standard size measures, such as the number of source lines or the number of executable statements, i.e., do they do a better job of predicting the effort or the number of errors? Lastly, how do these metrics relate to each other?
Optimal testing policies for software systems
Authors: Goel Amrit L. 
Published: January 2007

An important problem of practical concern is to determine how much testing should be done before a system is considered ready for release. This decision, of course, depends on the model for the software failure phenomenon and the criterion used for evaluating system readiness.
In this paper, we first develop a cost model based on the time dependent failure rate function of Goel and Okumoto. Next, we derive policies that yeild the optimal values of the level of test effort (b*) and software release time (T*). The sensitivity of the optimal solution is also numerically evaluated.
A method for adaptive performance improvement of operating systems
Authors: Reiner David , Pinkerton Tad 
Published: January 2007

This paper presents a method for dynamic modification of operating system control parameters to improve system performance. Improved parameter settings are learned by experimenting on the system. The experiments compare the performance of alternative parameter settings in each region of a partitioned load-performance space associated with the system. The results are used to modify important control parameters periodically, responding to fluctuations in system load and performance. The method can be used to implement adaptive tuning, to choose between alternative algorithms and policies, or to select the best fixed settings for parameters which are not modified.
The method was validated and proved practical by an investigation of two parameters governing core quantum allocation on a Sperry Univac 1100 system. This experiment yielded significant results, which are presented and discussed. Directions for future research include automating the method, determining the effect of simultaneous modifications to unrelated control parameters, and detecting dominant control parameters.
On the VAX/VMS time-critical process scheduling
Authors: Wang Y. T. 
Published: January 2007

The VAX/VMS process schedule is briefly described. A simple priority-driven round-robin queuing model is then constructed to analyze the behavior of the time-critical processes of VAX/VMS under such a schedule.
Mean and variance of the conditional response time of a process at a given priority are derived, conditioned on the amount of service time required by that process. Numerical results are given with comparisons to the ordinary priority queuing systems.
Computer system models
Authors: Schwetman Herb 
Published: January 2007

A system model is a tool used to predict system performance under changing conditions. There are two widely used modeling techniques: one based on discrete event simulation and one based on queuing theory models. Because queueing theory models are so much cheaper to implement and use, as compared to simulation models, there is growing interest in them. Users are developing and using queuing theory models to project system performance, project capacity, analyze bottlenecks and configure systems.
This talk uses an operational analysis approach to develop system models. This approach, as presented in Denning and Buzen [1], provides an intuitive basis for analyzing system performance and constructing system models. Very simple calculations lead to estimates of bounds on performance - maximum job throughput rates and minimum message response times. The emphasis is on gaining an understanding of system models which reenforces intuition, not on mathematical formulae.
Several examples are included. References to other works and publications are provided. Application areas and limitations of modeling techniques are discussed.
A queueing network approach to the module allocation problem in distributed systems
Authors: Bryant R. M. , Agre J. R. 
Published: January 2007

Given a collection of distributed programs and the modules they use, the module allocation problem is to determine an assignment of modules to processors that minimizes the total execution cost of the programs. Standard approaches to this problem are based on solving either a network flow problem or a constrained 0-1 integer programming problem.
In this paper we discuss an alternative approach to the module allocation problem where a closed, multiclass queueing network is solved to determine the cost of a particular module allocation. The advantage of this approach is that the execution cost can be expressed in terms of performance measures of the system such as response time. An interchange heuristic is proposed as a method of searching for a good module allocation using this model and empirical evidence for the success of the heuristic is given. The heuristic normally finds module allocations with costs within 10 percent of the optimal module allocation.
Fast, approximate queueing network solution techniques based on mean-value-analysis allow each heuristic search to be completed in a few seconds of CPU time. The computational complexity of each search is O (M K (K + N) C) where M is the number of modules, K is the number of sites in the network, N is the number of communications processors, and C is the number of distributed program types. It appears that substantial problems of this type could be solved using the methods we describe.
Concentrator modeling with pipelining arrivals compensation
Authors: McGregor Patrick V. 
Published: January 2007

A general model of Intelligent Communications Concentrating Devices (ICCD) is presented and analyzed for delay and overflow performance with compensation for the pipelining effect of message arrivals extending over time. The results of the analysis indicate that, for the same trunk utilization, the trend towards buffered terminals with longer messages requires substantially greater buffering in the ICCD. The nominal environment analyzed consisted of 10-40 medium speed terminals (1200 b/s - 9600 b/s) operating over a medium speed trunk (9600 b/s) with trunk utilizations from 20 percent to 80 percent and average message lengths up to 1000 characters. This is a substantially different environment than that typically served by current implementations of ICCDs, which are frequently reported to have throughput improvements of 2-3 times the nominal originating terminal bandwidths, as opposed to the typical factor of 5 for the analyzed environment. This does not reflect on the appropriateness of the ICCDs in serving the new environment, but rather is simply stating that in the new environment the same character volume of traffic may be appearing with different traffic characteristics over higher speed access lines.
If the new environment shows only a difference in traffic characteristics and originating line speed, without change in the traffic control scheme (or lack of scheme), the results indicate essentially reproduction of a large part of the terminal buffering in the ICCD for adequate overflow performance. Alternatively, with smarter terminals, traffic control schemes (flow control) may enable the ICCD to be reduced to an essentially unbuffered “traffic cop,” with the terminal buffering also serving as the shared facility buffering. Several practical implementations of ICCDs have provision for flow control, but require cooperating terminals and hosts. This suggests that ICCD design and application will become more sensitive to the practical operating features of the target environment than has been generally the case to date.
The analysis presented in this paper involves many simplifications to the actual problem. Additional work to accommodate non-exponential message length distributions and heterogeneous terminal configurations are perhaps two of the more immediate problems that may be effectively dealt with.
Performance analysis of local communication loops
Authors: Roehr Kuno M. , Sadlowski Horst 
Published: January 2007

The communication loops analyzed here provide an economical way of attaching many different terminals to a IBM 4331 host processor which may be several kilometers away.
As a first step of the investigation protocol overhead is derived. It consists of request and transmission headers and the associated acknowledgements as defined by the System Network Architecture. Additional overhead is due to the physical layer protocols of the Synchronous Data Link Control including lower level confirmation frames.
The next step is to describe the performance characteristics of the loop attachment hardware, primarily consisting of the external loop station adapters for local and teleprocessing connections and the loop adapter processor.
Data, definition, deduction
Authors: Cox Springer 
Published: January 2007

The theoretical aspects of operational analysis have been considered more extensively than matters of its application in practical situations. Since its relationships differ in their applicability, they must be considered separately when they are applied. In order to do this, the foundations of three such relationships are examined from an empirical point of view.
To further demonstrate the intimate connection between data, definitions, and performance models, the problem of measurement artifact is considered.
A dynamic clustering strategy in a demand paging environment
Authors: Pooch Udo W. 
Published: January 2007

An algorithm is presented which dynamically clusters pages of a problem program based on its past program behavior (i.e. reference string patterns) in a demand paged virtual memory environment. The objective of this algorithm is to minimize the number of page faults during execution, while at the same time use memory page frames efficiently. Dynamic clusters of time and reference related pages are built during a program's execution time.

Whenever a page fault for the i-th page occurs in this time evolving environment, the pages of the cluster associated with the i-th page is compared to the pages currently in real (physical) memory. Thus during this current page fault, the demanded page, and any associated clustered pages not currently in physical memory are placed into memory. Page frames holding pages not in the current cluster are returned to the memory management system. Thus the physical amount of memory allocated to a processing program is dependent upon the size of the associated cluster
at that time
.

Simulation results of program behavior operating under this dynamic clustering strategy indicates that significant improvements in page faults and in the space time product may be achieved. The algorithm requires fewer real page frames per executed instruction than most currently implemented algorithms that utilize a fixed number of page frames per problem programs (i.e. fixed allocated partition or region).
The algorithm, MLMM (Modified Locality Matrix Model), an extension of work by Hedges and Pooch [12] is used to determine inherent program locality to predict independent dynamic program behavior, separating instruction from data references. Furthermore, strength coefficients between weakly or loosely coupled clusters are used to refine the cluster population, identify cluster transitions, as well as indicate the behavior of the cluster formations.
The access control mechanism of a database computer (DBC)
Authors: Menon M. Jaishankar , Hsiao David K. 
Published: January 2007

The database computer (DBC) is a specialized back-end computer which is capable of managing data 10
10
bytes in size and supporting known data models such as relational, network, hierarchical and attribute-based models. It is also perhaps the first database machine to have a built-in security mechanism for access control.

At the outset, the security mechanism was made an integral part of the DBC design. This design philosophy not only allowed us to construct a system that has no “backdoors”, but also ensured that all access requests are, in fact, controlled by DBC's security mechanism. The DBC security mechanism is based on the concept of security atoms, aggregates of data units being definable by the user in terms of conjunctions of query predicates. The fundamental gain in utilizing query conjunctions for the purpose of access control is that any data that is accessible or updateable is also protectable.
It is believed that the DBC security mechanism is less cumbersome than the view mechanism of some database systems and more efficient than the query modification mechanism used by some other systems. This is demonstrated at three levels of access control, namely the subfile, record and field (attribute) levels.
An approach towards information systems with very large numbers of subscribers
Authors: Creutz G. , Kiel F. 
Published: January 2007

The Federal Ministry of Research and Technology (BMFT) took the initiative in starting a project concerning two-way cable television in 1976 at the Heinrich-Hertz-Institute. The two-way cable television provided a model for investigating the possibilities of new screen-orientated, interactive systems for large numbers of subscribers using alpha-numerics, graphics, motion-pictures, and sound.
One of the most important research aspects proved to be the construction of a computer control centre which would cater for this type of hybrid information system.
At present a laboratory model of such a control centre is being developed by the Heinrich-Hertz-Institute in collaboration with the Computer Industry. This model is based on a mini-computer multi-processor system.
High level language programs run ten times faster in microstore
Authors: Baker Henry G. , Parker Clinton 
Published: January 2007

A true microcode compiler for a minicomputer is described which translates an algebraic language directly into executable microcode. The compiler performs extensive optimization and produces code which is a good compromise between speed and size.
This compiler was produced in order to make user microprogramming more accessible to the applications programmer. Several representative programs were compiled, and their run time improved by a factor of ten, on the average.
Using an oracle to measure potential parallelism in single instruction stream programs
Authors: Nicolau Alexandru , Fisher Joseph A. 
Published: January 2007

Horizontally microprogrammable CPUs belong to a class of machines having statically schedulable parallel instruction execution (SPIE machines). Several experiments have shown that within basic blocks, real code only gives a potential speed-up factor of 2 or 3 when compacted for SPIE machines, even in the presence of unlimited hardware. In this paper, similar experiments are described. However, these measure the potential parallelism available using any global compaction method, that is, one which compacts code beyond block boundaries. Global compaction is a subject of current investigation; no measurements yet exist on implemented systems.
The approach taken is to first assume that an oracle is available during compaction. This oracle can resolve all dynamic considerations in advance, giving us the ability to find the maximum parallelism available without reformulation of the algorithm. The parallelism found is constrained only by legitimate data dependencies, since questions of conditional jump directions and unresolved indirect memory references are answered by the oracle. Using such an oracle, we find that typical scientific programs may be sped up by anywhere from 3 to 1000 times. These dramatic results provide an upper bound for global compaction techniques. We describe experiments in progress which attempt to limit the oracle progressively, with the aim of eventually producing one which provides only information that may be obtained by a very good compiler. This will give us a more practical measure of the parallelism potentially obtainable via global compaction methods.
UDSYS a microcode development system
Authors: Beauchamp Robert W. , Firth Neal R. 
Published: January 2007

This paper describes a microcode development system called UDSYS that is currently in use at Data General Corporation across several radically different micro-architectures. The system was developed to overcome some of the deficiencies of meta-assemblers, namely, one-to-one meaning of symbols vs. action, lack of rigorous syntax verification, and lack of application specific error messages. The system is explained by way of a specific example about the sequencer portion of a hypothetical microword.
Microcoding is slowly loosing its status as an artform. Many of the tools available for increasing the productivity of software engineers are now starting to become available for the generation of microcode. There is work being done on machine independent microcoding languages, microcode generators, and microcode optimizers to name but a few such tools. However, many of these tools are still in the developmental stages. At Data General, our current microcode production system took the approach of leaving the optimization in the hands of the coder, but giving him the capability of building a very friendly interface to the hardware.
The system is called UDSYS and this paper presents an overview of some of its major concepts and features.