Publications of Bradley McIntosh Broom

[1] Bradley Broom, Rob Fowler, Ken Kennedy, Charles Koelbel, and Michael Paleczny. Compiler support for out-of-core arrays on parallel machines. In Daniel Reed, editor, Scalable Input/Output, pages 155-174. MIT Press, Cambridge, MA, October 2003.
[ bib ]
[2] K-A Do, B M Broom, and S Wen. Geneclust. In G Parmigiani, ES Garrett, RA Irizarry, and SL Zeger, editors, The analysis of gene expression data: Methods and software. Springer, NY, March 2003.
[ bib ]
[3] J. Mellor-Crummey, V. Adve, B. Broom, D. Chavarria-Miranda, R. Fowler, G. Jin, K. Kennedy, and Q. Yi. Advanced optimization strategies in the Rice dHPF compiler. Concurrency and Computation: Practice and Experience, 14(8-9):741-767, July 2002.
[ bib ]
[4] Bradley Broom, Rob Fowler, and Ken Kennedy. KelpIO: A telescope-ready domain-specific I/O library for irregular block-structured applications. Future Generation Computer Systems, 18(4):449-460, March 2002. Joint best paper in the cluster computing category when presented at the 2001 IEEE International Symposium on Cluster Computing and the Grid.
[ bib ]

To ameliorate the need to spend significant programmer time modifying parallel programs to achieve high-performance, while maintaining compact, comprehensible source codes, this paper advocates the use of telescoping languages technology to automatically apply, during the normal compilation process, high-level performance enhancing transformations to applications using a high-level domain-specific I/O library. We believe that this approach will be more acceptable to application developers than new language extensions, but will be just as amenable to optimization by advanced compilers, effectively making it a domain-specific language extension for I/O.

The paper describes a domain-specific I/O library for irregular block-structured applications based on the KeLP library, describes high-level transformations of the library primitives for improving performance, and describes how a high-level domain-specific optimizer for applying these transformations could be constructed using the telescoping languages framework.

[5] K. Kennedy, B. Broom, K. Cooper, J. Dongarra, R. Fowler, D. Gannon, L. Johnsson, J. Mellor-Crummey, and L. Torczon. Telescoping languages: A strategy for automatic generation of scientific problem-solving systems from annotated libraries. Journal of Parallel and Distributed Computing, 61:1803-1826, December 2001.
[ bib ]

As machines and programs have become more complex, the process of programming applications that can exploit the power of high-performance systems has become more difficult and correspondingly more labor-intensive. This has substantially widened the software gap-the discrepancy between the need for new software and the aggregate capacity of the workforce to produce it. This problem has been compounded by the slow growth of programming productivity, especially for high-performance programs, over the past two decades.

One way to bridge this gap is to make it possible for end users to develop programs in high-level domain-specific programming systems. In the past, a major impediment to the acceptance of such systems has been the poor performance of the resulting applications. To address this problem, we are developing a new compiler-based infrastructure, called TeleGen, that will make it practical to construct efficient domain-specific high-level languages from annotated component libraries. These languages are called telescoping languages, because they can be nested within one another.

For programs written in telescoping languages, high performance and reasonable compilation times can be achieved by exhaustively analyzing the component libraries in advance to produce a language processor that recognizes and optimizes library operations as primitives in the language. The key to making this strategy practical is to keep compile times low by generating a custom compiler with extensive built-in knowledge of the underlying libraries. The goal is to achieve compile times that are linearly proportional to the size of the program presented by the user, rather than to the aggregate size of that program plus the base libraries.

[6] Kim-Anh Do, Bradley M. Broom, and Xuemei Wang. Importance bootstrap resampling for proportional hazards regression. Communications in Statistics-Theory and Methods, 30(10):2173-2188, August 2001.
[ bib ]
[7] K-A. Do, B. M. Broom, P. Kuhnert, D. L. Duffy, A. A. Todorov, S. A. Treloar, and N. G. Martin. Genetic analysis of the age of menopause by using estimating equations and bayesian random effects models. Statistics in Medicine, 19(9):1217-1235, 2000.
[ bib | http ]

Multi-wave self-report data on age at menopause in 2182 female twin pairs (1355 monozygotic and 827 dizygotic pairs), were analysed to estimate the genetic, common and unique environmental contribution to variation in age at menopause. Two complementary approaches for analysing correlated time-to-onset twin data are considered: the generalized estimating equations (GEE) method in which one can estimate zygosity-specific dependence simultaneously with regression coefficients that describe the average population response to changing covariates; and a subject-specific Bayesian mixed model in which heterogeneity in regression parameters is explicitly modelled and the different components of variation may be estimated directly. The proportional hazards and Weibull models were utilized, as both produce natural frameworks for estimating relative risks while adjusting for simultaneous effects of other covariates. A simple Markov chain Monte Carlo method for covariate imputation of missing data was used and the actual implementation of the Bayesian model was based on Gibbs sampling using the freeware package BUGS.
[8] P. Ashley, B. Broom, and M. Vaudenwauver. An implementation of a secure version of NFS including REBAC. Australian Computer Journal, May 1999.
[ bib ]

The NFS protocol provides transparent remote access to shared file systems across networks. It is very popular particularly in Unix networks where it is probably the most common distributed file system technology. NFS however is rarely used outside closed protected networks, because its security is notoriously weak. In 1998 Sun Microsystems released what is considered the first attempt at providing comprehensive security to NFS: a security flavour called RPCSEC.GSS based on Kerberos V5 and the GSS-API. The main benefit of this version over previous versions is that for the first time each NFS file access call can be protected. This paper outlines our efforts to secure NFS producing a security solution with even greater functionality. The major new functionality is that users may optionally use an access control system based on role based access control (RBAC). RBAC allows users to log in, be provided with a role, and use this to transparently access their remote files through secure NFS. There are also other advantages provided, for example security for the mount protocol and the option of public-key technology for authentication and key distribution. NFS has been secured with SESAME V4 and the practicality and performance of this mechanism has been demonstrated by modifying the Linux kernel and NFS utilities.
[9] Bradley Broom and Paul Ashley. A SESAME Linux environment. In Proceedings of the AUUG'98 Conference, pages 123-131, Sydney, Australia, September 1998. AUUG.
[ bib ]

SESAME is a new security architecture compatible with Kerberos but with a number of additional features. These include authentication (user and entity) using public key technology, an access control service based on role based access control (RBAC), delegation of privileges, multi-domain support again using a public key model, and an extensive auditing service. To investigate the usefulness of SESAME for providing a solution for network security, we have endevoured to build a SESAME Linux environment. This paper outlines the results of our efforts. During the process we built a sesamized version of the XDM program, and also secured the common Unix applications telnet, rTools, RPC and NFS. A description of the sesamized applications is given as well as performance results for each application.
[10] Paul Ashley, Mark Vandenwauver, and Bradley Broom. A uniform approach to securing Unix applications using SESAME. In Colin Boyd and Ed Dawson, editors, Proceedings of the Third Australian Conference on Information Security and Privacy, number 1438 in Lecture Notes in Computer Science, pages 24-35, Brisbane, Australia, July 1998.
[ bib ]

Existing proposals for adding cryptographic security mechanisms to Unix have secured numerous individual applications, but none provide a comprehensive uniform approach. As a consequence an ad-hoc approach is required to fully secure a Unix environment resulting in a lack of interoperability, duplication of security services, excessive administration and maintenance, and a greater potential for vulnerabilities.

SESAME is a comprehensive security architecture, compatible with Kerberos. In particular, SESAME provides single or mutual authentication using either Kerberos or public-key cryptography, confidentiality and integrity protection of data in transit, role based access control, rights delegation, multi-domain support and an auditing service. Because of SESAME's comprehensive range of security services, and because it scales well, SESAME is well suited for securing potentially all Unix applications in a uniform manner.

[11] N. Richter and B. Broom. A system for fast installation of Linux and Windows/NT. In AUUG Queensland Technical Conference, Brisbane, Australia, April 1998.
[ bib ]
[12] Paul Ashley and Bradley Broom. System administration: Securing networked applications with SESAME. Linux Journal, January 1998.
[ bib ]

This article describes the SESAME Security Architecture and how it can be used to secure your networked applications.
[13] P. Ashley and B. Broom. A secure multi-domain file system using NFS and SESAME. In Proceedings of the AUUG'97 Conference, pages 81-89, Brisbane, Australia, September 1997.
[ bib ]
[14] P. Ashley and B. Broom. A survey of secure multi-domain distributed architectures. Technical Report FIT-TR-97-08, Queensland University of Technology, Faculty of Information Technology, Brisbane, Australia, August 1997.
[ bib ]

Security in a modern distributed computing system is becoming more and more important. Users want to securely access remote resources both in the local domain and across multi-domains. Recently, a number of new architectures for securing a distributed system have been proposed. This paper outlines the issues important to securing a multi-domain distributed system and surveys a number of secure distributed architectures. The architectures surveyed include SESAME (Secure European System For Applications in a Multivendor Environment), Kerberos, Yaksha, KryptoKnight, DCE (Distributed Computing Environment), and DSSA (Distributed System security Architecture). For each architecture an outline of its strengths and limitations is included.
[15] P. Ashley and B. Broom. An implementation of the SESAME security architecture for Linux. In AUUG Queensland Technical Conference, Brisbane, Australia, April 1997.
[ bib ]
[16] A. T. A. Wood, Kim-Anh Do, and B. M. Broom. Sequential linearization of empirical likelihood constraints with application to U-statistics. Journal of Computational and Graphical Statistics, 5(4):365-385, December 1996.
[ bib ]
[17] G. Gaskell and B. Broom. On the recent attacks against WWW systems. In Queensland Summer AUUG Conference, Brisbane, Australia, April 1996.
[ bib ]
[18] B. Broom. File system enhancements for cross-domain file sharing. In Australian Unix Users Conference, Melbourne, Australia, September 1996.
[ bib ]
[19] R. McArthur, B. Broom, M. Middleton, and S. Willie. Experiences with internet client software in a university IT faculty. In First Australian World Wide Web conference, Ballina, Australia, April 1995.
[ bib | http ]
[20] B. Broom. Performance measurement of the Acacia parallel file system for the AP1000 multicomputer. In Proceedings of the Second Parallel Computing Workshop, Kawasaki, Japan, November 1993.
[ bib ]

Acacia is a parallel file system being developed at the Australian National University for the AP1000 multi-computer. Acacia automatically distributes data across multiple disks attached to the AP1000 and caches recently used data, although the user can explicitly control the way file data is accessed and distributed.

Unlike systems in which the I/O nodes and compute nodes are disjoint, Acacia uses the option disks attached directly to a subset of the compute nodes within the AP1000. Processing of I/O requests is divided between the node that initiates the request, the node on which the data is potentially cached, and the node on which it is read from or stored to disk. In the current version of the disk option software, disk accesses are synchronous precluding the use of prefetching or write behind.

This paper presents performance measurements of the Acacia File System running on the 128 node / 32 option AP1000 installed at the Australian National University. The study includes measurements of read / write rates from one compute node to one disk, one compute node to multiple disks, and multiple compute nodes to multiple disks. Additional measurements show the effects of different buffer sizes and caching on system performance.

[21] B. Broom. User-mode per-process name spaces for the AP1000 file system. Technical Report TR-CS-93-08, Australian National University, Department of Computer Science, Canberra, Australia, September 1993.
[ bib ]

The perceived simplicity of inter-process cooperation is strongly influenced by the type of name space in which the processes involved execute. If multiple processes share a common name space, they are more likely to cooperate effectively than if each operates in a distinct name space. This paper argues that, especially where specialized resources, such as a supercomputer, are involved, per-process name spaces are the optimum way to provide common name spaces across arbitrary domain boundaries. This paper also argues that such name spaces are best implemented in user mode. The user-mode per-process name spaces supported by the AP1000 File System are then described, as are some of the file system types supported on the AP1000. The performance implications of the user-mode implementation are also examined.
[22] T. Vickers and B. Broom. On teaching a Unix window interface in first year. In Proceedings of the 16th Australian Computer Science Conference, Brisbane, Australia, February 1993.
[ bib ]
[23] Bradley M Broom. A synchronous file server for distributed file systems. In Proceedings of the Sixteenth Australian Computer Science Conference, volume B, pages 501-512, Brisbane, Australia, February 1993.
[ bib ]
[24] David Walsh, Peter Bailey, and Bradley M. Broom. Message domains: Efficient support for layered message passing software. In Proceedings of the Third Fujitsu-ANU CAP Workshop, Kawasaki, Japan, November 1992.
[ bib ]

A scheme for message communication over specified domains has been developed and implemented for the AP1000. Domains provide a higher level grouping of messages where generic message typing is not sufficient to support abstracted software layers.

The implementation is efficient in the sense that each domain has its own message queue, eliminating the need for searching queues on domain keys. Additional advantages of domains are also discussed.

[25] Gerald Mutisya and Bradley M. Broom. Distributed caching algorithms for the AP1000. In Proceedings of the Third Fujitsu-ANU CAP Workshop, Kawasaki, Japan, November 1992.
[ bib ]

With the advent of massively parallel multi-computers and their immense computational power, there is an increasing need to build high-performance systems that will be able to match the I/O requirements of these computers. In the computing environment, the file system is the most widely used I/O related system. File systems for multi-computers will therefore have to use whatever means possible to boost their performance. One such performance-boosting technique is the use of file caching.

The Fujitsu AP1000 is a distributed memory multi-computer with a high-performance network. The Acacia file system is a parallel distributed file system for the AP1000, and this paper describes a distributed caching scheme aimed at improving performance of Acacia with the AP1000.

This paper describes a data distribution scheme which uses a single ownership protocol. The distribution algorithm does not use data replication and makes use of inter-cache communication to ensure atomicity of accesses to data spanning more than one server. The paper also presents performance figures for this caching scheme and these figures show the algorithm to be fairly scalable.

[26] Berin F. Lautenbach and Bradley M. Broom. A parallel file system for the AP1000. In Proceedings of the Third Fujitsu-ANU CAP Workshop, Kawasaki, Japan, November 1992.
[ bib ]

Acacia is a high performance parallel file system being developed at the Australian National University for the Fujitsu AP1000 multi-computer. For application portability, basic file access is via a high performance UNIX compatible I/O library.

To achieve the best I/O performance, however, the application developer can use an extended file system interface to express their application's file access parallelism. This paper describes the extensions provided by Acacia to the file system interface, and briefly summarises the file system's implementation.

[27] B. Broom. Implementation and performance of the Acacia file system. In Proceedings of the Second Fujitsu-ANU CAP Workshop, Canberra, Australia, November 1991.
[ bib ]

The Acacia file system is a distributed file system for the Fujitsu AP1000 multi-computer. The current implementation of Acacia allows users to create files either on disks attached to the AP1000's host computer or on (virtual) disks attached to a cell within the AP1000.

This paper describes the file system's current implementation, and analyses the performance of both the file system and its components. Finally, it outlines the direction of future research and experimentation, which will be based on the current implementation.

[28] J. Welsh, B. Broom, and D. Kiong. A design rationale for a language-based editor. Software-Practice & Experience, 21(9):923-948, September 1991.
[ bib ]

This paper reviews the design issues that arise in the construction of effective language-based editors for the preparation of syntactically and static semantically correct language sentences, typically computer programs. The need for such editors to support a pluralistic view of program structure is identified, together with the need to observe the constraints on performance and storage consumption if such editors are to be accepted by professional programmers. From these basic needs, more specific requirements for the display, parsing and semantic checking components of such an editor are derived.
[29] B. Broom and J. Welsh. Display techniques for language-based editors. Technical Report Technical Report 198, University of Queensland, Department of Computer Science, Brisbane, Australia, 1991.
[ bib ]

This paper [describes the techniques used to provide] the display of a language-based editor, such as the [one described in a companion paper]. The techniques described include an extension [of a detail-suppression algorithm] to provide limited context display and nested [context suppression, a distance] suppression algorithm for additional view compression, [and an incremental formulation of] both algorithms to achieve real time response during [interactive use]. (Text is brackets has been guessed at; the photocopy I have was made with a post-it over the centre of the abstract.)
[30] Bradley M. Broom and Robert Cohen. Acacia: a distributed, parallel file system for the CAP-II. In Proceedings of the First Fujitsu-ANU CAP Workshop, Kawasaki, Japan, November 1990.
[ bib ]

This paper proposes a distributed, parallel file system, called Acacia, for the CAP-II distributed memory computer. We describe the file system operations provided by Acacia, the rationale for those operations, and our strategy for implementing Acacia on the CAP-II.
[31] B. Broom, J. Welsh, and L. Wildman. UQ2: a multilingual document editor. In Proceedings of the Fifth Australian Software Engineering Conference, pages 289-294, Sydney, Australia, May 1990.
[ bib ]

The design of a language-based editor for the preparation, modification and inspection of multilingual software-related documents is described
[32] B. Broom, J. Welsh, and L. Wildman. A literate rigorous program case study. In Proceedings of the Fifth Australian Software Engineering Conference, pages 321-326, Sydney, Australia, May 1990.
[ bib ]

This paper demonstrates a literate programming style that emphasises the close interleaving of program modules and their formal specifications, as supported by the UQ2 multilingual syntax-directed editor. The body of the paper is a formally documented module from UQ2's own implementation.
[33] B. Broom and J. Welsh. Another approach to literate programming. In Proceedings of the 11th Australian Computer Science Conference, pages 257-268, Brisbane, Australia, February 1988.
[ bib ]
[34] B. Broom. Aspects of Interactive Program Display. PhD thesis, University of Queensland, Department of Computer Science, September 1987.
[ bib ]

Recently, syntax-directed editors have been developed for the input and modificcation of computer programs. These editors use knowledge of the lexical, syntactic and sometimes the semantic rules of the programming language to assist the user in achieving a linguistically correct program. Most research into syntax-directed editors has concentrated on issues concerned with the technical problems involved in incremental reparsing and incremental semantic evaluation during program modification. Editors, however, are also used extensively for interactive program inspection, yet limited attention has been given to the use of syntactic information to enhance interactive display and inspection facilities. This thesis makes a detailed study of textual display generation in syntax-directed editors, and in particular the use of syntactic information to enhance interactive program display.

A range of display and program inspection features are proposed, and, where necessary, algorithms for generating the desired display are described. The proposed display and program inspection facilities maintain a single view of the structure of the programming language concerned, a view that is consistent with the structural aspects of the user's program model, and with the display's textual influence on that model. A language-independent, incremental display generation process is described, which adapts the program format to the available display width. A three-tiered approach to suppressing detail within the displayed program construct is described, which is compatible with user's textual model and avoids some undesirable side-effects of detail suppression strategies. A commenting strategy designed to meet the requirements of both familiar and unfamiliar readers and facilities for supporting such comments in a syntax-directed editor are described.

In summary, this thesis shows that syntax-directed editors can take better advantage of a program's syntactic structure to improve the effectiveness of its textual display.

[35] Brad Broom. A distributed syntax-directed editor. In Proceedings of the 10th Australian Computer Science Conference, pages 116-125, Deakin, Australia, February 1987.
[ bib ]

This paper describes a syntax-directed editor for a programmable, bit-mapped terminal connected to a time-shared host. The discussion concentrates on the partitioning of the system between the host and terminal.
[36] B. Broom and J. Welsh. Detail compression techniques for interactive program display. In Proceedings of the 9th Australian Computer Science Conference, pages 83-93, Canberra, Australia, February 1986.
[ bib ]

Software tools that display programs on a terminal screen are widely used. Because of the limited display area on the screen such tools must provide some means of displaying those sections of the program that are of current interest to the user. A scrolled window prevents two parts of the program separated by more than the display length to be viewed simultaneously, which is a significant restriction.

We show that other display techniques are feasible, and consider possible ways of achieving the necessary detail suppression.


This file has been generated by bibtex2html 1.54