@inproceedings(DECALS95, author = "A. Hubbard and C.M. Woodside and C. Schramm", title = "{DECALS}: Distributed Experiment Control and Logging System", booktitle = "Proc. of {CASCON}'95, Meeting of Minds", address = "Toronto, Canada", month = "November", year = 1995, postscript = "http://www.sce.carleton.ca/ftp/pub/rads/decals95.ps.Z", abstract = "In developing distributed applications and services, such as DCE, X.500, CORBA, ANSA, or SUN/ONC, there is a need to be able to set up and run tests on certain processes. The tests might be to obtain performance data, to test the processes' behaviour, or to evaluate a management strategy. Common requirements are:
DECALS is a system of a half a dozen or so processes which support the testing of distributed applications consisting of many processes on a network. There may be any number of experiments; in each experiment a set of processes is loaded on specified workstations, and each process is initialized with data for the particular experiment using command line arguments. The configuration of the experiment, and the data state of the processes, can thus be controlled down to any level of detail, as desired. The nerve center of DECALS is an ``experiment controller'' process which communicates with each application process (or ``process under test'', POT) either directly or through an agent which it creates on each workstation.
DECALS provides global control over the running of the experiment and the collection of data. The data is collected both from probes installed in the application's source code, and from instrumented operating system primitives. The present system collects data in the form of a separate list of events for each workstation. Events are timestamped by clock values local to the workstation on which the list was made. The lists of events are adjusted for time, and merged, in a postprocessing step. A mechanism is provided for handling the often troublesome problem of tracking the time differences between workstation clocks.
As an example of the usefulness of DECALS, we will describe a how it can be used to create a synthetic workload of processes on a network, which can simulate a system for experiments on network management." ) @article(NICE94, author = "C. Schramm and C.M. Woodside", title = "Complex Performance Measurements with {NICE} ({Notation for Interval Combinations and Events})", journal = "Software Practice and Experience", volume = "24", number = "12", pages = "1121--1144", month = "December", year = 1994, postscript = "http://www.sce.carleton.ca/ftp/pub/rads/NICE94.ps.Z", abstract = "This paper presents a notation for extracting complex performance measurements of parallel software from an event log. NICE defines a ``complex interval'' as a sequence of events in the event log which match a rather general template using an Interval Monitor Process (IMP). The IMP process model combines an extended FSM with parameterized event descriptors to provide a generalized description of a sequence of subintervals each one of which may be measured for duration An interval matching algorithm provides a strategy for distributing the events in the log to multiple concurrent IMPS, thereby handling interval occurrences which overlap and/or share the same event. Practical issues of implementing and using NICE are addressed in a discussion of our performance monitoring tool called Finale." ) @inproceedings(decomposition93, author = "Y. Li and C. M. Woodside", title = "Complete Decomposition of Stochastic {Petri Nets} Representing Generalized Service Networks", booktitle = "IEEE Trans. on Computers", month = "March", year = 1995 ) @article(SRVN95, author = "C.M. Woodside and J.E. Neilson and D.C. Petriu and S. Majumdar", title = "The Stochastic Rendezvous Network Model for Performance of Synchronous Client-Server-like Distributed Software", journal = "IEEE Transactions on Computer", volume = "44", number = "1", pages = "20--34", month = "January", year = 1995, postcript = "http://www/sce.carleton.ca/ftp/pub/rads/srvn95.ps.Z", abstract = "Distributed or parallel software with synchronous communication via rendezvous is found in client-server systems and in proposed Open Distributed Systems, in implementation environments such as Ada, V, Remote Procedure Call systems, in Transputer systems, and in specification techniques such as CSP, CCS and LOTOS.
The delays induced by rendezvous can cause serious performance problems, which are not easy to estimate using conventional models which focus on hardware contention, or on a restricted view of the parallelism which ignores implementation constraints. Stochastic Rendezvous Networks are queueing networks of a new type which have been proposed as a modelling framework for these systems. They incorporate the two key phenomena of {\em included service} and a {\em second phase of service}. This paper extends the model to also incorporate different services or {\em entries} associated with each task. Approximations to arrival-instant probabilities are employed with a Mean-Value Analysis framework, to give approximate performance estimates.
The method has been applied to moderately large industrial software systems." ) @inproceedings(ROPE, author = "Y.H. Thia and C.M. Woodside", title = "A Reduced Operation Protocol Engine {(ROPE)} for a Multiple-Layer Bypass Architecture", booktitle = "Proc. 4th {IFIP} Workshop on Protocols for High Speed Networks", pages = "203--218", month = "August", year = 1994 ) @inproceedings(ANGIO95, author = "C. Hrischuk and J.A. Rolia and C.M. Woodside", title = "Automatic Generation of a Software Performance Model Using an Object-Oriented Prototype", booktitle = "Proc. of Third Int. Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems {(MASCOTS '95)}", address = "Durham, NC", pages = "399--409", month = "January", year = 1995, postscript = "http://www.sce.carleton.ca/ftp/pub/rads/syncWthread.ps.Z", abstract = "Early performance estimates for a new software system aid the design process by providing feedback when design decisions can be easily revised. Unfortunately, constructing a performance model of a distributed and concurrent software system can require significant effort. We propose an approach that reduces the model building effort by providing easy specification of performance test cases, empirical estimates for model parameters, automated model generation, and support for different types of models. A prototype is used to describe an object- based system, for which causal traces (angio traces) are recorded during execution. The traces are then processed into sequences of resource demands (workthreads), aggregated into system execution descriptions (workthread classes), and combined to generate performance models. The technique can also be applied at other stages of the development process, including the redesign of existing software." ) @inproceedings(TINA95, author = "P.P. Jogalekar and G. Boersma and R. {MacGillivray} and C.M. Woodside", title = "{TINA Architectures and Performance: A Telepresence Case Study}", booktitle = "Proceedings of TINA '95", address = "Melbourne, Australia", pages = "415--430", month = "February", year = 1995, abstract = "TINA is a distributed computing framework based on Open Distributed Processing which is targeted partly towards management of telecommunications services. This paper is partly a TINA case study and partly an examination of how performance can be addressed during design of a TINA system. The case study part examines a recently developed software suite which manages a telepresence system with video connections, video services and sources, and conference management services. The software was designed without using TINA, but here it is re-interpreted within TINA definitions and concepts. Then a performance assessment framework is described, with the results of performance tests, a model, and an analysis of system scale-up properties based on the model. From the example some lessons are drawn about how performance assessment should be done. Our long-term goal is a method for assessment of performance problems at an early stage in development of distributed software." ) @inproceedings(bounds-MVA, author = "S. Majumdar and R. Ramadoss", title = "Interval-Based Performance Analysis of Computing Systems", booktitle = "Proc. of the Third Int. Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems {(MASCOTS'95)}", address = "Durham, N.C.", pages = "345--351", month = "January", year = 1995 ) @inproceedings(IPC94, author = "Y.M. Leung and S. Majumdar", title = "The Effect of Inter-Process Communication on Scheduling in Multiprogrammed Distributed Memory Systems", booktitle = "Parallel Processing -- Proc. of First Int. Workshop on Parallel Processing", address = "Bangalore, India", pages = "474--481", month = "December", year = 1994 ) @inproceedings(Par94, author = "S. Majumdar and Y.M. Leung", title = "Characterizing Applications with I/O for Processor Scheduling in Multiprogrammed Parallel Systems", booktitle = "Proc. Sixth IEEE Symposium on Parallel and Distributed Processing", address = "Dallas, TX", pages = "298--307", month = "October", year = 1994 ) @inproceedings(xtg94, author = "G.M. Karam", title = "Visualization using Timelines", booktitle = "International Symposium on Software Testing and Analysis {(ISSTA)}", address = "Seattle, WA", month = "August", year = 1994 ) @article(Tools95, author = "Franks, Greg and Hubbard, Alex and Majumdar, Shikharesh and Petriu, Dorina and Rolia, Jerome and Woodside, Murray", title = "A Toolset for Performance Engineering and Software Design of Client-Server Systems", journal = "Performance Evaluation", year = 1995, volume = 24, number = "1--2", pages = "117--135", issn = "0166-5316", callno = "QA402.A1P4", month = nov, note = "Also as technical report {SCE}-94-14, June 1994.", postscript = "http://www.sce.carleton.ca/ftp/pub/rads/tools95.ps.Z", annote = "TimeBench/SRVN is a prototype toolset for computer-aided design and performance analysis of software, with an emphasis on distributed client-server systems. The novelty of the tool consists in providing support both for developing design specifications and also for performance analysis. The integrated approach avoids the semantic gap between a designer's domain and the performance modeling domain, and assists the designer to explore factors that impact the performance of a design. TimeBench/SRVN is intended as a demonstration of the concept of an integrated designer/performance interface, and as a research environment for fast analytic solvers for the models. Besides a simulation solver, it offers three approximate analytic solvers based on recent research, a Markovian solver, a technique for finding bounds on the throughput without too many assumptions, and a tool for rapidly exploring the space of possible parameter values." ) @article(CORDS94, author = "M.A. Bauer and P.J. Finnigan and J.W. Hong and J.A. Rolia and T.J. Teorey and G.A. Winters", title = "Reference Architecture for Distributed Systems Management", journal = "{IBM} Systems Journal", volume = "33", number = "3", pages = "426--444", year = 1994 ) @inproceedings(FORTE95, author = "D. Amyot and F. Bordeleau and R.J.A. Buhr and L. Logrippo", title = "Formal Support for Design Techniques: A {Timethreads-LOTOS} Approach", booktitle = "Proc. of 8th Intl. Conf. on Formal Description Techniques for Distributed Sustems and Communications Protocols ({FORTE95})", pages = "40--56", month = "October", year = 1995 ) @article(SOFTCAD, author = "R.J.A. Buhr and G.M. Karam and C.J. Hayes and C.M. Woodside", title = "Software {CAD}: A Revolutionary Approach", journal = "Trans. on Software Engineering", volume = "15", number = "3", pages = "235--249", month = "March", year = 1989 ) @book(UCM95, author = "R.J.A. Buhr and R.S. Casselman", title = "High-Level Design of Object-Oriented and Real-Time Systems: A Unified Approach with Use Case Maps", publisher = "Prentice Hall", year = 1995 ) @book(buhr90, author = "R.J.A. Buhr", title = "Practical Visual Techniques in System Design", publisher = "Prentice Hall", year = 1990 ) @article(ACTSERV, author = "C.M. Woodside and E. Neron and E.D.S. Ho and B. Mondoux", title = "An ``Active-Server'' Model for the Performance of Parallel Programs Written Using Rendezvous", journal = "J. Systems and Software", year = 1986, pages = "125--131" ) @article(MOL95, author = "J.A. Rolia and K.C. Sevcik", title = "The Method of Layers", journal = "IEEE Trans. on Software Engineering", volume = "21", number = "8", pages = "689--700", month = "August", year = 1995 ) @article(LazyBoss, author = "J.A. Rolia", title = "Performance Estimates For Systems With Software Servers: The Lazy Boss Method", journal = "{Proceedings VIII SCCC International Conference on Computer Science}", address = "{Catholic University of Chile, Santiago, Chile}", pages = "25--43", month = "July", year = 1988 ) @inproceedings(TDAmcSIGM, author = "Petriu, D. C.", title = "Approximate Mean Value Analysis of Client--Server systems with Multi-class requests", booktitle = "Proc. of ACM SIGMETRICS'94, Performance Evaluation Review, Vol.22, No.1", pages = "77--86", month = "May", year = 1994 ) @inproceedings(dass95, author = "G. Hills and J.A. Rolia and G. Serazzi", title = "Performance Engineering of Distributed Software Process Architectures", booktitle = "Proc. of the Performance Tools/{MMB} 1995", address = "Germany", month = "September", year = 1995 ) @inproceedings(roliametrics94, author = "J.A. Rolia and B. Lin", title = "Consistency Issues in Distributed Application Performance Metrics", booktitle = "Proc. of CASCON'94", address = "Toronto, Canada", month = "October", year = 1994 ) @inproceedings(priority95, author = "D.C. Petriu and S. Chen", title = "Approximate {MVA} for Client-Server Systems with Nonpreemptive Priority", booktitle = "Proc. of Int. Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems ({MASCOTS '95})", pages = "155--162", month = "January", year = 1995 ) @techreport(CM96, author = "C. E. Hrischuk and C.M. Woodside", title = "Proper Time: Causal and Temporal Relations of a Distributed System", institution = "Systems and Computer Engineering, Carleton University", year = 1996, month = mar, number = "SCE-96-04", postscript = "http://www.sce.carleton.ca/ftp/pub/rads/proper.ps.Z", adress = "Ottawa, Ontario, Canada, {http://www.sce.carleton.ca/rads/rads.html}", note = "Submitted to IEEE Transactions on Parallel and Distributed Systems", abstract = "This paper introduces a new logical clock approach for distributed systems that is called proper time. In proper time events are ordered causally using two reasonable assumptions as axioms. The axioms lead to a causal relation between events we term a visibility relation. Informally, the visibility relation identifies if one event was necessary for another event to occur. The visibility relation includes the well-known `happened before' temporal relation. Proper time has two logical clocks to characterize causality: (i) a local logical clock (called a task execution graph) for each concurrent software component and (ii) a system level logical clock (called a distributed response graph or DReG). The DReG is a linear time, non-interleaving model of the execution of concurrent software components. The DReG also includes semantic information about how the software components interact or communicate. The causal information of proper time has been used for automatically constructing predictive performance models of a distributed system." ) @techreport(TDAhol, author = "D.C. Petriu and Songtao Chen", title = "Approximate MVA for Client--Server Systems with Nonpreemptive Priority", number = "SCE-94-20", institution = "Carleton University", month = "July", year = 1994 ) @techreport(Tt94, author = "F. Bordeleau and M. Locas", title = "Timethread-Centered Design Process, A Study on Transformation Techniques and a Telephone System Case Study", institution = "Dept. of Systems and Computer Engineering, Carleton University", type = "Report {SCE}-94-18", month = "July", year = 1994 ) @techreport(boundsQ94, author = "S. Majumdar and C.M. Woodside", title = "Robust Bounds and Throughput Guarantees for General Closed Multiclass Queueing Networks", institution = "Dept. of Systems and Computer Engineering, Carleton University", type = "Report {SCE-94-05}", month = "January", year = 1994 ) @techreport(techrpt94, author = "S. Majumdar and R. Ramadoss", title = "Interval-Based Performance Analysis of Computing Systems", institution = "Dept. of Systems and Computer Engineering, Carleton University", type = "Report {SCE-94-22}", month = "July", year = 1994 ) @mastersthesis(liu-thesis, author = "Jennifer Liu", title = "Performance Analysis of Concurrent Object-Oriented Systems", school = "Carleton University", address = "Ottawa, Canada K1S 5B6", month = "January", year = 1995 ) @mastersthesis(ramadoss94, author = "Revathy Ramadoss", title = "Interval-Based Performance Analysis of Computing Systems", school = "Carleton University", address = "Ottawa, Canada K1S 5B6", month = "December", year = 1994 ) @mastersthesis(curtis94, author = "C.E. Hrischuk", title = "The Automatic Generation of Software Performance Models from a Prototype", school = "Carleton University", address = "Ottawa, Canada K1S 5B6", month = "December", year = 1994, postscript = "http://www.sce.carleton.ca/ftp/pub/rads/workthreads.ps.Z", abstract = "Early performance estimates for a new software system aid the design process by providing feedback when design decisions can be easily revised. Unfortunately, constructing a performance model of a distributed and concurrent software system can require significant effort. An automated performance model generation technique is described that reduces the model building effort by providing: easy specification of performance experiments, empirical estimates for model parameters, automated model generation, and support for different types of models. A prototype is used to describe a software system, from which causal traces (angio traces) are recorded during execution. These traces are then processed into sequences of resource demands (workthreads), aggregated into system execution descriptions (workthread classes), and combined to generate a performance model. The technique can also be applied at other stages of the development process, including the redesign of existing software." )